diff --git a/build/custom/README.md b/build/custom/README.md new file mode 100644 index 000000000..042cba3e4 --- /dev/null +++ b/build/custom/README.md @@ -0,0 +1,27 @@ +Custom Builds +============= + +Any **one** of these can be used in place of [phaser.js](../phaser.js): + +- phaser-arcade-physics.js +- phaser-no-physics.js +- phaser-minimum.js + +Any one of these **sets** can be used in place of [phaser.js](../phaser.js): + +Browserify / CommonJS +--------------------- + +1. p2.js +1. pixi.js +1. phaser-split.js + +Creature +-------- + +1. creature.js +1. p2.js +1. pixi.js +1. phaser-creature.js + +You can also [make your own custom build](http://phaser.io/tutorials/creating-custom-phaser-builds). diff --git a/build/custom/creature.min.js b/build/custom/creature.min.js index 28af9dbd1..683c25c3f 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ function dualQuat(){this.real=quat.create(),this.real[Q_W]=0,this.imaginary=quat.create(),this.imaginary[Q_W]=0,this.tmpQ1=quat.create()}function MeshBone(t,e,r,n){this.key=t,this.world_rest_angle=0,this.rest_parent_mat=mat4.create(),this.rest_parent_inv_mat=mat4.create(),this.rest_world_mat=mat4.create(),this.rest_world_inv_mat=mat4.create(),this.bind_world_mat=mat4.create(),this.bind_world_inv_mat=mat4.create(),this.parent_world_mat=mat4.create(),this.parent_world_inv_mat=mat4.create(),this.local_rest_start_pt=null,this.local_rest_end_pt=null,this.setRestParentMat(n,null),this.setLocalRestStartPt(e),this.setLocalRestEndPt(r),this.setParentWorldInvMat(mat4.create()),this.setParentWorldMat(mat4.create()),this.local_binormal_dir=vec3.fromValues(0,0,1),this.tag_id=0,this.children=[]}function MeshRenderRegion(t,e,r,n,a,i,s){this.store_indices=t,this.store_rest_pts=e,this.store_uvs=r,this.use_local_displacements=!1,this.use_post_displacements=!1,this.use_uv_warp=!1,this.uv_warp_local_offset=vec2.fromValues(0,0),this.uv_warp_global_offset=vec2.fromValues(0,0),this.uv_warp_scale=vec2.fromValues(1,1),this.start_pt_index=n,this.end_pt_index=a,this.start_index=i,this.end_index=s,this.main_bone=null,this.local_displacements=[],this.post_displacements=[],this.uv_warp_ref_uvs=[],this.normal_weight_map={},this.fast_normal_weight_map=[],this.fast_bones_map=[],this.relevant_bones_indices=[],this.use_dq=!0,this.tag_id=-1,this.initUvWarp()}function MeshRenderBoneComposition(){this.root_bone=null,this.bones_map={},this.regions=[],this.regions_map={}}function MeshBoneCache(t){this.key=t}function MeshDisplacementCache(t){this.key=t,this.local_displacements=[],this.post_displacements=[]}function MeshUVWarpCache(t){this.uv_warp_global_offset=vec2.create(),this.uv_warp_local_offset=vec2.create(),this.uv_warp_scale=vec2.fromValues(-1,-1),this.key=t,this.enabled=!1}function MeshBoneCacheManager(){this.is_ready=!1,this.bone_cache_table=null,this.bone_cache_data_ready=null,this.bone_cache_table=[],this.bone_cache_data_ready=[]}function MeshDisplacementCacheManager(){this.is_ready=!1,this.displacement_cache_table=null,this.displacement_cache_data_ready=null,this.displacement_cache_table=[],this.displacement_cache_data_ready=[]}function MeshUVWarpCacheManager(){this.is_ready=!1,this.uv_cache_table=null,this.uv_cache_data_ready=null,this.uv_cache_table=[],this.uv_cache_data_ready=[]}function Creature(t,e){this.total_num_pts=0,this.total_num_indices=0,this.global_indices=null,this.global_pts=null,this.global_uvs=null,this.render_pts=null,this.render_colours=null,this.render_composition=null,this.boundary_indices=[],this.boundary_min=vec2.create(),this.boundary_max=vec2.create(),this.anchor_point_map={},this.anchor_points_active=!1,this.LoadFromData(t,e)}function CreatureAnimation(t,e){this.name=e,this.bones_cache=new MeshBoneCacheManager,this.displacement_cache=new MeshDisplacementCacheManager,this.uv_warp_cache=new MeshUVWarpCacheManager,this.cache_pts=[],this.fill_cache_pts=[],this.LoadFromData(e,t)}function CreatureManager(t){this.target_creature=t,this.is_playing=!1,this.run_time=0,this.time_scale=30,this.blending_factor=0,this.should_loop=!0,this.use_custom_time_range=!1,this.custom_start_time=0,this.custom_end_time=0,this.animations={},this.bones_override_callback=null,this.blend_render_pts=[],this.blend_render_pts.push([]),this.blend_render_pts.push([]),this.do_blending=!1,this.active_blend_animation_names=[],this.active_blend_animation_names.push(""),this.active_blend_animation_names.push("")}!function(t){"use strict";var e={};"undefined"==typeof exports?"function"==typeof define&&"object"==typeof define.amd&&define.amd?(e.exports={},define(function(){return e.exports})):e.exports="undefined"!=typeof window?window:t:e.exports=exports,function(t){if(!e)var e=1e-6;if(!r)var r="undefined"!=typeof Float32Array?Float32Array:Array;if(!n)var n=Math.random;var a={};a.setMatrixArrayType=function(t){r=t},void 0!==t&&(t.glMatrix=a);var i=Math.PI/180;a.toRadian=function(t){return t*i};var s={};s.create=function(){var t=new r(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new r(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var n=new r(2);return n[0]=t,n[1]=e,n},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,r){return t[0]=e,t[1]=r,t},s.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t},s.subtract=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t},s.sub=s.subtract,s.multiply=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t},s.mul=s.multiply,s.divide=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t},s.div=s.divide,s.min=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t},s.max=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t},s.scale=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t},s.scaleAndAdd=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t},s.distance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.sqrt(r*r+n*n)},s.dist=s.distance,s.squaredDistance=function(t,e){var r=e[0]-t[0],n=e[1]-t[1];return r*r+n*n},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],r=t[1];return Math.sqrt(e*e+r*r)},s.len=s.length,s.squaredLength=function(t){var e=t[0],r=t[1];return e*e+r*r},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t},s.normalize=function(t,e){var r=e[0],n=e[1],a=r*r+n*n;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.cross=function(t,e,r){var n=e[0]*r[1]-e[1]*r[0];return t[0]=t[1]=0,t[2]=n,t},s.lerp=function(t,e,r,n){var a=e[0],i=e[1];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t},s.random=function(t,e){e=e||1;var r=2*n()*Math.PI;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t},s.transformMat2=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a,t[1]=r[1]*n+r[3]*a,t},s.transformMat2d=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[2]*a+r[4],t[1]=r[1]*n+r[3]*a+r[5],t},s.transformMat3=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[3]*a+r[6],t[1]=r[1]*n+r[4]*a+r[7],t},s.transformMat4=function(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t},s.forEach=function(){var t=s.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=2),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t},o.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},o.cross=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2];return t[0]=a*c-i*o,t[1]=i*s-n*c,t[2]=n*o-a*s,t},o.lerp=function(t,e,r,n){var a=e[0],i=e[1],s=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=s+n*(r[2]-s),t},o.random=function(t,e){e=e||1;var r=2*n()*Math.PI,a=2*n()-1,i=Math.sqrt(1-a*a)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=a*e,t},o.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[3]*n+r[7]*a+r[11]*i+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/s,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/s,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/s,t},o.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},o.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2],h=r[3],u=h*n+o*i-c*a,l=h*a+c*n-s*i,_=h*i+s*a-o*n,p=-s*n-o*a-c*i;return t[0]=u*h+p*-s+l*-c-_*-o,t[1]=l*h+p*-o+_*-s-u*-c,t[2]=_*h+p*-c+u*-o-l*-s,t},o.rotateX=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0],i[1]=a[1]*Math.cos(n)-a[2]*Math.sin(n),i[2]=a[1]*Math.sin(n)+a[2]*Math.cos(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.rotateY=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[2]*Math.sin(n)+a[0]*Math.cos(n),i[1]=a[1],i[2]=a[2]*Math.cos(n)-a[0]*Math.sin(n),t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.rotateZ=function(t,e,r,n){var a=[],i=[];return a[0]=e[0]-r[0],a[1]=e[1]-r[1],a[2]=e[2]-r[2],i[0]=a[0]*Math.cos(n)-a[1]*Math.sin(n),i[1]=a[0]*Math.sin(n)+a[1]*Math.cos(n),i[2]=a[2],t[0]=i[0]+r[0],t[1]=i[1]+r[1],t[2]=i[2]+r[2],t},o.forEach=function(){var t=o.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=3),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o0&&(s=1/Math.sqrt(s),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t[3]=e[3]*s),t},c.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},c.lerp=function(t,e,r,n){var a=e[0],i=e[1],s=e[2],o=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=s+n*(r[2]-s),t[3]=o+n*(r[3]-o),t},c.random=function(t,e){return e=e||1,t[0]=n(),t[1]=n(),t[2]=n(),t[3]=n(),c.normalize(t,t),c.scale(t,t,e),t},c.transformMat4=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*s,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*s,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*s,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*s,t},c.transformQuat=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2],h=r[3],u=h*n+o*i-c*a,l=h*a+c*n-s*i,_=h*i+s*a-o*n,p=-s*n-o*a-c*i;return t[0]=u*h+p*-s+l*-c-_*-o,t[1]=l*h+p*-o+_*-s-u*-c,t[2]=_*h+p*-c+u*-o-l*-s,t},c.forEach=function(){var t=c.create();return function(e,r,n,a,i,s){var o,c;for(r||(r=4),n||(n=0),c=a?Math.min(a*r+n,e.length):e.length,o=n;o.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(o.cross(t,a,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,p.normalize(n,n))}}(),p.setAxes=function(){var t=l.create();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],p.normalize(e,p.fromMat3(e,t))}}(),p.clone=c.clone,p.fromValues=c.fromValues,p.copy=c.copy,p.set=c.set,p.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},p.setAxisAngle=function(t,e,r){r*=.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t},p.add=c.add,p.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=r[0],c=r[1],h=r[2],u=r[3];return t[0]=n*u+s*o+a*h-i*c,t[1]=a*u+s*c+i*o-n*h,t[2]=i*u+s*h+n*c-a*o,t[3]=s*u-n*o-a*c-i*h,t},p.mul=p.multiply,p.scale=c.scale,p.rotateX=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c+s*o,t[1]=a*c+i*o,t[2]=i*c-a*o,t[3]=s*c-n*o,t},p.rotateY=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c-i*o,t[1]=a*c+s*o,t[2]=i*c+n*o,t[3]=s*c-a*o,t},p.rotateZ=function(t,e,r){r*=.5;var n=e[0],a=e[1],i=e[2],s=e[3],o=Math.sin(r),c=Math.cos(r);return t[0]=n*c+a*o,t[1]=a*c-n*o,t[2]=i*c+s*o,t[3]=s*c-i*o,t},p.calculateW=function(t,e){var r=e[0],n=e[1],a=e[2];return t[0]=r,t[1]=n,t[2]=a,t[3]=Math.sqrt(Math.abs(1-r*r-n*n-a*a)),t},p.dot=c.dot,p.lerp=c.lerp,p.slerp=function(t,e,r,n){var a,i,s,o,c,h=e[0],u=e[1],l=e[2],_=e[3],p=r[0],d=r[1],m=r[2],f=r[3];return(i=h*p+u*d+l*m+_*f)<0&&(i=-i,p=-p,d=-d,m=-m,f=-f),1-i>1e-6?(a=Math.acos(i),s=Math.sin(a),o=Math.sin((1-n)*a)/s,c=Math.sin(n*a)/s):(o=1-n,c=n),t[0]=o*h+c*p,t[1]=o*u+c*d,t[2]=o*l+c*m,t[3]=o*_+c*f,t},p.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=r*r+n*n+a*a+i*i,o=s?1/s:0;return t[0]=-r*o,t[1]=-n*o,t[2]=-a*o,t[3]=i*o,t},p.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},p.length=c.length,p.len=p.length,p.squaredLength=c.squaredLength,p.sqrLen=p.squaredLength,p.normalize=c.normalize,p.fromMat3=function(t,e){var r,n=e[0]+e[4]+e[8];if(n>0)r=Math.sqrt(n+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var a=0;e[4]>e[0]&&(a=1),e[8]>e[3*a+a]&&(a=2);var i=(a+1)%3,s=(a+2)%3;r=Math.sqrt(e[3*a+a]-e[3*i+i]-e[3*s+s]+1),t[a]=.5*r,r=.5/r,t[3]=(e[3*i+s]-e[3*s+i])*r,t[i]=(e[3*i+a]+e[3*a+i])*r,t[s]=(e[3*s+a]+e[3*a+s])*r}return t},p.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},void 0!==t&&(t.quat=p)}(e.exports)}(this);var Q_X=0,Q_Y=1,Q_Z=2,Q_W=3;dualQuat.prototype.reset=function(){quat.identity(this.real),this.real[Q_W]=0,quat.identity(this.imaginary),this.imaginary[Q_W]=0,quat.identity(this.tmpQ1)},dualQuat.prototype.createFromData=function(t,e){this.real=t,this.imaginary=quat.create(),this.imaginary[Q_W]=-.5*(e[Q_X]*t[Q_X]+e[Q_Y]*t[Q_Y]+e[Q_Z]*t[Q_Z]),this.imaginary[Q_X]=.5*(e[Q_X]*t[Q_W]+e[Q_Y]*t[Q_Z]-e[Q_Z]*t[Q_Y]),this.imaginary[Q_Y]=.5*(-e[Q_X]*t[Q_Z]+e[Q_Y]*t[Q_W]+e[Q_Z]*t[Q_X]),this.imaginary[Q_Z]=.5*(e[Q_X]*t[Q_Y]-e[Q_Y]*t[Q_X]+e[Q_Z]*t[Q_W])},dualQuat.prototype.add=function(t,e,r){quat.copy(this.tmpQ1,t.real),quat.scale(this.tmpQ1,this.tmpQ1,e),quat.add(this.real,this.tmpQ1,this.real),quat.copy(this.tmpQ1,t.imaginary),quat.scale(this.tmpQ1,this.tmpQ1,r),quat.add(this.imaginary,this.tmpQ1,this.imaginary)},dualQuat.prototype.normalize=function(){var t=quat.length(this.real);this.real=quat.scale(this.real,this.real,1/t),this.imaginary=quat.scale(this.imaginary,this.imaginary,1/t)};var v0=vec3.create(),ve=vec3.create(),trans=vec3.create(),tmpVec1=vec3.create(),tmpVec2=vec3.create(),tmpVec0=vec3.create(),aVec=vec3.create(),rot=vec3.create();dualQuat.prototype.transform=function(t){return v0[Q_X]=this.real[Q_X],v0[Q_Y]=this.real[Q_Y],v0[Q_Z]=this.real[Q_Z],ve[Q_X]=this.imaginary[Q_X],ve[Q_Y]=this.imaginary[Q_Y],ve[Q_Z]=this.imaginary[Q_Z],tmpVec1=vec3.scale(tmpVec1,v0,this.imaginary[Q_W]),tmpVec2=vec3.cross(tmpVec2,v0,ve),tmpVec0=vec3.scale(tmpVec0,ve,this.real[Q_W]),aVec=vec3.subtract(aVec,tmpVec0,tmpVec1),trans=vec3.add(trans,aVec,tmpVec2),trans=vec3.scale(trans,trans,2),rot=vec3.transformQuat(rot,t,this.real),rot=vec3.add(rot,rot,trans)};var Utils={};Utils.setAxisMatrix=function(t,e,r){var n=mat4.create();return n[0]=t[Q_X],n[4]=t[Q_Y],n[8]=t[Q_Z],n[1]=e[Q_X],n[5]=e[Q_Y],n[9]=e[Q_Z],n[2]=r[Q_X],n[6]=r[Q_Y],n[10]=r[Q_Z],n[12]=0,n[13]=0,n[14]=0,n[3]=0,n[7]=0,n[11]=0,n[15]=1,n=mat4.transpose(n,n)},Utils.matrixToQuat=function(t){var e,r=quat.create(),n=t,a=n[0],i=n[4],s=n[8],o=n[1],c=n[5],h=n[9],u=n[2],l=n[6],_=n[10],p=a+c+_;return p>0?(e=.5/Math.sqrt(p+1),r[Q_W]=.25/e,r[Q_X]=(l-h)*e,r[Q_Y]=(s-u)*e,r[Q_Z]=(o-i)*e):a>c&&a>_?(e=2*Math.sqrt(1+a-c-_),r[Q_W]=(l-h)/e,r[Q_X]=.25*e,r[Q_Y]=(i+o)/e,r[Q_Z]=(s+u)/e):c>_?(e=2*Math.sqrt(1+c-a-_),r[Q_W]=(s-u)/e,r[Q_X]=(i+o)/e,r[Q_Y]=.25*e,r[Q_Z]=(h+l)/e):(e=2*Math.sqrt(1+_-a-c),r[Q_W]=(o-i)/e,r[Q_X]=(s+u)/e,r[Q_Y]=(h+l)/e,r[Q_Z]=.25*e),r},Utils.rotateVec_90=function(t){return vec3.fromValues(-t[Q_Y],t[Q_X],t[Q_Z])},Utils.calcRotateMat=function(t){var e=vec3.clone(t);e=vec3.normalize(e,e);var r=Utils.rotateVec_90(e),n=vec3.fromValues(e[Q_X],e[Q_Y],0),a=vec3.fromValues(r[Q_X],r[Q_Y],0),i=vec3.fromValues(0,0,1);mat4.create();return Utils.setAxisMatrix(n,a,i)},Utils.getMatTranslate=function(t){var e=vec3.create();return e[Q_X]=t[12],e[Q_Y]=t[13],e[Q_Z]=t[14],e},Utils.addMat=function(t,e){for(var r=mat4.create(),n=0;n<16;n++)r[n]=t[n]+e[n];return r},Utils.mulMat=function(t,e){for(var r=mat4.create(),n=0;n<16;n++)r[n]=t[n]*e;return r},Utils.clamp=function(t,e,r){return tr?r:t};var newVec1=vec3.create(),newVec2=vec3.create();Utils.vecInterp=function(t,e,r){newVec1=vec3.scale(newVec1,t,1-r),newVec2=vec3.scale(newVec2,e,r);var n=vec3.create();return n=vec3.add(n,newVec1,newVec2)},Utils.vec2Interp=function(t,e,r){var n=vec2.create(),a=vec2.create();n=vec2.scale(n,t,1-r),a=vec2.scale(a,e,r);var i=vec2.create();return i=vec2.add(i,n,a)},MeshBone.prototype.setRestParentMat=function(t,e){this.rest_parent_mat=t,null==e?(this.rest_parent_inv_mat=mat4.clone(this.rest_parent_mat),mat4.invert(this.rest_parent_inv_mat,this.rest_parent_inv_mat)):this.rest_parent_inv_mat=mat4.clone(e)},MeshBone.prototype.setParentWorldMat=function(t){this.parent_world_mat=t},MeshBone.prototype.setParentWorldInvMat=function(t){this.parent_world_inv_mat=t},MeshBone.prototype.getLocalRestStartPt=function(){return this.local_rest_start_pt},MeshBone.prototype.getLocalRestEndPt=function(){return this.local_rest_end_pt},MeshBone.prototype.setLocalRestStartPt=function(t){this.local_rest_start_pt=vec3.create(),this.local_rest_start_pt=vec3.transformMat4(this.local_rest_start_pt,t,this.rest_parent_inv_mat),this.calcRestData()},MeshBone.prototype.setLocalRestEndPt=function(t){this.local_rest_end_pt=vec3.create(),this.local_rest_end_pt=vec3.transformMat4(this.local_rest_end_pt,t,this.rest_parent_inv_mat),this.calcRestData()},MeshBone.prototype.calcRestData=function(){if(null!=this.local_rest_start_pt&&null!=this.local_rest_end_pt){var t=this.computeDirs(this.local_rest_start_pt,this.local_rest_end_pt);this.local_rest_dir=t.first,this.local_rest_normal_dir=t.second,this.computeRestLength()}},MeshBone.prototype.setWorldStartPt=function(t){this.world_start_pt=t},MeshBone.prototype.setWorldEndPt=function(t){this.world_end_pt=t},MeshBone.prototype.fixDQs=function(t){quat.dot(this.world_dq.real,t.real)<0&&(this.world_dq.real=quat.scale(this.world_dq.real,this.world_dq.real,-1),this.world_dq.imaginary=quat.scale(this.world_dq.imaginary,this.world_dq.imaginary,-1));for(var e=0;e.05&&a.push(i);this.relevant_bones_indices.push(a)}for(var e in t){var s=t[e];this.fast_bones_map.push(s)}},MeshRenderRegion.prototype.initUvWarp=function(){var t=this.getUVsIndex();this.uv_warp_ref_uvs=[];for(var e=0;en&&(n=o),o=0&&null!==t?i=this.boundary_max[0]-n*t:t<0?i=-Math.abs(this.boundary_max[0]-n*Math.abs(t)):null===t&&(i=this.anchor_point_map&&this.anchor_point_map[r]?this.anchor_point_map[r][0]:0),e>=0&&null!==e?s=this.boundary_max[1]-a*e:e<0?s=-Math.abs(this.boundary_max[1]-a*Math.abs(e)):null===e&&(s=this.anchor_point_map&&this.anchor_point_map[r]?this.anchor_point_map[r][1]:0);var o={AnchorPoints:[{point:[i,s],anim_clip_name:r}]};this.anchor_point_map=this.FillAnchorPointMap(o)},Creature.prototype.GetAnchorPoint=function(t){return t in this.anchor_point_map?this.anchor_point_map[t]:vec2.fromValues(0,0)},Creature.prototype.FillRenderColours=function(t,e,r,n){for(var a=0;a=o&&n<=c){a=!0;break}}a&&t[n]++}this.boundary_indices=[];for(e=0;ei&&(e[0]=i),e[1]>s&&(e[1]=s),r[0]0)){for(var n=r.cache_pts,a=r.start_time;a<=r.end_time;a++){this.setRunTime(a);for(var i=[],s=0;s<3*this.target_creature.total_num_pts;s++)i[s]=0;this.PoseCreature(t,i),n.push(i)}this.setRunTime(e)}},CreatureManager.prototype.FillSinglePointCacheFrame=function(t,e){var r=this.getRunTime(),n=this.animations[t];this.setRunTime(e);for(var a=[],i=0;i<3*this.target_creature.total_num_pts;i++)a[i]=0;this.PoseCreature(t,a),n.fill_cache_pts.push(a),n.verifyFillCache(),this.setRunTime(r)},CreatureManager.prototype.GetIsPlaying=function(){return this.is_playing},CreatureManager.prototype.SetShouldLoop=function(t){this.should_loop=t},CreatureManager.prototype.SetUseCustomTimeRange=function(t){this.use_custom_time_range=t},CreatureManager.prototype.SetCustomTimeRange=function(t,e){this.custom_start_time=t,this.custom_end_time=e},CreatureManager.prototype.SetIsPlaying=function(t){this.is_playing=t},CreatureManager.prototype.ResetToStartTimes=function(){var t=this.animations[active_animation_name];this.run_time=t.start_time},CreatureManager.prototype.setRunTime=function(t){this.run_time=t,this.correctTime()},CreatureManager.prototype.increRunTime=function(t){this.run_time+=t,this.correctTime()},CreatureManager.prototype.correctTime=function(){var t=this.animations[this.active_animation_name],e=t.start_time,r=t.end_time;this.use_custom_time_range&&(e=this.custom_start_time,r=this.custom_end_time),this.run_time>r?this.should_loop?this.run_time=e:this.run_time=r:this.run_time0?i.poseFromCachePts(this.getRunTime(),this.blend_render_pts[t],this.target_creature.total_num_pts):this.PoseCreature(this.active_blend_animation_names[t],this.blend_render_pts[t]);for(var e=0;e<3*this.target_creature.total_num_pts;e++){var r=e,n=this.blend_render_pts[0][e],a=this.blend_render_pts[1][e];this.target_creature.render_pts.set(r,(1-blending_factor)*n+blending_factor*a)}}else{var i=this.animations[this.active_animation_name];i.cache_pts.length>0?i.poseFromCachePts(this.getRunTime(),this.target_creature.render_pts,this.target_creature.total_num_pts):this.PoseCreature(this.active_animation_name,this.target_creature.render_pts)}},CreatureManager.prototype.SetTimeScale=function(t){this.time_scale=t},CreatureManager.prototype.SetBlending=function(t){if(this.do_blending=t,this.do_blending){if(0==this.blend_render_pts[0].length){for(var e=[],r=0;r<3*target_creature.total_num_pts;r++)e.push(0);this.blend_render_pts.set(0,e)}if(0==this.blend_render_pts[1].length){for(var e=[],r=0;r<3*this.target_creature.total_num_pts;r++)e.push(0);this.blend_render_pts[1]=e}}},CreatureManager.prototype.SetBlendingAnimations=function(t,e){this.active_blend_animation_names[0]=t,this.active_blend_animation_names[1]=e},CreatureManager.prototype.SetBlendingFactor=function(t){this.blending_factor=t},CreatureManager.prototype.IsContactBone=function(t,e){var r=this.target_creature.render_composition.getRootBone();return this.ProcessContactBone(t,e,r)},CreatureManager.prototype.PoseCreature=function(t,e){var r=this.animations[t],n=r.bones_cache,a=r.displacement_cache,i=r.uv_warp_cache,s=this.target_creature.render_composition,o=s.getBonesMap(),c=s.getRegionsMap();n.retrieveValuesAtTime(this.getRunTime(),o),this.AlterBonesByAnchor(o,t),null!=this.bones_override_callback&&this.bones_override_callback(o),a.retrieveValuesAtTime(this.getRunTime(),c),i.retrieveValuesAtTime(this.getRunTime(),c);var h=s.getRegions(),u=s.getBonesMap();s.updateAllTransforms(!1);for(var l=0,_=h.length;l<_;l++){var p=h[l],d=p.getStartPtIndex();p.poseFinalPts(e,3*d,u);for(var m=3*p.getStartPtIndex(),f=3*p.getEndPtIndex(),v=m;v<=f;v+=3)e[v+2]=.001*-l}}; //# sourceMappingURL=creature.map \ No newline at end of file diff --git a/build/custom/p2.js b/build/custom/p2.js index c71eccf01..c18f4912e 100644 --- a/build/custom/p2.js +++ b/build/custom/p2.js @@ -5547,16 +5547,6 @@ RevoluteConstraint.prototype.disableMotor = function(){ this.motorEnabled = false; }; -/** - * Check if the motor is enabled. - * @method motorIsEnabled - * @deprecated use property motorEnabled instead. - * @return {Boolean} - */ -RevoluteConstraint.prototype.motorIsEnabled = function(){ - return !!this.motorEnabled; -}; - /** * Set the speed of the rotational constraint motor * @method setMotorSpeed @@ -10910,13 +10900,6 @@ Shape.LINE = 16; */ Shape.BOX = 32; -Object.defineProperty(Shape, 'RECTANGLE', { - get: function() { - console.warn('Shape.RECTANGLE is deprecated, use Shape.BOX instead.'); - return Shape.BOX; - } -}); - /** * @static * @property {Number} CAPSULE @@ -13635,4 +13618,4 @@ World.prototype.raycast = function(result, ray){ },{"../../package.json":6,"../collision/AABB":7,"../collision/Broadphase":8,"../collision/Narrowphase":10,"../collision/Ray":11,"../collision/SAPBroadphase":13,"../constraints/Constraint":14,"../constraints/DistanceConstraint":15,"../constraints/GearConstraint":16,"../constraints/LockConstraint":17,"../constraints/PrismaticConstraint":18,"../constraints/RevoluteConstraint":19,"../events/EventEmitter":26,"../material/ContactMaterial":27,"../material/Material":28,"../math/vec2":30,"../objects/Body":31,"../objects/LinearSpring":32,"../objects/RotationalSpring":33,"../shapes/Capsule":38,"../shapes/Circle":39,"../shapes/Convex":40,"../shapes/Line":42,"../shapes/Particle":43,"../shapes/Plane":44,"../shapes/Shape":45,"../solver/GSSolver":46,"../solver/Solver":47,"../utils/OverlapKeeper":52,"../utils/Utils":57,"./IslandManager":59}]},{},[36]) (36) -}); \ No newline at end of file +}); diff --git a/build/custom/p2.map b/build/custom/p2.map index 639394eda..8b7d1cdc2 100644 --- a/build/custom/p2.map +++ b/build/custom/p2.map @@ -1 +1 @@ -{"version":3,"sources":["p2.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","motorIsEnabled","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager"],"mappings":"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","file":"p2.min.js"} \ No newline at end of file +{"version":3,"sources":["p2.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager"],"mappings":";;CAuBC,SAASA,GAAG,GAAG,iBAAiBC,QAAQC,OAAOD,QAAQD,QAAS,CAAmD,IAAIG,EAAE,oBAAoBC,OAAOD,EAAEC,OAAO,oBAAoBC,OAAOF,EAAEE,OAAO,oBAAoBC,OAAOH,EAAEG,MAAMH,EAAEI,GAAGP,KAAzO,CAA+O,WAAqC,OAAO,SAAUA,EAAEQ,EAAEC,EAAEC,GAAG,SAASC,EAAEC,EAAEC,GAAG,IAAIJ,EAAEG,GAAG,CAAC,IAAIJ,EAAEI,GAAG,CAAC,IAAIE,EAAkB,mBAATC,SAAqBA,QAAQ,IAAIF,GAAGC,EAAE,OAAOA,EAAEF,GAAE,GAAI,GAAGI,EAAE,OAAOA,EAAEJ,GAAE,GAAI,MAAM,IAAIK,MAAM,uBAAuBL,EAAE,KAAK,IAAIT,EAAEM,EAAEG,IAAIX,YAAYO,EAAEI,GAAG,GAAGM,KAAKf,EAAEF,QAAQ,SAASD,GAAG,IAAIS,EAAED,EAAEI,GAAG,GAAGZ,GAAG,OAAOW,EAAEF,GAAIT,IAAIG,EAAEA,EAAEF,QAAQD,EAAEQ,EAAEC,EAAEC,GAAG,OAAOD,EAAEG,GAAGX,QAAkD,IAAI,IAA1Ce,EAAkB,mBAATD,SAAqBA,QAAgBH,EAAE,EAAEA,EAAEF,EAAES,OAAOP,IAAID,EAAED,EAAEE,IAAI,OAAOD,EAArZ,EAA0ZS,GAAG,SAASC,EAAQnB,EAAOD,GASjtB,SAASqB,KART,IAAIC,EAASF,EAAQ,YAErBnB,EAAOD,QAAUqB,EAiBjBA,EAAKE,QAAU,SAASC,EAAGC,EAAGC,GAC1BA,EAAYA,GAAa,EACzB,IACIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EADxBlB,GAAK,EAAE,GAaX,OAXAY,EAAKH,EAAG,GAAG,GAAKA,EAAG,GAAG,GACtBI,EAAKJ,EAAG,GAAG,GAAKA,EAAG,GAAG,GACtBK,EAAKF,EAAKH,EAAG,GAAG,GAAKI,EAAKJ,EAAG,GAAG,GAChCM,EAAKL,EAAG,GAAG,GAAKA,EAAG,GAAG,GACtBM,EAAKN,EAAG,GAAG,GAAKA,EAAG,GAAG,GACtBO,EAAKF,EAAKL,EAAG,GAAG,GAAKM,EAAKN,EAAG,GAAG,GAChCQ,EAAMN,EAAKI,EAAKD,EAAGF,EACdN,EAAOY,GAAGD,EAAK,EAAGP,KACnBX,EAAE,IAAMgB,EAAKF,EAAKD,EAAKI,GAAMC,EAC7BlB,EAAE,IAAMY,EAAKK,EAAKF,EAAKD,GAAMI,GAE1BlB,GAYXM,EAAKc,kBAAoB,SAASC,EAAI9B,EAAI+B,EAAIC,GAC3C,IAAIC,EAAKjC,EAAG,GAAK8B,EAAG,GAChBI,EAAKlC,EAAG,GAAK8B,EAAG,GAChBK,EAAKH,EAAG,GAAKD,EAAG,GAChBK,EAAKJ,EAAG,GAAKD,EAAG,GAGpB,GAAGI,EAAGD,EAAKE,EAAGH,GAAM,EACjB,OAAO,EAEV,IAAI7B,GAAK6B,GAAMF,EAAG,GAAKD,EAAG,IAAMI,GAAMJ,EAAG,GAAKC,EAAG,MAAQI,EAAKD,EAAKE,EAAKH,GACpEhC,GAAKkC,GAAML,EAAG,GAAKC,EAAG,IAAMK,GAAML,EAAG,GAAKD,EAAG,MAAQM,EAAKH,EAAKE,EAAKD,GAExE,OAAQ9B,GAAG,GAAKA,GAAG,GAAKH,GAAG,GAAKA,GAAG,KAInCoC,WAAW,IAAIC,GAAG,SAASxB,EAAQnB,EAAOD,GAO7C,SAAS6C,KANT5C,EAAOD,QAAU6C,EAiBjBA,EAAMC,KAAO,SAASjC,EAAEkC,EAAEC,GACtB,OAAUD,EAAE,GAAKlC,EAAE,KAAKmC,EAAE,GAAKnC,EAAE,KAAOmC,EAAE,GAAKnC,EAAE,KAAKkC,EAAE,GAAKlC,EAAE,KAGnEgC,EAAMI,KAAO,SAASpC,EAAEkC,EAAEC,GACtB,OAAOH,EAAMC,KAAKjC,EAAEkC,EAAEC,GAAK,GAG/BH,EAAMK,OAAS,SAASrC,EAAEkC,EAAEC,GACxB,OAAOH,EAAMC,KAAKjC,EAAGkC,EAAGC,IAAM,GAGlCH,EAAMM,MAAQ,SAAStC,EAAEkC,EAAEC,GACvB,OAAOH,EAAMC,KAAKjC,EAAGkC,EAAGC,GAAK,GAGjCH,EAAMO,QAAU,SAASvC,EAAEkC,EAAEC,GACzB,OAAOH,EAAMC,KAAKjC,EAAGkC,EAAGC,IAAM,GAGlC,IAAIK,KACAC,KAWJT,EAAMU,UAAY,SAAS1C,EAAEkC,EAAEC,EAAEQ,GAC7B,GAAIA,EAEC,CACD,IAAIC,EAAKJ,EACLK,EAAKJ,EAETG,EAAG,GAAKV,EAAE,GAAGlC,EAAE,GACf4C,EAAG,GAAKV,EAAE,GAAGlC,EAAE,GACf6C,EAAG,GAAKV,EAAE,GAAGD,EAAE,GACfW,EAAG,GAAKV,EAAE,GAAGD,EAAE,GAEf,IAAIY,EAAMF,EAAG,GAAGC,EAAG,GAAKD,EAAG,GAAGC,EAAG,GAC7BE,EAAOC,KAAKC,KAAKL,EAAG,GAAGA,EAAG,GAAKA,EAAG,GAAGA,EAAG,IACxCM,EAAOF,KAAKC,KAAKJ,EAAG,GAAGA,EAAG,GAAKA,EAAG,GAAGA,EAAG,IAE5C,OADYG,KAAKG,KAAKL,GAAKC,EAAKG,IACjBP,EAdf,OAA8B,GAAvBX,EAAMC,KAAKjC,EAAGkC,EAAGC,IAkBhCH,EAAMoB,OAAS,SAASpD,EAAEkC,GACtB,IAAIR,EAAKQ,EAAE,GAAKlC,EAAE,GACd2B,EAAKO,EAAE,GAAKlC,EAAE,GAClB,OAAO0B,EAAKA,EAAKC,EAAKA,QAGpB0B,GAAG,SAAS9C,EAAQnB,EAAOD,GAYjC,SAASmE,IAOLC,KAAKC,YAiST,SAASC,EAAqBlC,EAAI9B,EAAI+B,EAAIC,EAAIiC,GAC1CA,EAAQA,GAAS,EAClB,IAAI5C,EAAKrB,EAAG,GAAK8B,EAAG,GAChBR,EAAKQ,EAAG,GAAK9B,EAAG,GAChBuB,EAAMF,EAAKS,EAAG,GAAOR,EAAKQ,EAAG,GAC7BN,EAAKQ,EAAG,GAAKD,EAAG,GAChBN,EAAKM,EAAG,GAAKC,EAAG,GAChBN,EAAMF,EAAKO,EAAG,GAAON,EAAKM,EAAG,GAC7BJ,EAAON,EAAKI,EAAOD,EAAKF,EAE5B,OAAIN,EAAOY,GAAGD,EAAI,EAAEsC,IAGT,EAAE,KAFAxC,EAAKF,EAAOD,EAAKI,GAAOC,GAAON,EAAKK,EAAOF,EAAKD,GAAOI,GA9TvE,IAAIZ,EAAOD,EAAQ,UACfyB,EAAQzB,EAAQ,WAChBE,EAASF,EAAQ,YAErBnB,EAAOD,QAAUmE,EAuBjBA,EAAQK,UAAUC,GAAK,SAAS1D,GAC5B,IAAI2D,EAAIN,KAAKC,SACT3D,EAAIgE,EAAExD,OACV,OAAOwD,EAAE3D,EAAI,EAAIA,EAAIL,EAAIA,EAAIK,EAAIL,IAQrCyD,EAAQK,UAAUG,MAAQ,WACtB,OAAOP,KAAKC,SAAS,IAQzBF,EAAQK,UAAUI,KAAO,WACrB,OAAOR,KAAKC,SAASD,KAAKC,SAASnD,OAAO,IAQ9CiD,EAAQK,UAAUK,MAAQ,WACtBT,KAAKC,SAASnD,OAAS,GAW3BiD,EAAQK,UAAUM,OAAS,SAASC,EAAKC,EAAKC,GAC1C,QAAmB,IAAV,EAAuB,MAAM,IAAIjE,MAAM,sBAChD,QAAiB,IAAR,EAAuB,MAAM,IAAIA,MAAM,oBAEhD,GAAGiE,EAAG,EAAID,EAAsB,MAAM,IAAIhE,MAAM,QAChD,GAAGiE,EAAKF,EAAKV,SAASnD,OAAU,MAAM,IAAIF,MAAM,QAChD,GAAGgE,EAAO,EAAsB,MAAM,IAAIhE,MAAM,QAEhD,IAAI,IAAID,EAAEiE,EAAMjE,EAAEkE,EAAIlE,IAClBqD,KAAKC,SAASa,KAAKH,EAAKV,SAAStD,KAQzCoD,EAAQK,UAAUW,QAAU,WAKxB,IAAK,IAJDC,EAAK,EACLV,EAAIN,KAAKC,SAGJtD,EAAI,EAAGA,EAAIqD,KAAKC,SAASnD,SAAUH,GACpC2D,EAAE3D,GAAG,GAAK2D,EAAEU,GAAI,IAAOV,EAAE3D,GAAG,IAAM2D,EAAEU,GAAI,IAAMV,EAAE3D,GAAG,GAAK2D,EAAEU,GAAI,MAC9DA,EAAKrE,GAKR8B,EAAMI,KAAKmB,KAAKK,GAAGW,EAAK,GAAIhB,KAAKK,GAAGW,GAAKhB,KAAKK,GAAGW,EAAK,KACvDhB,KAAKiB,WAQblB,EAAQK,UAAUa,QAAU,WAExB,IAAI,IADAC,KACIvE,EAAE,EAAGwE,EAAEnB,KAAKC,SAASnD,OAAQH,IAAIwE,EAAGxE,IACxCuE,EAAIJ,KAAKd,KAAKC,SAASmB,OAE3BpB,KAAKC,SAAWiB,GASpBnB,EAAQK,UAAUiB,SAAW,SAAS1E,GAClC,OAAO8B,EAAMM,MAAMiB,KAAKK,GAAG1D,EAAI,GAAIqD,KAAKK,GAAG1D,GAAIqD,KAAKK,GAAG1D,EAAI,KAG/D,IAAI2E,KACAC,KASJxB,EAAQK,UAAUoB,OAAS,SAAS/E,EAAEkC,GAClC,IAAI8C,EAAGC,EAAMtE,EAAGkE,EAAUjE,EAAGkE,EAE7B,GAAI9C,EAAMK,OAAOkB,KAAKK,GAAG5D,EAAI,GAAIuD,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,KAAOF,EAAMO,QAAQgB,KAAKK,GAAG5D,EAAI,GAAIuD,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,IAC1G,OAAO,EAEX+C,EAAOjD,EAAMoB,OAAOG,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,IACxC,IAAK,IAAIhC,EAAI,EAAGA,IAAMqD,KAAKC,SAASnD,SAAUH,EAC1C,IAAKA,EAAI,GAAKqD,KAAKC,SAASnD,SAAWL,GAAKE,IAAMF,GAE9CgC,EAAMK,OAAOkB,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,GAAIqB,KAAKK,GAAG1D,EAAI,KAAO8B,EAAMO,QAAQgB,KAAKK,GAAG5D,GAAIuD,KAAKK,GAAG1B,GAAIqB,KAAKK,GAAG1D,MACtGS,EAAG,GAAK4C,KAAKK,GAAG5D,GAChBW,EAAG,GAAK4C,KAAKK,GAAG1B,GAChBtB,EAAG,GAAK2C,KAAKK,GAAG1D,GAChBU,EAAG,GAAK2C,KAAKK,GAAG1D,EAAI,GACpB8E,EAAIxE,EAAKE,QAAQC,EAAGC,GAChBoB,EAAMoB,OAAOG,KAAKK,GAAG5D,GAAIgF,GAAKC,GAC9B,OAAO,EAKnB,OAAO,GAWX3B,EAAQK,UAAUuB,KAAO,SAAShF,EAAEiF,EAAEC,GAClC,IAAIJ,EAAII,GAAc,IAAI9B,EAE1B,GADA0B,EAAEhB,QACE9D,EAAIiF,EAEJ,IAAQE,EAAEnF,EAAGmF,GAAGF,EAAGE,IACfL,EAAExB,SAASa,KAAKd,KAAKC,SAAS6B,QAE/B,CAGH,IAAQA,EAAE,EAAGA,GAAGF,EAAGE,IACfL,EAAExB,SAASa,KAAKd,KAAKC,SAAS6B,IAGlC,IAAI,IAAIA,EAAEnF,EAAGmF,EAAE9B,KAAKC,SAASnD,OAAQgF,IACjCL,EAAExB,SAASa,KAAKd,KAAKC,SAAS6B,IAGtC,OAAOL,GASX1B,EAAQK,UAAU2B,YAAc,WAI5B,IAAK,IAHDC,KAAQC,KAASC,KAASC,EAAU,IAAIpC,EACxCqC,EAASC,OAAOC,UAEX3F,EAAI,EAAGA,EAAIqD,KAAKC,SAASnD,SAAUH,EACxC,GAAIqD,KAAKqB,SAAS1E,GACd,IAAK,IAAIiF,EAAI,EAAGA,EAAI5B,KAAKC,SAASnD,SAAU8E,EACxC,GAAI5B,KAAKwB,OAAO7E,EAAGiF,GAAI,CACnBK,EAAOjC,KAAK2B,KAAKhF,EAAGiF,EAAGO,GAASJ,cAChCG,EAAOlC,KAAK2B,KAAKC,EAAGjF,EAAGwF,GAASJ,cAEhC,IAAI,IAAID,EAAE,EAAGA,EAAEI,EAAKpF,OAAQgF,IACxBG,EAAKnB,KAAKoB,EAAKJ,IAEfG,EAAKnF,OAASsF,IACdJ,EAAMC,EACNG,EAASH,EAAKnF,OACdkF,EAAIlB,MAAMd,KAAKK,GAAG1D,GAAIqD,KAAKK,GAAGuB,MAOlD,OAAOI,GAQXjC,EAAQK,UAAUmC,OAAS,WACvB,IAAIC,EAAQxC,KAAK+B,cACjB,OAAGS,EAAM1F,OAAS,EACPkD,KAAKyC,MAAMD,IAEVxC,OAShBD,EAAQK,UAAUqC,MAAQ,SAASC,GAC/B,GAAsB,GAAnBA,EAAS5F,OAAa,OAAQkD,MACjC,GAAG0C,aAAoBC,OAASD,EAAS5F,QAAU4F,EAAS,aAAcC,OAA6B,GAApBD,EAAS,GAAG5F,QAAa4F,EAAS,GAAG,aAAcC,MAAM,CAIxI,IAAI,IAFAC,GAAS5C,MAELrD,EAAE,EAAGA,EAAE+F,EAAS5F,OAAQH,IAG5B,IAAI,IAFAkG,EAAUH,EAAS/F,GAEfiF,EAAE,EAAGA,EAAEgB,EAAM9F,OAAQ8E,IAAI,CAC7B,IACIkB,EADOF,EAAMhB,GACCa,MAAMI,GACxB,GAAGC,EAAO,CAENF,EAAMG,OAAOnB,EAAE,GACfgB,EAAM9B,KAAKgC,EAAO,GAAGA,EAAO,IAC5B,OAKZ,OAAOF,EAIP,IAAIC,EAAUH,EACV/F,EAAIqD,KAAKC,SAAS+C,QAAQH,EAAQ,IAClCjB,EAAI5B,KAAKC,SAAS+C,QAAQH,EAAQ,IAEtC,OAAS,GAANlG,IAAiB,GAANiF,IACF5B,KAAK2B,KAAKhF,EAAEiF,GACZ5B,KAAK2B,KAAKC,EAAEjF,KAchCoD,EAAQK,UAAU6C,SAAW,WAGzB,IAAI,IAFAC,EAAOlD,KAAKC,SAERtD,EAAE,EAAGA,EAAEuG,EAAKpG,OAAO,EAAGH,IAC1B,IAAI,IAAIiF,EAAE,EAAGA,EAAEjF,EAAE,EAAGiF,IAChB,GAAG3E,EAAKc,kBAAkBmF,EAAKvG,GAAIuG,EAAKvG,EAAE,GAAIuG,EAAKtB,GAAIsB,EAAKtB,EAAE,IAC1D,OAAO,EAMnB,IAAQjF,EAAE,EAAGA,EAAEuG,EAAKpG,OAAO,EAAGH,IAC1B,GAAGM,EAAKc,kBAAkBmF,EAAK,GAAIA,EAAKA,EAAKpG,OAAO,GAAIoG,EAAKvG,GAAIuG,EAAKvG,EAAE,IACpE,OAAO,EAIf,OAAO,GA8BXoD,EAAQK,UAAU+C,YAAc,SAASL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,GACxFD,EAAWA,GAAY,IACvBC,EAAQA,GAAS,EACjBpD,EAAQA,GAAS,GACjB2C,OAAyB,IAAV,EAAwBA,KACvCM,EAAiBA,MACjBC,EAAgBA,MAEhB,IAAIG,GAAU,EAAE,GAAIC,GAAU,EAAE,GAAIhC,GAAG,EAAE,GACrCiC,EAAU,EAAGC,EAAU,EAAGC,EAAE,EAAGC,EAAY,EAC3CC,EAAW,EAAGC,EAAW,EAAGC,EAAa,EACzCC,EAAU,IAAIlE,EAAWmE,EAAU,IAAInE,EACvCY,EAAOX,KACPM,EAAIN,KAAKC,SAEb,GAAGK,EAAExD,OAAS,EAAG,OAAOgG,EAGxB,KADAS,EACWD,EAEP,OADAa,QAAQC,KAAK,2BAA2Bd,EAAS,cAC1CR,EAGX,IAAK,IAAInG,EAAI,EAAGA,EAAIqD,KAAKC,SAASnD,SAAUH,EACxC,GAAIgE,EAAKU,SAAS1E,GAAI,CAClByG,EAAetC,KAAKH,EAAKV,SAAStD,IAClC+G,EAAYC,EAAYtB,OAAOC,UAG/B,IAASV,EAAI,EAAGA,EAAI5B,KAAKC,SAASnD,SAAU8E,EACpCnD,EAAMI,KAAK8B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,KACxCnD,EAAMO,QAAQ2B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,EAAI,MAC7DH,EAAIvB,EAAqBS,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,GAAIjB,EAAKN,GAAGuB,EAAI,IACzEnD,EAAMM,MAAM4B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAI8E,KACxCmC,EAAInF,EAAMoB,OAAOc,EAAKV,SAAStD,GAAI8E,IAC3BkC,IACJA,EAAYC,EACZH,EAAWhC,EACXsC,EAAanC,IAIrBnD,EAAMI,KAAK8B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,EAAI,KAC5CnD,EAAMO,QAAQ2B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,MACzDH,EAAIvB,EAAqBS,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,GAAIjB,EAAKN,GAAGuB,EAAI,IACzEnD,EAAMI,KAAK8B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAI8E,KACvCmC,EAAInF,EAAMoB,OAAOc,EAAKV,SAAStD,GAAI8E,IAC3BiC,IACJA,EAAYE,EACZJ,EAAW/B,EACXqC,EAAalC,IAO7B,GAAImC,IAAeD,EAAa,GAAK9D,KAAKC,SAASnD,OAE/C2E,EAAE,IAAMgC,EAAS,GAAKD,EAAS,IAAM,EACrC/B,EAAE,IAAMgC,EAAS,GAAKD,EAAS,IAAM,EACrCH,EAAcvC,KAAKW,GAEf9E,EAAImH,GAEJG,EAAUvD,OAAOC,EAAMhE,EAAGmH,EAAW,GACrCG,EAAUhE,SAASa,KAAKW,GACxByC,EAAUjE,SAASa,KAAKW,GACN,GAAdsC,GAEAG,EAAUxD,OAAOC,EAAKoD,EAAWpD,EAAKV,SAASnD,QAGnDoH,EAAUxD,OAAOC,EAAK,EAAEhE,EAAE,KAEjB,GAALA,GAEAsH,EAAUvD,OAAOC,EAAKhE,EAAEgE,EAAKV,SAASnD,QAG1CmH,EAAUvD,OAAOC,EAAK,EAAEmD,EAAW,GACnCG,EAAUhE,SAASa,KAAKW,GACxByC,EAAUjE,SAASa,KAAKW,GAExByC,EAAUxD,OAAOC,EAAKoD,EAAWpH,EAAE,QAEpC,CASH,GALIoH,EAAaD,IACbA,GAAc9D,KAAKC,SAASnD,QAEhC+G,EAAcxB,OAAOC,UAElBwB,EAAaC,EACZ,OAAOjB,EAGX,IAAK,IAAIlB,EAAImC,EAAYnC,GAAKkC,IAAclC,EACpCnD,EAAMK,OAAO6B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,KAC1CnD,EAAMO,QAAQ2B,EAAKN,GAAG1D,EAAI,GAAIgE,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,MACzDgC,EAAInF,EAAMoB,OAAOc,EAAKN,GAAG1D,GAAIgE,EAAKN,GAAGuB,KAC7BiC,IACJA,EAAcD,EACdI,EAAepC,EAAI5B,KAAKC,SAASnD,QAKzCH,EAAIqH,GACJC,EAAUvD,OAAOC,EAAKhE,EAAEqH,EAAa,GACjB,GAAhBA,GACAE,EAAUxD,OAAOC,EAAKqD,EAAa1D,EAAExD,QAEzCoH,EAAUxD,OAAOC,EAAK,EAAEhE,EAAE,KAEjB,GAALA,GACAsH,EAAUvD,OAAOC,EAAKhE,EAAE2D,EAAExD,QAE9BmH,EAAUvD,OAAOC,EAAK,EAAEqD,EAAa,GACrCE,EAAUxD,OAAOC,EAAKqD,EAAarH,EAAE,IAa7C,OARIsH,EAAUhE,SAASnD,OAASoH,EAAUjE,SAASnD,QAC/CmH,EAAUd,YAAYL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,GACzEW,EAAUf,YAAYL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,KAEzEW,EAAUf,YAAYL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,GACzEU,EAAUd,YAAYL,EAAOM,EAAeC,EAAclD,EAAMmD,EAASC,IAGtET,EAKf,OAFAA,EAAOhC,KAAKd,MAEL8C,GASX/C,EAAQK,UAAUiE,sBAAwB,SAAS/G,GAE/C,IAAI,IADAgH,EAAM,EACF3H,EAAEqD,KAAKC,SAASnD,OAAO,EAAGkD,KAAKC,SAASnD,OAAO,GAAKH,GAAG,IAAKA,EAC7D8B,EAAMU,UAAUa,KAAKK,GAAG1D,EAAE,GAAGqD,KAAKK,GAAG1D,GAAGqD,KAAKK,GAAG1D,EAAE,GAAGW,KAEpD0C,KAAKC,SAAS8C,OAAOpG,EAAEqD,KAAKC,SAASnD,OAAO,GAC5CH,IACA2H,KAGR,OAAOA,KAGRC,SAAS,EAAEC,UAAU,EAAEjG,WAAW,IAAIkG,GAAG,SAASzH,EAAQnB,EAAOD,GAOpE,SAASsB,KANTrB,EAAOD,QAAUsB,EAiBjBA,EAAOY,GAAK,SAASrB,EAAEkC,EAAErB,GAErB,OADAA,EAAYA,GAAa,EAClBmC,KAAKiF,IAAIjI,EAAEkC,GAAKrB,QAGrBqH,GAAG,SAAS3H,EAAQnB,EAAOD,GACjCC,EAAOD,SACHmE,QAAU/C,EAAQ,aAClByB,MAAQzB,EAAQ,cAGjBwH,UAAU,EAAEI,YAAY,IAAIC,GAAG,SAAS7H,EAAQnB,EAAOD,GAC1DC,EAAOD,SACLkJ,KAAQ,KACRC,QAAW,QACXC,YAAe,kCACfC,OAAU,wDACVC,UACE,QACA,KACA,UACA,SACA,MAEFC,KAAQ,cACRC,SACEC,KAAQ,KAEVC,YACEC,KAAQ,MACRC,IAAO,yCAETC,MACED,IAAO,4CAETE,WAEIH,KAAQ,QAGZI,iBACEC,MAAS,SACTC,uBAAwB,UACxBC,yBAA0B,SAC1BC,uBAAwB,SACxBC,sBAAuB,SACvBC,mBAAoB,SACpBC,uBAAwB,UAE1BC,cACEC,cAAe,eAIbC,GAAG,SAASrJ,EAAQnB,EAAOD,GAcjC,SAAS0K,EAAKC,GAOVvG,KAAKwG,WAAaC,EAAKC,SACpBH,GAAWA,EAAQC,YAClBC,EAAK9E,KAAK3B,KAAKwG,WAAYD,EAAQC,YAQvCxG,KAAK2G,WAAaF,EAAKC,SACpBH,GAAWA,EAAQI,YAClBF,EAAK9E,KAAK3B,KAAK2G,WAAYJ,EAAQI,YAhC3C,IAAIF,EAAOzJ,EAAQ,gBACPA,EAAQ,kBAEpBnB,EAAOD,QAAU0K,EAiCjB,IAAIpF,EAAMuF,EAAKC,SAUfJ,EAAKlG,UAAUwG,cAAgB,SAASC,EAAQC,EAAUC,EAAOC,GAC7D,IAAIC,EAAIjH,KAAKwG,WACThK,EAAIwD,KAAK2G,WAEQ,iBAAZ,IACLI,EAAQ,GAIC,IAAVA,EACCN,EAAKS,OAAOD,EAAGJ,EAAO,GAAIE,GAE1BN,EAAK9E,KAAKsF,EAAGJ,EAAO,IAExBJ,EAAK9E,KAAKnF,EAAGyK,GAKb,IAAI,IAFAE,EAAW1H,KAAK2H,IAAIL,GACpBM,EAAW5H,KAAK6H,IAAIP,GAChBpK,EAAI,EAAGA,EAAEkK,EAAO/J,OAAQH,IAAI,CAChC,IAAI8E,EAAIoF,EAAOlK,GAEf,GAAa,IAAVoK,EAAY,CACX,IAAIQ,EAAI9F,EAAE,GACN+F,EAAI/F,EAAE,GACVP,EAAI,GAAKiG,EAAWI,EAAGF,EAAWG,EAClCtG,EAAI,GAAKmG,EAAWE,EAAGJ,EAAWK,EAClC/F,EAAIP,EAGR,IAAI,IAAIU,EAAE,EAAGA,EAAE,EAAGA,IACXH,EAAEG,GAAKpF,EAAEoF,KACRpF,EAAEoF,GAAKH,EAAEG,IAEVH,EAAEG,GAAKqF,EAAErF,KACRqF,EAAErF,GAAKH,EAAEG,IAMlBkF,IACCL,EAAKgB,IAAIzH,KAAKwG,WAAYxG,KAAKwG,WAAYM,GAC3CL,EAAKgB,IAAIzH,KAAK2G,WAAY3G,KAAK2G,WAAYG,IAG5CE,IACChH,KAAKwG,WAAW,IAAMQ,EACtBhH,KAAKwG,WAAW,IAAMQ,EACtBhH,KAAK2G,WAAW,IAAMK,EACtBhH,KAAK2G,WAAW,IAAMK,IAS9BV,EAAKlG,UAAUuB,KAAO,SAAS+F,GAC3BjB,EAAK9E,KAAK3B,KAAKwG,WAAYkB,EAAKlB,YAChCC,EAAK9E,KAAK3B,KAAK2G,WAAYe,EAAKf,aAQpCL,EAAKlG,UAAUuH,OAAS,SAASD,GAG7B,IADA,IAAI/K,EAAI,EACFA,KAAI,CAEN,IAAIsK,EAAIS,EAAKlB,WAAW7J,GACrBqD,KAAKwG,WAAW7J,GAAKsK,IACpBjH,KAAKwG,WAAW7J,GAAKsK,GAIzB,IAAIzK,EAAIkL,EAAKf,WAAWhK,GACrBqD,KAAK2G,WAAWhK,GAAKH,IACpBwD,KAAK2G,WAAWhK,GAAKH,KAWjC8J,EAAKlG,UAAUwH,SAAW,SAASF,GAC/B,IAAItK,EAAK4C,KAAKwG,WACVqB,EAAK7H,KAAK2G,WACVtJ,EAAKqK,EAAKlB,WACVsB,EAAKJ,EAAKf,WAOd,OAAStJ,EAAG,IAAMwK,EAAG,IAAMA,EAAG,IAAMC,EAAG,IAAQ1K,EAAG,IAAM0K,EAAG,IAAMA,EAAG,IAAMD,EAAG,MACpExK,EAAG,IAAMwK,EAAG,IAAMA,EAAG,IAAMC,EAAG,IAAQ1K,EAAG,IAAM0K,EAAG,IAAMA,EAAG,IAAMD,EAAG,KAQjFvB,EAAKlG,UAAU2H,cAAgB,SAASC,GACpC,IAAIf,EAAIjH,KAAKwG,WACThK,EAAIwD,KAAK2G,WACb,OAAOM,EAAE,IAAMe,EAAM,IAAMA,EAAM,IAAMxL,EAAE,IAAMyK,EAAE,IAAMe,EAAM,IAAMA,EAAM,IAAMxL,EAAE,IASrF8J,EAAKlG,UAAU6H,YAAc,SAASC,GAClC,IAGIC,EAAW,EAAID,EAAIE,UAAU,GAC7BC,EAAW,EAAIH,EAAIE,UAAU,GAG7BE,GAAMtI,KAAKwG,WAAW,GAAK0B,EAAItH,KAAK,IAAMuH,EAC1CI,GAAMvI,KAAK2G,WAAW,GAAKuB,EAAItH,KAAK,IAAMuH,EAC1CK,GAAMxI,KAAKwG,WAAW,GAAK0B,EAAItH,KAAK,IAAMyH,EAC1CI,GAAMzI,KAAK2G,WAAW,GAAKuB,EAAItH,KAAK,IAAMyH,EAE1CK,EAAOjJ,KAAKkJ,IAAIlJ,KAAKkJ,IAAIlJ,KAAKuC,IAAIsG,EAAIC,GAAK9I,KAAKuC,IAAIwG,EAAIC,KACxDG,EAAOnJ,KAAKuC,IAAIvC,KAAKuC,IAAIvC,KAAKkJ,IAAIL,EAAIC,GAAK9I,KAAKkJ,IAAIH,EAAIC,KAG5D,OAAIG,EAAO,GAEC,EAIRF,EAAOE,GAEC,EAGLF,KAERG,eAAe,GAAGC,iBAAiB,KAAKC,GAAG,SAAS/L,EAAQnB,EAAOD,GAWtE,SAASoN,EAAWzD,GAEhBvF,KAAKuF,KAAOA,EAOZvF,KAAK8C,UAQL9C,KAAKiJ,MAAQ,KAMbjJ,KAAKkJ,mBAAqBF,EAAW1C,KAjCzC,IAAIG,EAAOzJ,EAAQ,gBACfmM,EAAOnM,EAAQ,mBAEnBnB,EAAOD,QAAUoN,EAsCjBA,EAAW1C,KAAO,EAOlB0C,EAAWI,gBAAkB,EAO7BJ,EAAW5I,UAAUiJ,SAAW,SAASJ,GACrCjJ,KAAKiJ,MAAQA,GASjBD,EAAW5I,UAAUkJ,kBAAoB,SAASL,KAElD,IAAIvH,EAAO+E,EAAKC,SAShBsC,EAAWO,oBAAsB,SAASC,EAAOC,GAC7ChD,EAAKiD,IAAIhI,EAAM8H,EAAM1C,SAAU2C,EAAM3C,UACrC,IAAI6C,EAAKlD,EAAKmD,cAAclI,GACxBrF,EAAImN,EAAMK,eAAiBJ,EAAMI,eACrC,OAAOF,GAAMtN,EAAEA,GAUnB2M,EAAWc,UAAY,SAASN,EAAOC,GACnC,OAAOD,EAAMO,UAAUnC,SAAS6B,EAAMM,YAU1Cf,EAAW5I,UAAU4J,oBAAsB,SAASR,EAAOC,GACvD,IAAI3G,EAEJ,OAAO9C,KAAKkJ,oBACZ,KAAKF,EAAWI,gBACZtG,EAAUkG,EAAWO,oBAAoBC,EAAMC,GAC/C,MACJ,KAAKT,EAAW1C,KACZxD,EAASkG,EAAWc,UAAUN,EAAMC,GACpC,MACJ,QACI,MAAM,IAAI7M,MAAM,wCAAwCoD,KAAKkJ,oBAEjE,OAAOpG,GAUXkG,EAAWiB,WAAa,SAAST,EAAOC,GACpC,IAAIS,EAAYf,EAAKe,UACjBC,EAAShB,EAAKgB,OAGlB,OAAGX,EAAMjE,OAAS4E,GAAUV,EAAMlE,OAAS4E,OAKtCX,EAAMjE,OAAS2E,GAAaT,EAAMlE,OAAS4E,GAC3CX,EAAMjE,OAAS4E,GAAaV,EAAMlE,OAAS2E,MAK7CV,EAAMjE,OAAS2E,GAAaT,EAAMlE,OAAS2E,MAK3CV,EAAMY,aAAejB,EAAKkB,UAAYZ,EAAMW,aAAejB,EAAKkB,aAK9Db,EAAMY,aAAejB,EAAKkB,UAAYZ,EAAMlE,OAAS4E,GACrDV,EAAMW,aAAejB,EAAKkB,UAAYb,EAAMjE,OAAS4E,OAO9DnB,EAAWsB,MAAQ,EACnBtB,EAAWuB,IAAM,IAEd1B,eAAe,GAAG2B,kBAAkB,KAAKC,GAAG,SAASzN,EAAQnB,EAAOD,GAiBvE,SAAS8O,IACL1B,EAAWnM,KAAKmD,KAAMgJ,EAAWsB,OAjBxBtN,EAAQ,oBACTA,EAAQ,mBACRA,EAAQ,mBACLA,EAAQ,sBAHvB,IAIIgM,EAAahM,EAAQ,2BACdA,EAAQ,gBAEnBnB,EAAOD,QAAU8O,GAYjBA,EAAgBtK,UAAY,IAAI4I,GACN2B,YAAcD,EAQxCA,EAAgBtK,UAAUkJ,kBAAoB,SAASL,GACnD,IAAI2B,EAAS3B,EAAM2B,OACf9H,EAAS9C,KAAK8C,OAElBA,EAAOhG,OAAS,EAEhB,IAAI,IAAIH,EAAE,EAAGkO,EAAWD,EAAO9N,OAAQH,IAAIkO,EAAYlO,IAGnD,IAAI,IAFAmO,EAAKF,EAAOjO,GAERiF,EAAE,EAAGA,EAAEjF,EAAGiF,IAAI,CAClB,IAAImJ,EAAKH,EAAOhJ,GAEboH,EAAWiB,WAAWa,EAAGC,IAAO/K,KAAKgK,oBAAoBc,EAAGC,IAC3DjI,EAAOhC,KAAKgK,EAAGC,GAK3B,OAAOjI,GAWX4H,EAAgBtK,UAAU4K,UAAY,SAAS/B,EAAOvB,EAAM5E,GACxDA,EAASA,MAGT,IAAI,IADA8H,EAAS3B,EAAM2B,OACXjO,EAAI,EAAGA,EAAIiO,EAAO9N,OAAQH,IAAI,CAClC,IAAIgC,EAAIiM,EAAOjO,GAEZgC,EAAEsM,iBACDtM,EAAEuM,aAGHvM,EAAE+I,KAAKE,SAASF,IACf5E,EAAOhC,KAAKnC,GAIpB,OAAOmE,KAERqI,0BAA0B,EAAEtC,eAAe,GAAGuC,mBAAmB,GAAGC,qBAAqB,GAAGC,kBAAkB,GAAGC,kBAAkB,KAAKC,IAAI,SAASxO,EAAQnB,EAAOD,GAgDvK,SAAS6P,IAMLzL,KAAK0L,oBAML1L,KAAK2L,qBAOL3L,KAAK4L,gBAAiB,EAOtB5L,KAAK6L,kBAAmB,EAOxB7L,KAAK8L,UAAY,GAOjB9L,KAAK+L,oBAAsB,GAM3B/L,KAAKgM,gBAAkB,EAavBhM,KAAKiM,oBAAsB,IAAIC,GAAsBC,KAAM,KAM3DnM,KAAKoM,qBAAuB,IAAIC,GAAuBF,KAAM,KAO7DnM,KAAKsM,YAAc,EAMnBtM,KAAKuM,UAAYC,EAASC,kBAM1BzM,KAAK0M,WAAaF,EAASG,mBAO3B3M,KAAK4M,kBAAoBJ,EAASC,kBAOlCzM,KAAK6M,mBAAqBL,EAASG,mBASnC3M,KAAK8M,yBAA0B,EAQ/B9M,KAAK+M,wBAA0B,IAAIC,EAOnChN,KAAKiN,gBAAkB,IA4P3B,SAASC,EAA8BC,EAAaC,GAChD3G,EAAK4G,IAAIF,EAAYlN,SAAS,GAA2B,IAAtBmN,EAAatQ,QAAesQ,EAAaE,QAC5E7G,EAAK4G,IAAIF,EAAYlN,SAAS,GAA2B,GAAtBmN,EAAatQ,QAAesQ,EAAaE,QAC5E7G,EAAK4G,IAAIF,EAAYlN,SAAS,GAA2B,GAAtBmN,EAAatQ,OAAesQ,EAAaE,QAC5E7G,EAAK4G,IAAIF,EAAYlN,SAAS,GAA2B,IAAtBmN,EAAatQ,OAAesQ,EAAaE,QA4sBhF,SAASC,EAAcC,EAAWL,EAAYM,EAAaC,GAQvD,IAAI,IAPAC,EAAeC,EACfC,EAAeC,EACfC,EAAKC,EACLC,EAAKC,EACLlG,EAAQwF,EACRW,EAAQhB,EAAYlN,SACpBmO,EAAY,KACRzR,EAAE,EAAGA,IAAIwR,EAAMrR,OAAO,EAAGH,IAAI,CACjC,IAAI0R,EAAKF,EAAMxR,EAAEwR,EAAMrR,QACnBwR,EAAKH,GAAOxR,EAAE,GAAGwR,EAAMrR,QAI3B2J,EAAKS,OAAOyG,EAAcU,EAAIX,GAC9BjH,EAAKS,OAAO2G,EAAcS,EAAIZ,GAC9BjG,EAAIkG,EAAcA,EAAcF,GAChChG,EAAIoG,EAAcA,EAAcJ,GAEhC/D,EAAIqE,EAAIJ,EAAc3F,GACtB0B,EAAIuE,EAAIJ,EAAc7F,GACtB,IAAIuG,EAAQ9H,EAAK+H,YAAYT,EAAGE,GAOhC,GALe,OAAZG,IACCA,EAAYG,GAIbA,EAAMH,GAAa,EAClB,OAAO,EAEXA,EAAYG,EAEhB,OAAO,EAtpCX,IAAI9H,EAAOzJ,EAAQ,gBACf0M,EAAMjD,EAAKiD,IACXjC,EAAMhB,EAAKgB,IACXlI,EAAMkH,EAAKlH,IAEX2M,GADQlP,EAAQ,kBACMA,EAAQ,iCAC9BqP,EAAuBrP,EAAQ,iCAC/BgQ,EAAkBhQ,EAAQ,4BAC1BwP,EAAWxP,EAAQ,yBAGnByR,GAFkBzR,EAAQ,gCACPA,EAAQ,iCAClBA,EAAQ,qBACjB0R,EAAS1R,EAAQ,oBACjB2R,EAAQ3R,EAAQ,mBAEhB4R,GADO5R,EAAQ,mBACTA,EAAQ,kBAElBnB,EAAOD,QAAU6P,EAGjB,IAAIoD,EAAQpI,EAAKqI,WAAW,EAAE,GAE1B7M,EAAOwE,EAAKqI,WAAW,EAAE,GACzB5M,EAAOuE,EAAKqI,WAAW,EAAE,GACzBC,EAAOtI,EAAKqI,WAAW,EAAE,GACzBE,EAAOvI,EAAKqI,WAAW,EAAE,GACzBG,EAAOxI,EAAKqI,WAAW,EAAE,GACzBI,EAAOzI,EAAKqI,WAAW,EAAE,GACzBK,EAAO1I,EAAKqI,WAAW,EAAE,GACzBM,EAAO3I,EAAKqI,WAAW,EAAE,GACzBO,EAAO5I,EAAKqI,WAAW,EAAE,GACzBQ,EAAQ7I,EAAKqI,WAAW,EAAE,GAC1BS,EAAQ9I,EAAKqI,WAAW,EAAE,GAC1BU,EAAQ/I,EAAKqI,WAAW,EAAE,GAC1BW,EAAQhJ,EAAKqI,WAAW,EAAE,GAC1BY,EAAQjJ,EAAKqI,WAAW,EAAE,GAC1Ba,EAAQlJ,EAAKqI,WAAW,EAAE,GAC1Bc,EAAQnJ,EAAKqI,WAAW,EAAE,GAC1Be,EAAQpJ,EAAKqI,WAAW,EAAE,GAC1BgB,EAAQrJ,EAAKqI,WAAW,EAAE,GAC1BiB,KAoIAC,EAA+BvJ,EAAKC,SACpCuJ,EAA+BxJ,EAAKC,SASxC+E,EAAYrL,UAAU8P,cAAgB,SAAS1G,EAAOC,GAKlD,IAAI,IAJA0G,EAAiBH,EACjBI,EAAiBH,EAGbnO,EAAE,EAAGuO,EAAS7G,EAAM8G,OAAOxT,OAAQgF,IAAIuO,EAAUvO,IAAI,CACzD,IAAIyO,EAAS/G,EAAM8G,OAAOxO,GAE1B0H,EAAMgH,aAAaL,EAAgBI,EAAOzJ,UAG1C,IAAI,IAAIG,EAAE,EAAGwJ,EAAShH,EAAM6G,OAAOxT,OAAQmK,IAAIwJ,EAAUxJ,IAAI,CACzD,IAAIyJ,EAASjH,EAAM6G,OAAOrJ,GAI1B,GAFAwC,EAAM+G,aAAaJ,EAAgBM,EAAO5J,UAEvC9G,KAAKuQ,EAAOhL,KAAOmL,EAAOnL,MACzBiE,EACA+G,EACAJ,EACAI,EAAOxJ,MAAQyC,EAAMzC,MACrB0C,EACAiH,EACAN,EACAM,EAAO3J,MAAQ0C,EAAM1C,OACrB,GAEA,OAAO,GAKnB,OAAO,GAUX0E,EAAYrL,UAAUuQ,iBAAmB,SAASnH,EAAOC,GACrD,IAAImH,EAAe,EAATpH,EAAMqH,GACZC,EAAe,EAATrH,EAAMoH,GAChB,QAAS7Q,KAAK+M,wBAAwBgE,IAAIH,EAAKE,IAOnDrF,EAAYrL,UAAU4Q,MAAQ,WAC1BhR,KAAK+M,wBAAwBiE,QAI7B,IAFA,IAAIC,EAAMjR,KAAK0L,iBACXzE,EAAIgK,EAAInU,OACNmK,KAAI,CACN,IAAInJ,EAAKmT,EAAIhK,GACT2J,EAAM9S,EAAG0L,MAAMqH,GACfC,EAAMhT,EAAG2L,MAAMoH,GACnB7Q,KAAK+M,wBAAwBM,IAAIuD,EAAKE,GAAK,GAK/C,IAAI,IAFAI,EAAKlR,KAAK0L,iBACVyF,EAAKnR,KAAK2L,kBACNhP,EAAE,EAAGA,EAAEuU,EAAGpU,OAAQH,IACtBqD,KAAKiM,oBAAoBmF,QAAQF,EAAGvU,IAExC,IAAQA,EAAE,EAAGA,EAAEwU,EAAGrU,OAAQH,IACtBqD,KAAKoM,qBAAqBgF,QAAQD,EAAGxU,IAIzCqD,KAAK0L,iBAAiB5O,OAASkD,KAAK2L,kBAAkB7O,OAAS,GAUnE2O,EAAYrL,UAAUiR,sBAAwB,SAAS7H,EAAOC,EAAO8G,EAAQG,GACzE,IAAI9R,EAAIoB,KAAKiM,oBAAoB8E,MAajC,OAZAnS,EAAE4K,MAAQA,EACV5K,EAAE6K,MAAQA,EACV7K,EAAE2R,OAASA,EACX3R,EAAE8R,OAASA,EACX9R,EAAE0N,YAActM,KAAKsM,YACrB1N,EAAE0S,aAAetR,KAAK2Q,iBAAiBnH,EAAMC,GAC7C7K,EAAE2N,UAAYvM,KAAKuM,UACnB3N,EAAE8N,WAAa1M,KAAK0M,WACpB9N,EAAE2S,aAAc,EAChB3S,EAAE4S,QAAUxR,KAAK6L,iBACjBjN,EAAE6S,OAASzR,KAAKiN,gBAETrO,GAUX6M,EAAYrL,UAAUsR,uBAAyB,SAASlI,EAAOC,EAAO8G,EAAQG,GAC1E,IAAI9R,EAAIoB,KAAKoM,qBAAqB2E,MAalC,OAZAnS,EAAE4K,MAAQA,EACV5K,EAAE6K,MAAQA,EACV7K,EAAE2R,OAASA,EACX3R,EAAE8R,OAASA,EACX9R,EAAE+S,aAAa3R,KAAK8L,WACpBlN,EAAEmN,oBAAsB/L,KAAK+L,oBAC7BnN,EAAEgT,iBAAmB5R,KAAKgM,gBAC1BpN,EAAE4S,QAAUxR,KAAK6L,iBACjBjN,EAAE2S,aAAc,EAChB3S,EAAE2N,UAAYvM,KAAK4M,kBACnBhO,EAAE8N,WAAa1M,KAAK6M,mBACpBjO,EAAE8M,iBAAiB5O,OAAS,EACrB8B,GASX6M,EAAYrL,UAAUyR,0BAA4B,SAASjT,GACvD,IAAId,EAAKkC,KAAK0R,uBAAuB9S,EAAE4K,MAAO5K,EAAE6K,MAAO7K,EAAE2R,OAAQ3R,EAAE8R,QAKnE,OAJAjK,EAAK9E,KAAK7D,EAAGgU,cAAelT,EAAEkT,eAC9BrL,EAAK9E,KAAK7D,EAAGiU,cAAenT,EAAEmT,eAC9BtL,EAAKuL,WAAWlU,EAAG3B,EAAGyC,EAAEqT,SACxBnU,EAAG4N,iBAAiB5K,KAAKlC,GAClBd,GAIX2N,EAAYrL,UAAU8R,0BAA4B,SAASC,GACvD,IAAIvT,EAAIoB,KAAK0L,iBAAiB1L,KAAK0L,iBAAiB5O,OAAS,GACzDgB,EAAKkC,KAAK0R,uBAAuB9S,EAAE4K,MAAO5K,EAAE6K,MAAO7K,EAAE2R,OAAQ3R,EAAE8R,QAC/DlH,EAAQ5K,EAAE4K,MACF5K,EAAE6K,MACdhD,EAAK4G,IAAIvP,EAAGgU,cAAe,EAAG,GAC9BrL,EAAK4G,IAAIvP,EAAGiU,cAAe,EAAG,GAC9BtL,EAAK4G,IAAIvP,EAAG3B,EAAG,EAAG,GAClB,IAAI,IAAIQ,EAAE,EAAGA,IAAIwV,EAAaxV,KAC1BiC,EAAIoB,KAAK0L,iBAAiB1L,KAAK0L,iBAAiB5O,OAAS,EAAIH,IACxD6M,QAAUA,GACX/C,EAAKgB,IAAI3J,EAAG3B,EAAG2B,EAAG3B,EAAGyC,EAAEqT,SACvBxL,EAAKgB,IAAI3J,EAAGgU,cAAehU,EAAGgU,cAAelT,EAAEkT,eAC/CrL,EAAKgB,IAAI3J,EAAGiU,cAAejU,EAAGiU,cAAenT,EAAEmT,iBAE/CtL,EAAKiD,IAAI5L,EAAG3B,EAAG2B,EAAG3B,EAAGyC,EAAEqT,SACvBxL,EAAKgB,IAAI3J,EAAGgU,cAAehU,EAAGgU,cAAelT,EAAEmT,eAC/CtL,EAAKgB,IAAI3J,EAAGiU,cAAejU,EAAGiU,cAAenT,EAAEkT,gBAEnDhU,EAAG4N,iBAAiB5K,KAAKlC,GAG7B,IAAIwT,EAAiB,EAAED,EAKvB,OAJA1L,EAAK4L,MAAMvU,EAAGgU,cAAehU,EAAGgU,cAAeM,GAC/C3L,EAAK4L,MAAMvU,EAAGiU,cAAejU,EAAGiU,cAAeK,GAC/C3L,EAAK6L,UAAUxU,EAAG3B,EAAG2B,EAAG3B,GACxBsK,EAAKuL,WAAWlU,EAAG3B,EAAG2B,EAAG3B,GAClB2B,GAiBX2N,EAAYrL,UAAUuO,EAAM4D,KAAO5D,EAAM6D,QACzC/G,EAAYrL,UAAUqS,WAAa,SAC/BC,EACAvF,EACAM,EACAC,EACAiF,EACAC,EACAC,EACAC,EACAC,GAGA,OAAGA,GAGQ,GAkBftH,EAAYrL,UAAUuO,EAAM4D,KAAO5D,EAAMqE,KACzCvH,EAAYrL,UAAU6S,QAAU,SAC5BN,EACAC,EACAC,EACAC,EACAI,EACAC,EACAC,EACAC,EACAN,GAGA,OAAGA,GAGQ,GAWf,IAAIO,EAAyB,IAAI1E,GAAM2E,MAAO,EAAGC,OAAQ,IACrDC,EAAwBhN,EAAKC,SAcjC+E,EAAYrL,UAAUuO,EAAM+E,QAAU/E,EAAM6D,QAC5C/G,EAAYrL,UAAUuO,EAAM+E,QAAU/E,EAAMqE,KAC5CvH,EAAYrL,UAAUuT,cAAgB,SAClCjB,EACAvF,EACAyG,EACAlG,EACAmG,EACAzG,EACA0G,EACAC,EACAhB,GAKA,IAAIiB,EAAYP,EAChBhN,EAAK4G,IAAI2G,EAAW5G,EAAatQ,OAAO,EAAE,GAC1C2J,EAAKS,OAAO8M,EAAUA,EAAUD,GAChCtN,EAAKgB,IAAIuM,EAAUA,EAAUF,GAC7B,IAAIG,EAAUjU,KAAKkU,aAAaL,EAAYzG,EAAa4G,EAAUD,EAAcrB,EAAWvF,EAAYyG,EAAelG,EAAaqF,EAAU3F,EAAaE,QAE3J7G,EAAK4G,IAAI2G,GAAW5G,EAAatQ,OAAO,EAAG,GAC3C2J,EAAKS,OAAO8M,EAAUA,EAAUD,GAChCtN,EAAKgB,IAAIuM,EAAUA,EAAUF,GAC7B,IAAIK,EAAUnU,KAAKkU,aAAaL,EAAYzG,EAAa4G,EAAUD,EAAcrB,EAAWvF,EAAYyG,EAAelG,EAAaqF,EAAU3F,EAAaE,QAE3J,GAAGyF,IAAakB,GAAWE,GACvB,OAAO,EAIX,IAAI9X,EAAIiX,EAIR,OAHApG,EAA8B7Q,EAAE+Q,GACnBpN,KAAKoU,aAAa1B,EAAWvF,EAAYyG,EAAelG,EAAamG,EAAYxX,EAAEyX,EAAgBC,EAAchB,GAE9GkB,EAAUE,GAgB9B1I,EAAYrL,UAAUuO,EAAM+E,QAAU/E,EAAM4D,MAC5C9G,EAAYrL,UAAUiU,YAAc,SAChC1B,EACAC,EACA0B,EACAxB,EACAe,EACAzG,EACA0G,EACAC,EACAhB,GAGA,OAAGA,GAGQ,GAIf,IAAIwB,EAA0B9N,EAAKC,SAC/B8N,EAA0B/N,EAAKC,SAC/B+N,EAA2B,IAAI7F,GAAM2E,MAAO,EAAGC,OAAQ,IAc3D/H,EAAYrL,UAAUuO,EAAM+E,QAAU/E,EAAM+E,SAC5CjI,EAAYrL,UAAUsU,eAAiB,SAAS5J,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,GAatE,IAAI,IAPAkC,EAAaV,EACbW,EAAaV,EAEbrC,EAAc,EAIVxV,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAElB8J,EAAK4G,IAAI4H,GAAgB,IAAJtY,GAAO,EAAE,GAAGgY,EAAG7X,OAAO,EAAE,GAC7C2J,EAAKS,OAAO+N,EAAWA,EAAWJ,GAClCpO,EAAKgB,IAAIwN,EAAWA,EAAWL,GAE/B,IAAI,IAAIhT,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAElB6E,EAAK4G,IAAI6H,GAAgB,IAAJtT,GAAO,EAAE,GAAGkT,EAAGhY,OAAO,EAAG,GAC9C2J,EAAKS,OAAOgO,EAAWA,EAAWF,GAClCvO,EAAKgB,IAAIyN,EAAWA,EAAWH,GAG5B/U,KAAK8M,0BACJqI,EAAuBnV,KAAK4L,eAC5B5L,KAAK4L,gBAAiB,GAG1B,IAAI9I,EAAS9C,KAAKoV,aAAatK,EAAG6J,EAAGM,EAAWJ,EAAI9J,EAAG+J,EAAGI,EAAWF,EAAIjC,EAAU4B,EAAGrH,OAAQwH,EAAGxH,QAMjG,GAJGtN,KAAK8M,0BACJ9M,KAAK4L,eAAiBuJ,GAGvBpC,GAAYjQ,EACX,OAAO,EAGXqP,GAAerP,GAIpB9C,KAAK8M,0BAEJqI,EAAuBnV,KAAK4L,eAC5B5L,KAAK4L,gBAAiB,GAI1B,IAAIyJ,EAAOZ,EACXvH,EAA8BmI,EAAKV,GACnC,IAAIV,EAAUjU,KAAK2T,cAAc7I,EAAGuK,EAAKT,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,GAM7D,GAJG/S,KAAK8M,0BACJ9M,KAAK4L,eAAiBuJ,GAGvBpC,GAAYkB,EACX,OAAO,EAIX,GAFA9B,GAAe8B,EAEZjU,KAAK8M,wBAAwB,CAE5B,IAAIqI,EAAuBnV,KAAK4L,eAChC5L,KAAK4L,gBAAiB,EAG1BsB,EAA8BmI,EAAKP,GACnC,IAAIX,EAAUnU,KAAK2T,cAAc5I,EAAGsK,EAAKN,EAAGC,EAAIlK,EAAG6J,EAAGC,EAAGC,EAAI9B,GAM7D,OAJG/S,KAAK8M,0BACJ9M,KAAK4L,eAAiBuJ,MAGvBpC,IAAYoB,KAGfhC,GAAegC,EAEZnU,KAAK8M,yBACDqF,GAAenS,KAAK4L,gBACnB5L,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0BC,IAI5DA,IAgBX1G,EAAYrL,UAAUuO,EAAM4D,KAAO5D,EAAM4D,MACzC9G,EAAYrL,UAAUkV,SAAW,SAC7B9L,EACA+G,EACAgF,EACAC,EACA/L,EACAiH,EACA+E,EACAC,EACA3C,GAGA,OAAGA,GAGQ,GAgBftH,EAAYrL,UAAUuO,EAAMgH,MAAQhH,EAAM4D,MAC1C9G,EAAYrL,UAAUwV,UAAY,SAASC,EAAWC,EAAYC,EAAaC,EACpCrD,EAAWC,EAAYC,EAAaC,EAAWC,GACtF,IAAIpF,EAAe1L,EACf4L,EAAe3L,EACf+T,EAAgBlH,EAChBmH,EAAgBlH,EAChBmH,EAAYlH,EACZmH,EAAgBlH,EAChBxN,EAAOyN,EACPkH,EAAcjH,EACdkH,EAAejH,EACflB,EAAQ4B,EACRoC,EAAc,EAGlB1L,EAAK4G,IAAIM,GAAeiF,EAAU9V,OAAO,EAAG,GAC5C2J,EAAK4G,IAAIQ,EAAe+E,EAAU9V,OAAO,EAAG,GAG5C2J,EAAKS,OAAO+O,EAAetI,EAAcmF,GACzCrM,EAAKS,OAAOgP,EAAerI,EAAciF,GAEzCrL,EAAIwO,EAAeA,EAAepD,GAClCpL,EAAIyO,EAAeA,EAAerD,GAElCpM,EAAK9E,KAAKgM,EAAasI,GACvBxP,EAAK9E,KAAKkM,EAAaqI,GAGvBxM,EAAIyM,EAAWtI,EAAcF,GAC7BlH,EAAK6L,UAAU8D,EAAeD,GAG9B1P,EAAKuL,WAAWsE,EAAcF,GAE9B3P,EAAKS,OAAOmP,EAAaxH,EAAOmH,GAGhC7H,EAAM,GAAKR,EACXQ,EAAM,GAAKN,EACX,IAAI,IAAIlR,EAAE,EAAGA,EAAEwR,EAAMrR,OAAQH,IAAI,CAC7B,IAAI2D,EAAI6N,EAAMxR,GAEd+M,EAAIhI,EAAMpB,EAAGyV,GAEb,IAAInS,EAAIrE,EAAImC,EAAK2U,GAEjB,GAAGzS,EAAI,EAAE,CAEL,GAAGmP,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsBwE,EAAUlD,EAASmD,EAAWlD,GACjET,IAEA1L,EAAK9E,KAAK/C,EAAEqT,QAASoE,GACrB5P,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAG3BxL,EAAK4L,MAAM3Q,EAAM2U,EAAazS,GAG9B8F,EAAI9K,EAAEkT,cAAexR,EAAGoB,GACxBgI,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAe+D,EAAU/O,UAGhD4C,EAAI9K,EAAEmT,cAAezR,EAAMuS,GAC3BpL,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAec,GACtCnJ,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeY,EAAS7L,UAE/C9G,KAAK0L,iBAAiB5K,KAAKlC,GAEvBoB,KAAK8M,yBACF9M,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,KAM3E,OAAGmU,IAIC/S,KAAK8M,yBACFqF,GAAenS,KAAK4L,gBACnB5L,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0BC,IAI5DA,IAGX1G,EAAYrL,UAAUuO,EAAM4H,SAAW5H,EAAM+E,SAC7CjI,EAAYrL,UAAUoW,gBAAkB,SACpCC,EACAC,EACAC,EACAC,EACA/C,EACAzG,EACA0G,EACAC,EACAhB,GAEA,OAAO/S,KAAK6W,WAAWJ,EAAaC,EAAcC,EAAiBC,EAAe/C,EAAYzG,EAAa0G,EAAgBC,EAAchB,EAAU3F,EAAaE,OAAQ,IAkB5K7B,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAM4D,MAC3C9G,EAAYrL,UAAUyW,WAAa,SAC/BE,EACAC,EACAC,EACAC,EACAvE,EACAC,EACAC,EACAC,EACAC,EACAoE,EACAC,GAEA,IAAID,EAAaA,GAAc,EAC3BC,OAAsC,IAAjB,EAA+BA,EAAeJ,EAAY1J,OAE/E+J,EAAYpV,EACZqV,EAAwBpV,EACxBqV,EAAiBxI,EACjByI,EAAaxI,EACbsH,EAAerH,EACfkH,EAAYjH,EACZkH,EAAgBjH,EAChBxB,EAAeyB,EACfvB,EAAewB,EACf4G,EAAgB3G,EAChB4G,EAAgB3G,EAChB7N,EAAO8N,EACPiI,EAAehI,EACfiI,EAAsBhI,EAEtBvB,EAAQ4B,EAGZtJ,EAAK4G,IAAIM,GAAeiF,EAAU9V,OAAO,EAAG,GAC5C2J,EAAK4G,IAAIQ,EAAe+E,EAAU9V,OAAO,EAAG,GAG5C2J,EAAKS,OAAO+O,EAAetI,EAAcmF,GACzCrM,EAAKS,OAAOgP,EAAerI,EAAciF,GAEzCrL,EAAIwO,EAAeA,EAAepD,GAClCpL,EAAIyO,EAAeA,EAAerD,GAElCpM,EAAK9E,KAAKgM,EAAasI,GACvBxP,EAAK9E,KAAKkM,EAAaqI,GAGvBxM,EAAIyM,EAAWtI,EAAcF,GAC7BlH,EAAK6L,UAAU8D,EAAeD,GAG9B1P,EAAKuL,WAAWsE,EAAcF,GAG9B1M,EAAIhI,EAAMuV,EAActJ,GACxB,IAAI/J,EAAIrE,EAAImC,EAAM4U,GAClB5M,EAAI8N,EAAY7J,EAAckF,GAE9BnJ,EAAI+N,EAAcR,EAAcpE,GAEhC,IAAI8E,EAAYP,EAAeD,EAE/B,GAAG1X,KAAKiF,IAAId,GAAK+T,EAAU,CAGvBlR,EAAK4L,MAAMgF,EAAWf,EAAc1S,GACpC8F,EAAI6N,EAAgBN,EAAcI,GAGlC5Q,EAAK4L,MAAMiF,EAAuBhB,EAAc/W,EAAI+W,EAAcmB,IAClEhR,EAAK6L,UAAUgF,EAAsBA,GACrC7Q,EAAK4L,MAAMiF,EAAuBA,EAAuBH,GACzD1P,EAAI8P,EAAeA,EAAeD,GAGlC,IAAIM,EAAOrY,EAAI6W,EAAemB,GAC1BM,EAAOtY,EAAI6W,EAAezI,GAC1BmK,EAAOvY,EAAI6W,EAAevI,GAE9B,GAAG+J,EAAMC,GAAQD,EAAME,EAAK,CAGxB,GAAG/E,EACC,OAAO,EAGPnU,EAAIoB,KAAKqR,sBAAsB0F,EAAWpE,EAASqE,EAAYpE,GAmBnE,OAjBAnM,EAAK4L,MAAMzT,EAAEqT,QAASoF,GAAY,GAClC5Q,EAAK6L,UAAU1T,EAAEqT,QAASrT,EAAEqT,SAE5BxL,EAAK4L,MAAOzT,EAAEkT,cAAelT,EAAEqT,QAAUmF,GACzC3P,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAEjD4C,EAAI9K,EAAEmT,cAAewF,EAAgB1E,GACrCpL,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAec,GACtCnJ,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeY,EAAS7L,UAE/C9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAGxD,GAKfuP,EAAM,GAAKR,EACXQ,EAAM,GAAKN,EAEX,IAAI,IAAIlR,EAAE,EAAGA,EAAEwR,EAAMrR,OAAQH,IAAI,CAC7B,IAAI2D,EAAI6N,EAAMxR,GAId,GAFA+M,EAAIhI,EAAMpB,EAAG2W,GAEVxQ,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAIJ,EAAW,GAAG,CAEjD,GAAG5E,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsB0F,EAAWpE,EAASqE,EAAYpE,GAsBnE,OApBAnM,EAAK9E,KAAK/C,EAAEqT,QAASvQ,GACrB+E,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAG3BxL,EAAK4L,MAAMzT,EAAEkT,cAAelT,EAAEqT,QAASmF,GACvC3P,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAEjD4C,EAAI9K,EAAEmT,cAAezR,EAAGuS,GACxBpM,EAAK4L,MAAMqF,EAAqB9Y,EAAEqT,SAAUkF,GAC5C1P,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAe2F,GACtCjQ,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAec,GACtCnJ,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeY,EAAS7L,UAE/C9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAGxD,GAIf,OAAO,GAeX6M,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAM+E,SAC3CjI,EAAYrL,UAAU4X,cAAgB,SAASlN,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,GACrE,OAAO/S,KAAK6W,WAAW/L,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,EAAU+B,EAAGxH,SAiBlE7B,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAM6D,QAC3C/G,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAMqE,KAC3CvH,EAAYrL,UAAU8T,aAAe,SACjC6C,EACAC,EACAC,EACAC,EACAxE,EACAvF,EACAM,EACAC,EACAqF,EACAqE,GAsCA,IAAI,IApCAA,EAAsC,iBAAjB,EAA4BA,EAAeJ,EAAY1J,OAE5EK,EAAe1L,EACf4L,EAAe3L,EACfiU,EAAYpH,EACZqH,EAAgBpH,EAChBqH,EAAcpH,EAKdvN,EAAO4N,EACP2I,EAAc1I,EAKd2I,EAA4BzI,EAC5B0I,EAAYzI,EACZ0I,EAAgBzI,EAChB0I,EAAezI,EAEf0I,GAAQ,EACRC,EAAuBlW,OAAOC,UAU9B6L,EAAQhB,EAAYlN,SAGhBtD,EAAE,EAAGA,IAAIwR,EAAMrR,OAAO,EAAGH,IAAI,CACjC,IAAI0R,EAAKF,EAAMxR,EAAEwR,EAAMrR,QACnBwR,EAAKH,GAAOxR,EAAE,GAAGwR,EAAMrR,QAiB3B,GAfA2J,EAAKS,OAAOyG,EAAcU,EAAIX,GAC9BjH,EAAKS,OAAO2G,EAAcS,EAAIZ,GAC9BjG,EAAIkG,EAAcA,EAAcF,GAChChG,EAAIoG,EAAcA,EAAcJ,GAChC/D,EAAIyM,EAAWtI,EAAcF,GAE7BlH,EAAK6L,UAAU8D,EAAeD,GAG9B1P,EAAKuL,WAAWqE,EAAaD,GAG7B3P,EAAK4L,MAAM8F,EAAU9B,GAAaW,EAAY1J,QAC9C7F,EAAI0Q,EAAUA,EAAUlB,GAErB1J,EAAc4K,EAAUhL,EAAYM,EAAaC,GAAa,CAE7DjH,EAAKiD,IAAI0O,EAAczK,EAAawK,GACpC,IAAIK,EAAoB/Y,KAAKiF,IAAI+B,EAAKlH,IAAI6Y,EAAc/B,IAErDmC,EAAoBD,IACnB9R,EAAK9E,KAAK0W,EAAaF,GACvBI,EAAuBC,EACvB/R,EAAK4L,MAAM6F,EAA0B7B,EAAYmC,GACjD/R,EAAKgB,IAAIyQ,EAA0BA,EAA0BC,GAC7DG,GAAQ,IAKpB,GAAGA,EAAM,CAEL,GAAGvF,EACC,OAAO,EAGPnU,EAAIoB,KAAKqR,sBAAsB0F,EAAWrE,EAAWsE,EAAY7J,GAkBrE,OAjBA1G,EAAKiD,IAAI9K,EAAEqT,QAASoG,EAAcpB,GAClCxQ,EAAK6L,UAAU1T,EAAEqT,QAASrT,EAAEqT,SAE5BxL,EAAK4L,MAAMzT,EAAEkT,cAAgBlT,EAAEqT,QAASmF,GACxC3P,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAEjD4C,EAAI9K,EAAEmT,cAAemG,EAA2BzK,GAChDhG,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAetE,GACtC/D,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeW,EAAW5L,UAEjD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAMd,KAAK6R,0BAA0BjT,IAGzD,EAIX,GAAGwY,EAAe,EACd,IAAQza,EAAE,EAAGA,EAAEwR,EAAMrR,OAAQH,IAAI,CAC7B,IAAI8b,EAActK,EAAMxR,GAKxB,GAJA8J,EAAKS,OAAO+Q,EAAaQ,EAAa/K,GACtCjG,EAAIwQ,EAAaA,EAAaxK,GAE9B/D,EAAIhI,EAAMuW,EAAahB,GACpBxQ,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAIX,EAAc,GAAG,CAEpD,GAAGrE,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsB0F,EAAWrE,EAAWsE,EAAY7J,GAoBrE,OAlBA1G,EAAK9E,KAAK/C,EAAEqT,QAASvQ,GACrB+E,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAG3BxL,EAAK4L,MAAMzT,EAAEkT,cAAelT,EAAEqT,QAASmF,GACvC3P,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAEjD4C,EAAI9K,EAAEmT,cAAekG,EAAaxK,GAClChG,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAetE,GACtC/D,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeW,EAAW5L,UAEjD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAGxD,GAKnB,OAAO,GAGX,IAAIgP,EAAmBnH,EAAKC,SACxBoH,EAAmBrH,EAAKC,SACxBsH,EAASvH,EAAKC,SACdwH,EAASzH,EAAKC,SAwDlB+E,EAAYrL,UAAUuO,EAAM4H,SAAW5H,EAAM6D,QAC7C/G,EAAYrL,UAAUuO,EAAM4H,SAAW5H,EAAMqE,KAC7CvH,EAAYrL,UAAUsY,eAAiB,SACnCjC,EACAC,EACAiC,EACA/B,EACAlE,EACAvF,EACAM,EACAC,EACAqF,GAEA,IAAIpF,EAAe1L,EACf4L,EAAe3L,EACfiU,EAAYpH,EACZqH,EAAgBpH,EAChBsH,EAAerH,EACfuI,EAAatI,EACb0J,EAAmBzJ,EAGnBzN,EAAO4N,EAKP4I,EAA4BzI,EAI5B2I,EAAgBvI,EAChBgJ,EAAgB/I,EAChByI,EAAuBlW,OAAOC,UAG9BgW,GAAQ,EACRnK,EAAQhB,EAAYlN,SAGxB,IAAIsN,EAAcoL,EAAexL,EAAYM,EAAaC,GACtD,OAAO,EAGX,GAAGqF,EACC,OAAO,EAKX,IAAI,IAAIpW,EAAE,EAAGA,IAAIwR,EAAMrR,OAAO,EAAGH,IAAI,CACjC,IAAI0R,EAAKF,EAAMxR,EAAEwR,EAAMrR,QACnBwR,EAAKH,GAAOxR,EAAE,GAAGwR,EAAMrR,QAG3B2J,EAAKS,OAAOyG,EAAcU,EAAIX,GAC9BjH,EAAKS,OAAO2G,EAAcS,EAAIZ,GAC9BjG,EAAIkG,EAAcA,EAAcF,GAChChG,EAAIoG,EAAcA,EAAcJ,GAGhC/D,EAAIyM,EAAWtI,EAAcF,GAC7BlH,EAAK6L,UAAU8D,EAAeD,GAG9B1P,EAAKuL,WAAWsE,EAAcF,GAG9B1M,EAAIhI,EAAMiX,EAAgBhL,GAClBpO,EAAImC,EAAM4U,GAClB5M,EAAI8N,EAAY7J,EAAcF,GAE9B/D,EAAIkP,EAAkBD,EAAgBlL,GAEtChH,EAAKiD,IAAI0O,EAAczK,EAAagL,GACpC,IAAIH,EAAoB/Y,KAAKiF,IAAI+B,EAAKlH,IAAI6Y,EAAc9B,IAErDkC,EAAoBD,IACnBA,EAAuBC,EACvB/R,EAAK4L,MAAM6F,EAA0B5B,EAAakC,GAClD/R,EAAKgB,IAAIyQ,EAA0BA,EAA0BS,GAC7DlS,EAAK9E,KAAKkX,EAAcvC,GACxBgC,GAAQ,GAIhB,GAAGA,EAAM,CACL,IAAI1Z,EAAIoB,KAAKqR,sBAAsBoF,EAAa/D,EAAWgE,EAAcvJ,GAqBzE,OAnBA1G,EAAK4L,MAAMzT,EAAEqT,QAAS4G,GAAgB,GACtCpS,EAAK6L,UAAU1T,EAAEqT,QAASrT,EAAEqT,SAG5BxL,EAAK4G,IAAIzO,EAAEkT,cAAgB,EAAG,GAC9BrK,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAe6G,GACtCjP,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAe2E,EAAa3P,UAGnD4C,EAAI9K,EAAEmT,cAAemG,EAA2BzK,GAChDhG,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAetE,GACtC/D,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAeW,EAAW5L,UAEjD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAMd,KAAK6R,0BAA0BjT,IAGzD,EAIX,OAAO,GAkBX6M,EAAYrL,UAAUuO,EAAMmI,QAC5BrL,EAAYrL,UAAUgV,aAAe,SACjC5L,EACA+G,EACAuI,EACAtD,EACA/L,EACAiH,EACAqI,EACArD,EACA3C,EACAiG,EACAC,GAGA,IAAIvX,EAAOO,EACP+W,EAAUA,GAAWzI,EAAOjD,OAC5B2L,EAAUA,GAAWvI,EAAOpD,OAEhC5D,EAAIhI,EAAKoX,EAAQC,GACjB,IAAI1c,EAAI2c,EAAUC,EAClB,GAAGxS,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAI1b,EAAE,GACrC,OAAO,EAGX,GAAG0W,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsB7H,EAAMC,EAAM8G,EAAOG,GAkBtD,OAjBAhH,EAAI9K,EAAEqT,QAAS8G,EAASD,GACxBrS,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAE3BxL,EAAK4L,MAAOzT,EAAEkT,cAAelT,EAAEqT,QAAU+G,GACzCvS,EAAK4L,MAAOzT,EAAEmT,cAAenT,EAAEqT,SAAUgH,GAEzCxR,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAegH,GACtCpP,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAetI,EAAM1C,UAE5CW,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAegH,GACtCrP,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAetI,EAAM3C,UAE5C9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAExD,GAgBX6M,EAAYrL,UAAUuO,EAAMgH,MAAQhH,EAAM6D,QAC1C/G,EAAYrL,UAAUuO,EAAMgH,MAAQhH,EAAMqE,KAC1CvH,EAAYrL,UAAU8Y,YAAc,SAChCrD,EACAC,EACAC,EACAC,EACAtD,EACAvF,EACAM,EACAC,EACAqF,GAEA,IAAIkF,EAAchW,EACdoU,EAAcnU,EACdR,EAAOqN,EAEPoK,EAAc,EAClB1S,EAAKS,OAAOmP,EAAaxH,EAAOmH,GAEhC,IAAI,IAAIrZ,EAAE,EAAGA,IAAIwQ,EAAYlN,SAASnD,OAAQH,IAAI,CAC9C,IAAI2D,EAAI6M,EAAYlN,SAAStD,GAM7B,GALA8J,EAAKS,OAAO+Q,EAAa3X,EAAGoN,GAC5BjG,EAAIwQ,EAAaA,EAAaxK,GAE9B/D,EAAIhI,EAAMuW,EAAalC,GAEpBxW,EAAImC,EAAK2U,IAAgB,EAAE,CAE1B,GAAGtD,EACC,OAAO,EAIXoG,IAEA,IAAIva,EAAIoB,KAAKqR,sBAAsBwE,EAAUnD,EAAWoD,EAAW3I,GAEnEzD,EAAIhI,EAAMuW,EAAalC,GAEvBtP,EAAK9E,KAAK/C,EAAEqT,QAASoE,GAErB,IAAIzS,EAAIrE,EAAImC,EAAM9C,EAAEqT,SACpBxL,EAAK4L,MAAM3Q,EAAM9C,EAAEqT,QAASrO,GAG5B8F,EAAI9K,EAAEmT,cAAekG,EAAavF,EAAW5L,UAI7C4C,EAAK9K,EAAEkT,cAAemG,EAAavW,GACnCgI,EAAK9K,EAAEkT,cAAelT,EAAEkT,cAAe+D,EAAU/O,UAEjD9G,KAAK0L,iBAAiB5K,KAAKlC,GAEvBoB,KAAK8M,yBACF9M,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,KAY3E,OANGoB,KAAK8M,yBACD9M,KAAK4L,gBAAkBuN,GACtBnZ,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0BiH,IAI5DA,GAgBX1N,EAAYrL,UAAUuO,EAAM4H,SAAW5H,EAAMgH,OAC7ClK,EAAYrL,UAAUgZ,cAAgB,SAClC3C,EACAC,EACAiC,EACA/B,EACAf,EACAC,EACAC,EACAC,EACAjD,GAEA,IAAIrR,EAAOO,EACPoU,EAAcnU,EAElB8T,EAAaA,GAAc,EAE3BtM,EAAIhI,EAAMiX,EAAgB5C,GAC1BtP,EAAKS,OAAOmP,EAAaxH,EAAOmH,GAEhC,IAAIpS,EAAIrE,EAAImC,EAAM2U,GAElB,GAAGzS,EAAI,EACH,OAAO,EAEX,GAAGmP,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsBwE,EAAUY,EAAaX,EAAWY,GAkBrE,OAhBAjQ,EAAK9E,KAAK/C,EAAEqT,QAASoE,GACrB5P,EAAK4L,MAAO3Q,EAAM9C,EAAEqT,QAASrO,GAI7B8F,EAAK9K,EAAEkT,cAAe6G,EAAgBjX,GACtCgI,EAAK9K,EAAEkT,cAAelT,EAAEkT,cAAe+D,EAAU/O,UAGjD4C,EAAK9K,EAAEmT,cAAe4G,EAAgBlC,EAAa3P,UAEnD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAExD,GAgBX6M,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAM4H,UAC3C9K,EAAYrL,UAAUiZ,eAAiB,SACnCtC,EACAC,EACAC,EACAC,EACAT,EACAC,EACAiC,EACA/B,EACA7D,GAEA,IAAIrR,EAAOO,EAGX,GADAyH,EAAIhI,EAAMiX,EAAgB1B,GACvBxQ,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAIf,EAAY1J,OAAQ,GACvD,OAAO,EAEX,GAAGyF,EACC,OAAO,EAGX,IAAInU,EAAIoB,KAAKqR,sBAAsB0F,EAAWN,EAAaO,EAAYN,GAkBvE,OAjBAjQ,EAAK9E,KAAK/C,EAAEqT,QAASvQ,GACrB+E,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAG3BxL,EAAK4L,MAAMzT,EAAEkT,cAAelT,EAAEqT,QAAS+E,EAAY1J,QACnD7F,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAemF,GACtCvN,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeiF,EAAWjQ,UAGjD4C,EAAI9K,EAAEmT,cAAe4G,EAAgBlC,EAAa3P,UAElD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAGxD,GAGX,IAAI0a,EAAyB,IAAI7K,GAASnB,OAAQ,IAC9CiM,EAAoB9S,EAAKC,SACzB8S,EAAoB/S,EAAKC,SACLD,EAAKC,SAc7B+E,EAAYrL,UAAUuO,EAAMgH,MAAQhH,EAAM+E,SAC1CjI,EAAYrL,UAAUqZ,aAAe,SACjC5D,EACAC,EACAC,EACAC,EACAnC,EACAzG,EACAsM,EACA3F,EACAhB,GAEA,IAAI4G,EAAOJ,EACPK,EAAOJ,EACPK,EAASP,EAIb7S,EAAK4G,IAAIsM,GAAOvM,EAAatQ,OAAO,EAAG,GACvC2J,EAAKS,OAAOyS,EAAKA,EAAK5F,GACtBtM,EAAIkS,EAAKA,EAAKD,GAEdjT,EAAK4G,IAAIuM,EAAOxM,EAAatQ,OAAO,EAAG,GACvC2J,EAAKS,OAAO0S,EAAKA,EAAK7F,GACtBtM,EAAImS,EAAKA,EAAKF,GAEdG,EAAOvM,OAASF,EAAaE,OAE7B,IAAI6H,EAGDnV,KAAK8M,0BACJqI,EAAuBnV,KAAK4L,eAC5B5L,KAAK4L,gBAAiB,GAI1B,IAAIkO,EAAe9Z,KAAK+Z,YAAYlG,EAAYgG,EAAOF,EAAK,EAAG9D,EAAUC,EAAWC,EAAYC,EAAYjD,GACxGiH,EAAeha,KAAK+Z,YAAYlG,EAAYgG,EAAOD,EAAK,EAAG/D,EAAUC,EAAWC,EAAYC,EAAYjD,GAO5G,GAJG/S,KAAK8M,0BACJ9M,KAAK4L,eAAiBuJ,GAGvBpC,EACC,OAAO+G,GAAgBE,EAEvB,IAAIC,EAAWH,EAAeE,EAM9B,OALGha,KAAK8M,yBACDmN,GACCja,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0B+H,IAG5DA,GAefxO,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAMgH,OAC3ClK,EAAYrL,UAAU2Z,YAAc,SAAYjP,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,GACtE,IAAIgE,EAAajM,EACbkM,EAAcrC,EACdsC,EAAerC,EACfiB,EAAY9K,EAEZgL,EAAchB,EACdiB,EAAahB,EAEjBgB,EAAaA,GAAc,EAG3B,IAAIkE,EAAgBjY,EAChBoU,EAAcnU,EACdiY,EAAOpL,EAEXrF,EAAIwQ,EAAejD,EAAclB,GAGjCtP,EAAKS,OAAOmP,EAAaxH,EAAOmH,GAGhC,IAAIpS,EAAIrE,EAAI8W,EAAa6D,GAEzB,GAAGtW,EAAIoT,EAAY1J,OACf,OAAO,EAGX,GAAGyF,EACC,OAAO,EAIX,IAAIqH,EAAUpa,KAAKqR,sBAAsBwE,EAAUkB,EAAWjC,EAAGH,GAsBjE,OAnBAlO,EAAK9E,KAAKyY,EAAQnI,QAASoE,GAG3B5P,EAAK4L,MAAM+H,EAAQrI,cAAeqI,EAAQnI,SAAU+E,EAAY1J,QAChE7F,EAAI2S,EAAQrI,cAAeqI,EAAQrI,cAAekF,GAClDvN,EAAI0Q,EAAQrI,cAAeqI,EAAQrI,cAAegF,EAAWjQ,UAG7DL,EAAK4L,MAAM8H,EAAMC,EAAQnI,QAASrO,GAClC8F,EAAI0Q,EAAQtI,cAAeoI,EAAeC,GAC1C1S,EAAI2S,EAAQtI,cAAesI,EAAQtI,cAAeiE,GAClDrM,EAAI0Q,EAAQtI,cAAesI,EAAQtI,cAAe+D,EAAU/O,UAE5D9G,KAAK0L,iBAAiB5K,KAAKsZ,GAExBpa,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAMd,KAAK6R,0BAA0BuI,IAGzD,GAeX3O,EAAYrL,UAAUuO,EAAM6D,QAC5B/G,EAAYrL,UAAUuO,EAAM6D,OAAS7D,EAAMqE,KAC3CvH,EAAYrL,UAAUuO,EAAMqE,KAC5BvH,EAAYrL,UAAUgU,aAAe,SAAWtJ,EAAG6J,EAAGC,EAAGC,EAAI9J,EAAG+J,EAAGC,EAAGC,EAAIjC,EAAUzV,GAChF,IAAI+c,EAAUpY,EACVuL,EAAatL,EACboY,EAAcvL,EACdwL,EAAcvL,EACdmH,EAAYlH,EAEZuL,EAAiBrL,EACjBzN,EAAO0N,EACPiH,EAAchH,EACd8C,EAAc,EACd7U,EAAkC,iBAAhB,EAA2BA,EAAY,EAG7D,IADYmO,EAAYgP,mBAAmB9F,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGqF,GAEzD,OAAO,EAIX3Q,EAAIhI,EAAKqT,EAAGH,GACTrV,EAAI8a,EAAQ3Y,GAAQ,GACnB+E,EAAK4L,MAAMgI,EAAQA,GAAS,GAIhC,IAAIK,EAAejP,EAAYkP,eAAehG,EAAGE,EAAGwF,GAAQ,GACxDO,EAAenP,EAAYkP,eAAe7F,EAAGE,EAAGqF,GAEpD,IAAqB,IAAlBK,IAAyC,IAAlBE,EACtB,OAAO,EAIX,IAAI,IAAI9Y,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAElB,IAAI+Y,EAAeH,EACfI,EAAeF,EACfrK,EAAUoE,EAAIjE,EAAUoE,EACxBgE,EAAUlE,EAAImE,EAAUhE,EACxBS,EAASX,EAAIa,EAASV,EACtBxL,EAAQsB,EAAIrB,EAAQsB,EAExB,GAAS,IAANjJ,EAAQ,CAEP,IAAIZ,EACJA,EAAM2Z,EACNA,EAAeC,EACfA,EAAe5Z,EAEfA,EAAMqP,EACNA,EAASG,EACTA,EAASxP,EAETA,EAAM4X,EACNA,EAAUC,EACVA,EAAU7X,EAEVA,EAAMsU,EACNA,EAASE,EACTA,EAASxU,EAETA,EAAMsI,EACNA,EAAQC,EACRA,EAAQvI,EAIZ,IAAI,IAAIU,EAAEkZ,EAAclZ,EAAEkZ,EAAa,EAAGlZ,IAAI,CAG1C,IAAItB,EAAIoQ,EAAOzQ,UAAU2B,EAAE8O,EAAOzQ,SAASnD,QAAQ4T,EAAOzQ,SAASnD,QACnE2J,EAAKS,OAAOsG,EAAYlN,EAAGoV,GAC3BjO,EAAI+F,EAAYA,EAAYuL,GAK5B,IAAI,IAHAgC,EAAiB,EAGbpe,EAAEke,EAAa,EAAGle,EAAEke,EAAa,EAAGle,IAAI,CAE5C,IAAI0R,EAAKkC,EAAOtQ,UAAUtD,EAAI4T,EAAOtQ,SAASnD,QAAQyT,EAAOtQ,SAASnD,QAClEwR,EAAKiC,EAAOtQ,UAAUtD,EAAE,EAAE4T,EAAOtQ,SAASnD,QAAQyT,EAAOtQ,SAASnD,QAGtE2J,EAAKS,OAAOoT,EAAajM,EAAImH,GAC7B/O,EAAKS,OAAOqT,EAAajM,EAAIkH,GAC7B/N,EAAI6S,EAAaA,EAAaxB,GAC9BrR,EAAI8S,EAAaA,EAAazB,GAE9BpP,EAAIyM,EAAWoE,EAAaD,GAE5B7T,EAAKuL,WAAWqE,EAAaF,GAC7B1P,EAAK6L,UAAU+D,EAAYA,GAE3B3M,EAAIhI,EAAM8L,EAAY8M,GAElB1W,EAAIrE,EAAI8W,EAAY3U,IAEpB/E,IAAMke,GAAgBjX,GAAKtG,GAAeX,IAAMke,GAAgBjX,GAAK,IACrEmX,IAIR,GAAGA,GAAkB,EAAE,CAEnB,GAAGhI,EACC,OAAO,EAOX,IAAInU,EAAIoB,KAAKqR,sBAAsB7H,EAAMC,EAAM8G,EAAOG,GACtDyB,IAGA,IAAI9D,EAAKkC,EAAOtQ,SAAS,EAAmBsQ,EAAOtQ,SAASnD,QACxDwR,EAAKiC,EAAOtQ,UAAU4a,EAAa,GAAKtK,EAAOtQ,SAASnD,QAG5D2J,EAAKS,OAAOoT,EAAajM,EAAImH,GAC7B/O,EAAKS,OAAOqT,EAAajM,EAAIkH,GAC7B/N,EAAI6S,EAAaA,EAAaxB,GAC9BrR,EAAI8S,EAAaA,EAAazB,GAE9BpP,EAAIyM,EAAWoE,EAAaD,GAE5B7T,EAAKuL,WAAWpT,EAAEqT,QAASkE,GAC3B1P,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAE3BvI,EAAIhI,EAAM8L,EAAY8M,GACtB,IAAI1W,EAAIrE,EAAIX,EAAEqT,QAAQvQ,GACtB+E,EAAK4L,MAAMmI,EAAgB5b,EAAEqT,QAASrO,GAEtC8F,EAAI9K,EAAEkT,cAAetE,EAAYsL,GACjCpP,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAe0I,GACtC/S,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAegH,GACtCpP,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAetI,EAAM1C,UAE5C4C,EAAI9K,EAAEmT,cAAevE,EAAYuL,GACjCtR,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAegH,GACtCrP,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAetI,EAAM3C,UAE5C9G,KAAK0L,iBAAiB5K,KAAKlC,GAGvBoB,KAAK8M,yBACF9M,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,MAa/E,OANGoB,KAAK8M,yBACD9M,KAAK4L,gBAAkBuG,GACtBnS,KAAK2L,kBAAkB7K,KAAKd,KAAKkS,0BAA0BC,IAI5DA,GAIX,IAAI6I,EAAYvU,EAAKqI,WAAW,EAAE,GAYlCrD,EAAYwP,sBAAwB,SAAS9N,EAAaM,EAAcC,EAAawN,EAAWpY,GAC5F,IAEIxC,EACA6a,EAHAxS,EAAI,KACJ3G,EAAI,KAGJoZ,EAAYJ,EAGhBvU,EAAKS,OAAOkU,EAAWF,GAAYxN,GAGnC,IAAI,IAAI/Q,EAAE,EAAGA,EAAEwQ,EAAYlN,SAASnD,OAAQH,IACxC2D,EAAI6M,EAAYlN,SAAStD,GACzBwe,EAAQ5b,EAAIe,EAAE8a,IACH,OAARzS,GAAgBwS,EAAQxS,KACvBA,EAAMwS,IAEC,OAARnZ,GAAgBmZ,EAAQnZ,KACvBA,EAAMmZ,GAId,GAAGnZ,EAAM2G,EAAI,CACT,IAAIxM,EAAI6F,EACRA,EAAM2G,EACNA,EAAMxM,EAIV,IAAIsV,EAASlS,EAAIkO,EAAcyN,GAE/BzU,EAAK4G,IAAKvK,EAAQd,EAAMyP,EAAQ9I,EAAM8I,IAI1C,IAAI4J,EAAW5U,EAAKqI,WAAW,EAAE,GAC7BwM,GAAW7U,EAAKqI,WAAW,EAAE,GAC7ByM,GAAW9U,EAAKqI,WAAW,EAAE,GAC7B0M,GAAW/U,EAAKqI,WAAW,EAAE,GAC7B2M,GAAWhV,EAAKqI,WAAW,EAAE,GAC7B4M,GAAWjV,EAAKqI,WAAW,EAAE,GAejCrD,EAAYgP,mBAAqB,SAAShd,EAAGke,EAAQC,EAAOhe,EAAGie,EAAQC,EAAOzB,GAC1E,IAAI0B,EAAU,KACVC,GAAU,EACV1D,GAAQ,EACR2D,EAAOZ,EACPf,EAAcgB,GACdf,EAAcgB,GACdW,EAASV,GACTW,EAAQV,GACRW,EAAQV,GAEZ,GAAGje,aAAcmR,GAAOhR,aAAcgR,EAElC,IAAQhN,EAAE,EAAO,IAAJA,EAAOA,IAAI,CACpB,IAAIhD,EAAInB,EACJsJ,EAAQ6U,EACL,IAAJha,IACChD,EAAIhB,EACJmJ,EAAQ+U,GAGZ,IAAQnf,EAAE,EAAO,IAAJA,EAAOA,IAAI,CAGX,IAANA,EACC8J,EAAK4G,IAAI6O,EAAQ,EAAG,GACR,IAANvf,GACN8J,EAAK4G,IAAI6O,EAAQ,EAAG,GAEX,IAAVnV,GACCN,EAAKS,OAAOgV,EAAQA,EAAQnV,GAIhC0E,EAAYwP,sBAAsBxd,EAAGke,EAAQC,EAAOM,EAAOC,GAC3D1Q,EAAYwP,sBAAsBrd,EAAGie,EAAQC,EAAOI,EAAOE,GAG3D,IAAI3f,EAAE0f,EACFxd,EAAEyd,EAEHD,EAAM,GAAKC,EAAM,KAChBzd,EAAEwd,EACF1f,EAAE2f,GACQ,GAKdJ,GADIta,EAAO/C,EAAE,GAAKlC,EAAE,KACD,GAEN,OAAVsf,GAAkBra,EAAOqa,KACxBtV,EAAK9E,KAAK0Y,EAAS6B,GACnBH,EAAUra,EACV4W,EAAQ0D,SAOpB,IAAI,IAAIpa,EAAE,EAAO,IAAJA,EAAOA,IAAI,CACpB,IAAIhD,EAAInB,EACJsJ,EAAQ6U,EACL,IAAJha,IACChD,EAAIhB,EACJmJ,EAAQ+U,GAGZ,IAAI,IAAInf,EAAE,EAAGA,IAAIiC,EAAEqB,SAASnD,OAAQH,IAAI,CAEpC8J,EAAKS,OAAOoT,EAAa1b,EAAEqB,SAAStD,GAAIoK,GACxCN,EAAKS,OAAOqT,EAAa3b,EAAEqB,UAAUtD,EAAE,GAAGiC,EAAEqB,SAASnD,QAASiK,GAE9D2C,EAAIuS,EAAM1B,EAAaD,GAGvB7T,EAAKuL,WAAWkK,EAAQD,GACxBxV,EAAK6L,UAAU4J,EAAOA,GAGtBzQ,EAAYwP,sBAAsBxd,EAAGke,EAAQC,EAAOM,EAAOC,GAC3D1Q,EAAYwP,sBAAsBrd,EAAGie,EAAQC,EAAOI,EAAOE,GAG3D,IAAI3f,EAAE0f,EACFxd,EAAEyd,EAEHD,EAAM,GAAKC,EAAM,KAChBzd,EAAEwd,EACF1f,EAAE2f,GACQ,GAId,IAAI1a,EAAO/C,EAAE,GAAKlC,EAAE,GACpBuf,EAAWta,GAAQ,GAEN,OAAVqa,GAAkBra,EAAOqa,KACxBtV,EAAK9E,KAAK0Y,EAAS6B,GACnBH,EAAUra,EACV4W,EAAQ0D,IAgDxB,OAAO1D,GAIX,IAAI+D,GAAW5V,EAAKqI,WAAW,EAAE,GAC7BwN,GAAW7V,EAAKqI,WAAW,EAAE,GAC7ByN,GAAW9V,EAAKqI,WAAW,EAAE,GAYjCrD,EAAYkP,eAAiB,SAAS/b,EAAEmI,EAAMyV,EAAKC,GAC/C,IAAIrB,EAAYiB,GACZJ,EAAOK,GACPJ,EAASK,GAGb9V,EAAKS,OAAOkU,EAAWoB,GAAOzV,GAC3B0V,GACChW,EAAK4L,MAAM+I,EAAUA,GAAW,GAMpC,IAAI,IAHAsB,GAAe,EACfvb,EAAIvC,EAAEqB,SAASnD,OACf6f,GAAU,EACNhgB,EAAE,EAAGA,IAAIwE,EAAGxE,IAAI,CAEpB+M,EAAIuS,EAAMrd,EAAEqB,UAAUtD,EAAE,GAAGwE,GAAIvC,EAAEqB,SAAStD,EAAEwE,IAG5CsF,EAAKuL,WAAWkK,EAAQD,GACxBxV,EAAK6L,UAAU4J,EAAOA,GAEtB,IAAItY,EAAIrE,EAAI2c,EAAOd,KACC,IAAjBsB,GAAsB9Y,EAAI+Y,KACzBD,EAAc/f,EAAIwE,EAClBwb,EAAS/Y,GAIjB,OAAO8Y,GAGX,IAAIE,GAA8BnW,EAAKC,SACnCmW,GAAyBpW,EAAKC,SAC9BoW,GAAuBrW,EAAKC,SAC5BqW,GAAuBtW,EAAKC,SAC5BsW,GAAiCvW,EAAKC,SACtCuW,GAAgCxW,EAAKC,SACrCwW,GAAuCzW,EAAKC,SAYhD+E,EAAYrL,UAAUuO,EAAMmI,OAASnI,EAAMwO,aAC3C1R,EAAYrL,UAAUgd,kBAAoB,SAAUrG,EAAWC,EAAYhD,EAAUkD,EACjCmG,EAAOC,EAAQC,EAAMC,EAASzK,EAAUzF,GACxF,IAAImQ,EAAOH,EAAQI,QACfpQ,EAASA,GAAU0J,EAAY1J,OAC/BqQ,EAAIL,EAAQM,aACZlc,EAAOmb,GACP1E,EAAYyE,GACZvE,EAAe2E,GACfa,EAAqBX,GACrB7G,EAAc4G,GACd5O,EAAKyO,GACLxO,EAAKyO,GAGLe,EAAOre,KAAKse,OAAQ/J,EAAU,GAAK1G,EAASiQ,EAAM,IAAMI,GACxDK,EAAOve,KAAKwe,MAAQjK,EAAU,GAAK1G,EAASiQ,EAAM,IAAMI,GAKzDG,EAAO,IACNA,EAAO,GAERE,GAAQP,EAAK3gB,SACZkhB,EAAOP,EAAK3gB,OAAO,GAMvB,IAAI,IAFA6L,EAAM8U,EAAKK,GACX9b,EAAMyb,EAAKO,GACPrhB,EAAEmhB,EAAMnhB,EAAEqhB,EAAMrhB,IACjB8gB,EAAK9gB,GAAKqF,IACTA,EAAMyb,EAAK9gB,IAEZ8gB,EAAK9gB,GAAKgM,IACTA,EAAM8U,EAAK9gB,IAInB,GAAGqX,EAAU,GAAG1G,EAAS3E,EACrB,OAAOoK,GAAmB,EAkB9B,IAAI,IAHAuF,GAAQ,EAGJ3b,EAAEmhB,EAAMnhB,EAAEqhB,EAAMrhB,IAAI,CAGxB8J,EAAK4G,IAAIgB,EAAQ1R,EAAEghB,EAAGF,EAAK9gB,IAC3B8J,EAAK4G,IAAIiB,GAAK3R,EAAE,GAAGghB,EAAGF,EAAK9gB,EAAE,IAC7B8J,EAAKgB,IAAI4G,EAAGA,EAAGkP,GACf9W,EAAKgB,IAAI6G,EAAGA,EAAGiP,GAGf9W,EAAKiD,IAAI2M,EAAa/H,EAAID,GAC1B5H,EAAKS,OAAOmP,EAAaA,EAAa5W,KAAKye,GAAG,GAC9CzX,EAAK6L,UAAU+D,EAAYA,GAG3B5P,EAAK4L,MAAM8F,EAAU9B,GAAa/I,GAClC7G,EAAKgB,IAAI0Q,EAAUA,EAAUnE,GAG7BvN,EAAKiD,IAAIhI,EAAKyW,EAAU9J,GAGxB,IAAIzK,EAAI6C,EAAKlH,IAAImC,EAAK2U,GACtB,GAAG8B,EAAU,IAAM9J,EAAG,IAAM8J,EAAU,GAAK7J,EAAG,IAAM1K,GAAK,EAAE,CAEvD,GAAGmP,EACC,OAAO,EAGXuF,GAAQ,EAGR7R,EAAK4L,MAAM3Q,EAAK2U,GAAazS,GAC7B6C,EAAKgB,IAAI4Q,EAAaF,EAAUzW,GAChC+E,EAAK9E,KAAKkc,EAAmBxH,GAEzBzX,EAAIoB,KAAKqR,sBAAsBgM,EAAOtG,EAAWuG,EAAQtG,GAG7DvQ,EAAK9E,KAAK/C,EAAEqT,QAAS4L,GAGrBpX,EAAK4L,MAAMzT,EAAEmT,cAAgBnT,EAAEqT,SAAU3E,GACzC7F,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAeiC,GACtCtK,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAegF,EAAWjQ,UAEjDL,EAAK9E,KAAK/C,EAAEkT,cAAeuG,GAC3B5R,EAAKiD,IAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeuL,EAAOvW,UAElD9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAMd,KAAK6R,0BAA0BjT,KAOxE,GADA0Z,GAAQ,EACLhL,EAAS,EACR,IAAQ3Q,EAAEmhB,EAAMnhB,GAAGqhB,EAAMrhB,IAQrB,GALA8J,EAAK4G,IAAIgB,EAAI1R,EAAEghB,EAAGF,EAAK9gB,IACvB8J,EAAKgB,IAAI4G,EAAGA,EAAGkP,GAEf9W,EAAKiD,IAAIhI,EAAMsS,EAAW3F,GAEvB5H,EAAKmD,cAAclI,GAAQjC,KAAKsY,IAAIzK,EAAQ,GAAG,CAE9C,GAAGyF,EACC,OAAO,EAGXuF,GAAQ,EAER,IAAI1Z,EAAIoB,KAAKqR,sBAAsBgM,EAAOtG,EAAWuG,EAAQtG,GAG7DvQ,EAAK9E,KAAK/C,EAAEqT,QAASvQ,GACrB+E,EAAK6L,UAAU1T,EAAEqT,QAAQrT,EAAEqT,SAE3BxL,EAAK4L,MAAMzT,EAAEmT,cAAenT,EAAEqT,SAAU3E,GACxC7F,EAAI7I,EAAEmT,cAAenT,EAAEmT,cAAeiC,GACtCtK,EAAI9K,EAAEmT,cAAenT,EAAEmT,cAAegF,EAAWjQ,UAEjD4C,EAAI9K,EAAEkT,cAAezD,EAAIkP,GACzB9V,EAAI7I,EAAEkT,cAAelT,EAAEkT,cAAeyL,GACtC7T,EAAI9K,EAAEkT,cAAelT,EAAEkT,cAAeuL,EAAOvW,UAE7C9G,KAAK0L,iBAAiB5K,KAAKlC,GAExBoB,KAAK4L,gBACJ5L,KAAK2L,kBAAkB7K,KAAKd,KAAK6R,0BAA0BjT,IAM3E,OAAG0Z,EACQ,EAGJ,GAIX,IAAI6F,GAAuB1X,EAAKC,SAC5B0X,GAAuB3X,EAAKC,SAC5B2X,GAA4B5X,EAAKC,SACjC4X,GAAoC,IAAI5P,GAASzO,UAAWwG,EAAKC,SAASD,EAAKC,SAASD,EAAKC,SAASD,EAAKC,YAW/G+E,EAAYrL,UAAUuO,EAAMqE,IAAMrE,EAAMwO,aACxC1R,EAAYrL,UAAUuO,EAAM6D,OAAS7D,EAAMwO,aAC3C1R,EAAYrL,UAAUme,kBAAoB,SAAU7L,EAAWvF,EAAYqR,EAAU9Q,EACjC2P,EAAOC,EAAQC,EAAMC,EAASzK,GAC9E,IAAI0K,EAAOH,EAAQI,QACfC,EAAIL,EAAQM,aACZvP,EAAK8P,GACL7P,EAAK8P,GACLK,EAAUJ,GACVK,EAAaJ,GAGbR,EAAOre,KAAKse,OAAQrL,EAAWhL,KAAKlB,WAAW,GAAK+W,EAAM,IAAMI,GAChEK,EAAOve,KAAKwe,MAAQvL,EAAWhL,KAAKf,WAAW,GAAK4W,EAAM,IAAMI,GAEjEG,EAAO,IACNA,EAAO,GAERE,GAAQP,EAAK3gB,SACZkhB,EAAOP,EAAK3gB,OAAO,GAMvB,IAAI,IAFA6L,EAAM8U,EAAKK,GACX9b,EAAMyb,EAAKO,GACPrhB,EAAEmhB,EAAMnhB,EAAEqhB,EAAMrhB,IACjB8gB,EAAK9gB,GAAKqF,IACTA,EAAMyb,EAAK9gB,IAEZ8gB,EAAK9gB,GAAKgM,IACTA,EAAM8U,EAAK9gB,IAInB,GAAG+V,EAAWhL,KAAKlB,WAAW,GAAKmC,EAC/B,OAAOoK,GAAmB,EAQ9B,IAAI,IAJAZ,EAAc,EAIVxV,EAAEmhB,EAAMnhB,EAAEqhB,EAAMrhB,IAAI,CAGxB8J,EAAK4G,IAAIgB,EAAQ1R,EAAEghB,EAAGF,EAAK9gB,IAC3B8J,EAAK4G,IAAIiB,GAAK3R,EAAE,GAAGghB,EAAGF,EAAK9gB,EAAE,IAC7B8J,EAAKgB,IAAI4G,EAAGA,EAAGkP,GACf9W,EAAKgB,IAAI6G,EAAGA,EAAGiP,GAIf9W,EAAK4G,IAAIoR,EAAyB,IAAfnQ,EAAG,GAAKD,EAAG,IAAsC,IAA5BC,EAAG,GAAKD,EAAG,GADlC,MAGjB5H,EAAKiD,IAAIgV,EAAWze,SAAS,GAAIqO,EAAImQ,GACrChY,EAAKiD,IAAIgV,EAAWze,SAAS,GAAIoO,EAAIoQ,GACrChY,EAAK9E,KAAK+c,EAAWze,SAAS,GAAIye,EAAWze,SAAS,IACtDwG,EAAK9E,KAAK+c,EAAWze,SAAS,GAAIye,EAAWze,SAAS,IACtDye,EAAWze,SAAS,GAAG,IAPN,IAQjBye,EAAWze,SAAS,GAAG,IARN,IAWjBkS,GAAenS,KAAKoU,aAAgB1B,EAAYvF,EAAaqR,EAAW9Q,EACpC2P,EAAQqB,EAAYD,EAAS,EAAG1L,GAGxE,OAAOZ,KAERwM,+BAA+B,GAAGC,wBAAwB,GAAGC,gCAAgC,GAAGhW,eAAe,GAAG2B,kBAAkB,GAAGsU,gBAAgB,GAAG1T,mBAAmB,GAAG2T,mBAAmB,GAAGxT,kBAAkB,GAAGyT,+BAA+B,GAAGC,gCAAgC,GAAGC,2BAA2B,GAAGpW,iBAAiB,KAAKqW,IAAI,SAASniB,EAAQnB,EAAOD,GAsBnX,SAASwjB,EAAI7Y,GACTA,EAAUA,MAMVvG,KAAKY,KAAO2F,EAAQ3F,KAAO6F,EAAKqI,WAAWvI,EAAQ3F,KAAK,GAAI2F,EAAQ3F,KAAK,IAAM6F,EAAKC,SAMpF1G,KAAKa,GAAK0F,EAAQ1F,GAAK4F,EAAKqI,WAAWvI,EAAQ1F,GAAG,GAAI0F,EAAQ1F,GAAG,IAAM4F,EAAKC,SAM5E1G,KAAKqf,4BAA4DC,IAAnC/Y,EAAQ8Y,wBAAuC9Y,EAAQ8Y,uBAMrFrf,KAAKuf,gBAAkBhZ,EAAQgZ,cAM/Bvf,KAAKwf,mBAA0CF,IAA1B/Y,EAAQiZ,cAA8BjZ,EAAQiZ,eAAiB,EAMpFxf,KAAKyf,oBAA4CH,IAA3B/Y,EAAQkZ,eAA+BlZ,EAAQkZ,gBAAkB,EAMvFzf,KAAK0f,UAAwBJ,IAAjB/Y,EAAQmZ,KAAqBnZ,EAAQmZ,KAAON,EAAIO,IAM5D3f,KAAK4f,SAAWrZ,EAAQqZ,UAAY,SAAS9c,KAM7C9C,KAAKoI,UAAY3B,EAAKC,SAOtB1G,KAAKlD,OAAS,EAEdkD,KAAK6f,SAiNT,SAASC,EAAgClf,EAAMwH,EAAWtB,GAGtDL,EAAKiD,IAAI2E,EAAIvH,EAAUlG,GACvB,IAAIrB,EAAMkH,EAAKlH,IAAI8O,EAAIjG,GAMvB,OAHA3B,EAAK4L,MAAM0N,EAAW3X,EAAW7I,GACjCkH,EAAKgB,IAAIsY,EAAWA,EAAWnf,GAExB6F,EAAKuZ,gBAAgBlZ,EAAUiZ,GAhT1ClkB,EAAOD,QAAUwjB,EAEjB,IAAI3Y,EAAOzJ,EAAQ,gBACCA,EAAQ,8BAChBA,EAAQ,mBACTA,EAAQ,qBAkFnBoiB,EAAIhf,UAAUuK,YAAcyU,EAO5BA,EAAIa,QAAU,EAOdb,EAAIO,IAAM,EAOVP,EAAIc,IAAM,EAMVd,EAAIhf,UAAUyf,OAAS,WAGnB,IAAIjc,EAAI5D,KAAKoI,UACb3B,EAAKiD,IAAI9F,EAAG5D,KAAKa,GAAIb,KAAKY,MAC1BZ,KAAKlD,OAAS2J,EAAK3J,OAAO8G,GAC1B6C,EAAK6L,UAAU1O,EAAGA,IAQtBwb,EAAIhf,UAAU+f,gBAAkB,SAAUrd,EAAQ8H,GAC9C,IAAK,IAAIjO,EAAI,EAAGsK,EAAI2D,EAAO9N,QAASgG,EAAOsd,WAAWpgB,OAASrD,EAAIsK,EAAGtK,IAAK,CACvE,IAAI0jB,EAAOzV,EAAOjO,GACd+K,EAAO2Y,EAAKtW,WACbrC,EAAKO,YAAYjI,OAAS,GAAK0H,EAAKK,cAAc/H,KAAKY,QACtDZ,KAAKsgB,cAAcxd,EAAQud,KAKvC,IAAIE,EAA8B9Z,EAAKC,SAQvC0Y,EAAIhf,UAAUkgB,cAAgB,SAAUxd,EAAQud,GAC5C,IAAIhB,EAAyBrf,KAAKqf,uBAElC,IAAGA,GAA2BgB,EAAKG,kBAMnC,IAAK,IAFDC,EAAgBF,EAEX5jB,EAAI,EAAGwE,EAAIkf,EAAK/P,OAAOxT,OAAQH,EAAIwE,EAAGxE,IAAK,CAChD,IAAI+jB,EAAQL,EAAK/P,OAAO3T,GAExB,KAAG0iB,GAA2BqB,EAAMF,qBAIe,IAA/CxgB,KAAKyf,eAAiBiB,EAAMlB,gBAAwE,IAA/CkB,EAAMjB,eAAiBzf,KAAKwf,gBAArF,CAKA/Y,EAAKS,OAAOuZ,EAAeC,EAAM5Z,SAAUuZ,EAAKtZ,OAChDN,EAAKgB,IAAIgZ,EAAeA,EAAeJ,EAAKvZ,UAC5C,IAAI6Z,EAAaD,EAAM3Z,MAAQsZ,EAAKtZ,MAUpC,GARA/G,KAAK4gB,eACD9d,EACA4d,EACAC,EACAF,EACAJ,GAGDvd,EAAOsd,WAAWpgB,MACjB,SAaZof,EAAIhf,UAAUwgB,eAAiB,SAAS9d,EAAQ4d,EAAO3Z,EAAOD,EAAUuZ,GAIrDP,EAHJ9f,KAAKY,KAGqCZ,KAAKoI,UAAWtB,GACtD4Z,EAAM7W,eAAiB6W,EAAM7W,iBAI5C7J,KAAK6gB,aAAeR,EACpBrgB,KAAK8gB,cAAgBJ,EAErBA,EAAMK,QAAQje,EAAQ9C,KAAM8G,EAAUC,GAEtC/G,KAAK6gB,aAAe7gB,KAAK8gB,cAAgB,OAQ7C1B,EAAIhf,UAAU2J,QAAU,SAASjH,GAC7B,IAAIjC,EAAKb,KAAKa,GACVD,EAAOZ,KAAKY,KAChB6F,EAAK4G,IACDvK,EAAO0D,WACP/G,KAAKuC,IAAInB,EAAG,GAAID,EAAK,IACrBnB,KAAKuC,IAAInB,EAAG,GAAID,EAAK,KAEzB6F,EAAK4G,IACDvK,EAAO6D,WACPlH,KAAKkJ,IAAI9H,EAAG,GAAID,EAAK,IACrBnB,KAAKkJ,IAAI9H,EAAG,GAAID,EAAK,MAIT6F,EAAKC,SAUzB0Y,EAAIhf,UAAU4gB,mBAAqB,SAASle,EAAQme,EAAU/E,EAAQgF,GACvDlhB,KAAKY,KACPZ,KAAKa,GADd,IAEI6f,EAAQ1gB,KAAK8gB,cACbT,EAAOrgB,KAAK6gB,aAGhB,KAAG7gB,KAAKuf,eAAiB9Y,EAAKlH,IAAI2c,EAAQlc,KAAKoI,WAAa,GAI5D,OAAOpI,KAAK0f,MAEZ,KAAKN,EAAIc,IACLpd,EAAOuK,IACH6O,EACAwE,EACAL,EACAY,EACAC,GAEJlhB,KAAK4f,SAAS9c,GACd,MAEJ,KAAKsc,EAAIa,SAGFgB,EAAWne,EAAOme,WAAane,EAAOqe,WACrCre,EAAOuK,IACH6O,EACAwE,EACAL,EACAY,EACAC,GAGR,MAEJ,KAAK9B,EAAIO,IAGL7c,EAAOuK,IACH6O,EACAwE,EACAL,EACAY,EACAC,KAMZ,IAAI7S,EAAK5H,EAAKC,SACVqZ,EAAYtZ,EAAKC,WAelB0a,oBAAoB,EAAEC,6BAA6B,GAAGxY,eAAe,GAAG0C,kBAAkB,KAAK+V,IAAI,SAAStkB,EAAQnB,EAAOD,GAW9H,SAAS2lB,IAMRvhB,KAAKkc,OAASzV,EAAKC,SAMnB1G,KAAK0gB,MAAQ,KAMb1gB,KAAKqgB,KAAO,KAOZrgB,KAAKkhB,WAAa,EAOlBlhB,KAAKihB,UAAY,EAOjBjhB,KAAKwhB,WAAY,EAjDlB,IAAI/a,EAAOzJ,EAAQ,gBACfoiB,EAAMpiB,EAAQ,oBAElBnB,EAAOD,QAAU2lB,EAqDjBA,EAAcnhB,UAAU4Q,MAAQ,WAC/BvK,EAAK4G,IAAIrN,KAAKkc,OAAQ,EAAG,GACzBlc,KAAK0gB,MAAQ,KACb1gB,KAAKqgB,KAAO,KACZrgB,KAAKkhB,WAAa,EAClBlhB,KAAKihB,UAAY,EACjBjhB,KAAKwhB,WAAY,GAQlBD,EAAcnhB,UAAUqhB,eAAiB,SAAUvZ,GAClD,OAAOzB,EAAKib,SAASxZ,EAAItH,KAAMsH,EAAIrH,IAAMb,KAAKihB,UAO/CM,EAAcnhB,UAAU+gB,OAAS,WAChC,OAA0B,IAAnBnhB,KAAKihB,UASbM,EAAcnhB,UAAUuhB,YAAc,SAAUC,EAAK1Z,GACpDzB,EAAKob,KAAKD,EAAK1Z,EAAItH,KAAMsH,EAAIrH,GAAIb,KAAKihB,WAOvCM,EAAcnhB,UAAU0hB,KAAO,WAC9B9hB,KAAKwhB,WAAY,GASlBD,EAAcnhB,UAAUggB,WAAa,SAASlY,GAC7C,OAAOlI,KAAKwhB,YAAiC,IAAnBxhB,KAAKihB,UAAmB/Y,EAAIwX,OAASN,EAAIO,KAWpE4B,EAAcnhB,UAAUiN,IAAM,SAC7B6O,EACAwE,EACAL,EACAY,EACAC,GAEAza,EAAK9E,KAAK3B,KAAKkc,OAAQA,GACvBlc,KAAK0gB,MAAQA,EACb1gB,KAAKqgB,KAAOA,EACZrgB,KAAKihB,SAAWA,EAChBjhB,KAAKkhB,UAAYA,KAEfa,mBAAmB,GAAGlZ,eAAe,KAAKmZ,IAAI,SAAShlB,EAAQnB,EAAOD,GAazE,SAASqmB,IACLjZ,EAAWnM,KAAKmD,KAAKgJ,EAAWuB,KAOhCvK,KAAKkiB,YAOLliB,KAAKmiB,UAAY,EAEjB,IAAIC,EAAOpiB,KACXA,KAAKqiB,gBAAkB,SAAS1mB,GAC5BymB,EAAKF,SAASphB,KAAKnF,EAAE0kB,OAGzBrgB,KAAKsiB,mBAAqB,SAAS3mB,GAE/B,IAAI4mB,EAAMH,EAAKF,SAASlf,QAAQrH,EAAE0kB,OACtB,IAATkC,GACCH,EAAKF,SAASnf,OAAOwf,EAAI,IAtCrC,IAAIC,EAAQxlB,EAAQ,kBAChBgM,EAAahM,EAAQ,2BAEzBnB,EAAOD,QAAUqmB,GAuCjBA,EAAc7hB,UAAY,IAAI4I,GACN2B,YAAcsX,EAOtCA,EAAc7hB,UAAUiJ,SAAW,SAASJ,GAExCjJ,KAAKkiB,SAASplB,OAAS,EAGvB0lB,EAAMC,YAAYziB,KAAKkiB,SAAUjZ,EAAM2B,QAGvC3B,EACKyZ,IAAI,UAAU1iB,KAAKqiB,iBACnBK,IAAI,aAAa1iB,KAAKsiB,oBAG3BrZ,EAAM0Z,GAAG,UAAU3iB,KAAKqiB,iBAAiBM,GAAG,aAAa3iB,KAAKsiB,oBAE9DtiB,KAAKiJ,MAAQA,GAUjBgZ,EAAcW,aAAe,SAASnmB,EAAG0lB,GACrCA,GAAsB,EACtB,IAAI,IAAIxlB,EAAE,EAAEsK,EAAExK,EAAEK,OAAQH,EAAEsK,EAAGtK,IAAK,CAE9B,IAAI,IADA2D,EAAI7D,EAAEE,GACFiF,EAAEjF,EAAI,EAAEiF,GAAG,KACZnF,EAAEmF,GAAG8F,KAAKlB,WAAW2b,IAAc7hB,EAAEoH,KAAKlB,WAAW2b,IADvCvgB,IAIjBnF,EAAEmF,EAAE,GAAKnF,EAAEmF,GAEfnF,EAAEmF,EAAE,GAAKtB,EAEb,OAAO7D,GAGXwlB,EAAc7hB,UAAUyiB,SAAW,WAC/B,IAAIjY,EAAS5K,KAAKkiB,SAClBC,EAAYniB,KAAKmiB,UAGjBF,EAAcW,aAAahY,EAAQuX,IASvCF,EAAc7hB,UAAUkJ,kBAAoB,SAASL,GACjD,IAAI2B,EAAS5K,KAAKkiB,SACdpf,EAAS9C,KAAK8C,OACdqf,EAAYniB,KAAKmiB,UAErBrf,EAAOhG,OAAS,EAIhB,IADA,IAAImK,EAAI2D,EAAO9N,OACTmK,KAAI,CACN,IAAItI,EAAIiM,EAAO3D,GACZtI,EAAEsM,iBACDtM,EAAEuM,aAKVlL,KAAK6iB,WAGL,IAAI,IAAIlmB,EAAE,EAAGwE,EAAgB,EAAdyJ,EAAO9N,OAAUH,IAAIwE,EAAGxE,IAGnC,IAAI,IAFAmO,EAAKF,EAAOjO,GAERiF,EAAEjF,EAAE,EAAGiF,EAAET,EAAGS,IAAI,CACpB,IAAImJ,EAAKH,EAAOhJ,GAIhB,KADgBmJ,EAAGrD,KAAKlB,WAAW2b,IAAcrX,EAAGpD,KAAKf,WAAWwb,IAEhE,MAGDnZ,EAAWiB,WAAWa,EAAGC,IAAO/K,KAAKgK,oBAAoBc,EAAGC,IAC3DjI,EAAOhC,KAAKgK,EAAGC,GAK3B,OAAOjI,GAWXmf,EAAc7hB,UAAU4K,UAAY,SAAS/B,EAAOvB,EAAM5E,GACtDA,EAASA,MAET9C,KAAK6iB,WAEL,IAAIV,EAAYniB,KAAKmiB,UACjB3F,EAAO,IACM,IAAd2F,IAAkB3F,EAAO,KACX,IAAd2F,IAAkB3F,EAAO,KAK5B,IAAI,IAHA0F,EAAWliB,KAAKkiB,SAGZvlB,GAFI+K,EAAKlB,WAAWgW,GAChB9U,EAAKf,WAAW6V,GAChB,GAAG7f,EAAIulB,EAASplB,OAAQH,IAAI,CACpC,IAAIgC,EAAIujB,EAASvlB,GAEdgC,EAAEsM,iBACDtM,EAAEuM,aAGHvM,EAAE+I,KAAKE,SAASF,IACf5E,EAAOhC,KAAKnC,GAIpB,OAAOmE,KAERqI,0BAA0B,EAAErC,iBAAiB,KAAKga,IAAI,SAAS9lB,EAAQnB,EAAOD,GAiBjF,SAASmnB,EAAWvZ,EAAOC,EAAOlE,EAAMgB,GAMpCvG,KAAKuF,KAAOA,EAEZgB,EAAUic,EAAMQ,SAASzc,GACrB0c,kBAAmB,EACnBC,cAAe,IASnBljB,KAAKmjB,aAOLnjB,KAAKwJ,MAAQA,EAObxJ,KAAKyJ,MAAQA,EAQbzJ,KAAKijB,iBAAmB1c,EAAQ0c,iBAG7B1c,EAAQ2c,eACJ1Z,GACCA,EAAM4Z,SAEP3Z,GACCA,EAAM2Z,UAjElBvnB,EAAOD,QAAUmnB,EAEjB,IAAIP,EAAQxlB,EAAQ,kBAwEpB+lB,EAAW3iB,UAAUyf,OAAS,WAC1B,MAAM,IAAIjjB,MAAM,kEAOpBmmB,EAAWM,SAAW,EAMtBN,EAAWO,KAAO,EAMlBP,EAAWQ,KAAO,EAMlBR,EAAWS,UAAY,EAMvBT,EAAWU,SAAW,EAOtBV,EAAW3iB,UAAUsjB,aAAe,SAASnX,GAEzC,IAAI,IADA0E,EAAMjR,KAAKmjB,UACPxmB,EAAE,EAAGA,IAAMsU,EAAInU,OAAQH,IAAI,CAC/B,IAAImB,EAAKmT,EAAItU,GACbmB,EAAGyO,UAAYA,EACfzO,EAAGyT,aAAc,IASzBwR,EAAW3iB,UAAUujB,cAAgB,SAASjX,GAE1C,IAAI,IADAuE,EAAMjR,KAAKmjB,UACPxmB,EAAE,EAAGA,IAAMsU,EAAInU,OAAQH,IAAI,CAC/B,IAAImB,EAAKmT,EAAItU,GACbmB,EAAG4O,WAAaA,EAChB5O,EAAGyT,aAAc,MAItBzI,iBAAiB,KAAK8a,IAAI,SAAS5mB,EAAQnB,EAAOD,GAwCrD,SAASioB,EAAmBra,EAAMC,EAAMlD,GACpCA,EAAUic,EAAMQ,SAASzc,GACrBud,cAAc,EAAE,GAChBC,cAAc,EAAE,KAGpBhB,EAAWlmB,KAAKmD,KAAKwJ,EAAMC,EAAMsZ,EAAWM,SAAS9c,GAOrDvG,KAAK8jB,aAAerd,EAAKqI,WAAWvI,EAAQud,aAAa,GAAIvd,EAAQud,aAAa,IAOlF9jB,KAAK+jB,aAAetd,EAAKqI,WAAWvI,EAAQwd,aAAa,GAAIxd,EAAQwd,aAAa,IAElF,IAAID,EAAe9jB,KAAK8jB,aACpBC,EAAe/jB,KAAK+jB,aASxB,GAFA/jB,KAAK0hB,SAAW,EAEgB,iBAAtBnb,EAAgB,SACtBvG,KAAK0hB,SAAWnb,EAAQmb,aACrB,CAEH,IAAIsC,EAAevd,EAAKC,SACpBud,EAAexd,EAAKC,SACpBrK,EAAIoK,EAAKC,SAGbD,EAAKS,OAAO8c,EAAcF,EAActa,EAAMzC,OAC9CN,EAAKS,OAAO+c,EAAcF,EAActa,EAAM1C,OAE9CN,EAAKgB,IAAIpL,EAAGoN,EAAM3C,SAAUmd,GAC5Bxd,EAAKiD,IAAIrN,EAAGA,EAAG2nB,GACfvd,EAAKiD,IAAIrN,EAAGA,EAAGmN,EAAM1C,UAErB9G,KAAK0hB,SAAWjb,EAAK3J,OAAOT,GAGhC,IAAI6nB,EAEAA,OAD0B,IAApB3d,EAAgB,SACXlE,OAAOC,UAEPiE,EAAQ2d,SAGvB,IAAIhI,EAAS,IAAI1P,EAAShD,EAAMC,GAAOya,EAASA,GAChDlkB,KAAKmjB,WAAcjH,GAMnBlc,KAAKkkB,SAAWA,EAiBhB,IAAI7nB,EAAIoK,EAAKC,SACTyd,EAAK1d,EAAKC,SACV0d,EAAK3d,EAAKC,SACV0b,EAAOpiB,KACXkc,EAAOmI,UAAY,WACf,IAAI7a,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MACbmL,EAAKpL,EAAM1C,SACXiO,EAAKtL,EAAM3C,SAWf,OARAL,EAAKS,OAAOid,EAAIL,EAActa,EAAMzC,OACpCN,EAAKS,OAAOkd,EAAIL,EAActa,EAAM1C,OAEpCN,EAAKgB,IAAIpL,EAAG0Y,EAAIqP,GAChB3d,EAAKiD,IAAIrN,EAAGA,EAAG8nB,GACf1d,EAAKiD,IAAIrN,EAAGA,EAAGuY,GAGRnO,EAAK3J,OAAOT,GAAK+lB,EAAKV,UAIjC1hB,KAAKskB,YAAYJ,GAMjBlkB,KAAKukB,mBAAoB,EAMzBvkB,KAAKwkB,WAAa,EAMlBxkB,KAAKykB,mBAAoB,EAMzBzkB,KAAK0kB,WAAa,EAMlB1kB,KAAK8G,SAAW,EA9KpB,IAAIic,EAAa/lB,EAAQ,gBACrBwP,EAAWxP,EAAQ,yBACnByJ,EAAOzJ,EAAQ,gBACfwlB,EAAQxlB,EAAQ,kBAEpBnB,EAAOD,QAAUioB,GA2KjBA,EAAmBzjB,UAAY,IAAI2iB,GACNpY,YAAckZ,EAM3C,IAAIznB,EAAIqK,EAAKC,SACTyd,EAAK1d,EAAKC,SACV0d,EAAK3d,EAAKC,SACdmd,EAAmBzjB,UAAUyf,OAAS,WAClC,IAAI3D,EAASlc,KAAKmjB,UAAU,GACxB3Z,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MAEbmL,GADW5U,KAAK0hB,SACXlY,EAAM1C,UACXiO,EAAKtL,EAAM3C,SACX6d,EAAiB3kB,KAAKmjB,UAAU,GAChCyB,EAAI1I,EAAO0I,EAGfne,EAAKS,OAAOid,EAAInkB,KAAK8jB,aAActa,EAAMzC,OACzCN,EAAKS,OAAOkd,EAAIpkB,KAAK+jB,aAActa,EAAM1C,OAGzCN,EAAKgB,IAAIrL,EAAG2Y,EAAIqP,GAChB3d,EAAKiD,IAAItN,EAAGA,EAAG+nB,GACf1d,EAAKiD,IAAItN,EAAGA,EAAGwY,GACf5U,KAAK8G,SAAWL,EAAK3J,OAAOV,GAE5B,IAAIyoB,GAAY,EAmBhB,GAlBG7kB,KAAKukB,mBACDvkB,KAAK8G,SAAW9G,KAAKwkB,aACpBG,EAAeT,SAAW,EAC1BS,EAAeG,UAAY9kB,KAAKkkB,SAChClkB,KAAK0hB,SAAW1hB,KAAKwkB,WACrBK,GAAY,GAIjB7kB,KAAKykB,mBACDzkB,KAAK8G,SAAW9G,KAAK0kB,aACpBC,EAAeT,SAAWlkB,KAAKkkB,SAC/BS,EAAeG,SAAW,EAC1B9kB,KAAK0hB,SAAW1hB,KAAK0kB,WACrBG,GAAY,IAIhB7kB,KAAKykB,oBAAqBzkB,KAAKukB,mBAAuBM,EAA1D,CAMAF,EAAenT,SAAU,EAEzB/K,EAAK6L,UAAUlW,EAAEA,GAGjB,IAAI2oB,EAAOte,EAAK+H,YAAY2V,EAAI/nB,GAC5B4oB,EAAOve,EAAK+H,YAAY4V,EAAIhoB,GAGhCwoB,EAAE,IAAMxoB,EAAE,GACVwoB,EAAE,IAAMxoB,EAAE,GACVwoB,EAAE,IAAMG,EACRH,EAAE,GAAKxoB,EAAE,GACTwoB,EAAE,GAAKxoB,EAAE,GACTwoB,EAAE,GAAKI,OAlBHL,EAAenT,SAAU,GA0BjCqS,EAAmBzjB,UAAUkkB,YAAc,SAASJ,GAChD,IAAIhI,EAASlc,KAAKmjB,UAAU,GAC5BjH,EAAO4I,UAAYZ,EACnBhI,EAAOgI,SAAYA,GAQvBL,EAAmBzjB,UAAU6kB,YAAc,WAEvC,OADajlB,KAAKmjB,UAAU,GACde,YAGftF,wBAAwB,GAAG/V,eAAe,GAAGC,iBAAiB,GAAGoc,eAAe,KAAKC,IAAI,SAASnoB,EAAQnB,EAAOD,GAgCpH,SAASwpB,EAAe5b,EAAOC,EAAOlD,GAClCA,EAAUA,MAEVwc,EAAWlmB,KAAKmD,KAAMwJ,EAAOC,EAAOsZ,EAAWO,KAAM/c,GAOrDvG,KAAKqlB,WAA0B/F,IAAlB/Y,EAAQ8e,MAAsB9e,EAAQ8e,MAAQ,EAO3DrlB,KAAK+G,WAA0BuY,IAAlB/Y,EAAQQ,MAAsBR,EAAQQ,MAAQ0C,EAAM1C,MAAQ/G,KAAKqlB,MAAQ7b,EAAMzC,MAG5FR,EAAQQ,MAAQ/G,KAAK+G,MACrBR,EAAQ8e,MAAQrlB,KAAKqlB,MAErBrlB,KAAKmjB,WACD,IAAImC,EAAkB9b,EAAMC,EAAMlD,SAIb+Y,IAAtB/Y,EAAQgf,WACPvlB,KAAKwlB,aAAajf,EAAQgf,WA5DlC,IAAIxC,EAAa/lB,EAAQ,gBAErBsoB,GADWtoB,EAAQ,yBACCA,EAAQ,mCACrBA,EAAQ,gBAEnBnB,EAAOD,QAAUwpB,GA0DjBA,EAAehlB,UAAY,IAAI2iB,GACNpY,YAAcya,EAEvCA,EAAehlB,UAAUyf,OAAS,WAC9B,IAAI/hB,EAAKkC,KAAKmjB,UAAU,GACrBrlB,EAAGunB,QAAUrlB,KAAKqlB,OACjBvnB,EAAG2nB,SAASzlB,KAAKqlB,OAErBvnB,EAAGiJ,MAAQ/G,KAAK+G,OAQpBqe,EAAehlB,UAAUolB,aAAe,SAASE,GAC7C1lB,KAAKmjB,UAAU,GAAGqC,aAAaE,IAQnCN,EAAehlB,UAAUulB,aAAe,SAASD,GAC7C,OAAO1lB,KAAKmjB,UAAU,GAAGe,YAE1B0B,iCAAiC,GAAGhH,wBAAwB,GAAG/V,eAAe,GAAGqc,eAAe,KAAKW,IAAI,SAAS7oB,EAAQnB,EAAOD,GA0BpI,SAASkqB,EAAetc,EAAOC,EAAOlD,GAClCA,EAAUA,MAEVwc,EAAWlmB,KAAKmD,KAAKwJ,EAAMC,EAAMsZ,EAAWQ,KAAKhd,GAEjD,IAAI2d,OAAwC,IAApB3d,EAAgB,SAAkBlE,OAAOC,UAAYiE,EAAQ2d,SA0BjF3c,GAxBchB,EAAQwf,YAwBd,IAAIvZ,EAAShD,EAAMC,GAAOya,EAASA,IAC3C1c,EAAQ,IAAIgF,EAAShD,EAAMC,GAAOya,EAASA,GAC3C8B,EAAQ,IAAIxZ,EAAShD,EAAMC,GAAOya,EAASA,GAE3Cjd,EAAIR,EAAKC,SACTuf,EAAIxf,EAAKC,SACT0b,EAAOpiB,KACXuH,EAAE8c,UAAY,WAIV,OAHA5d,EAAKS,OAAOD,EAAGmb,EAAK8D,aAAc1c,EAAMzC,OACxCN,EAAKiD,IAAIuc,EAAGxc,EAAM3C,SAAU0C,EAAM1C,UAClCL,EAAKiD,IAAIuc,EAAGA,EAAGhf,GACRgf,EAAE,IAEbze,EAAE6c,UAAY,WAIV,OAHA5d,EAAKS,OAAOD,EAAGmb,EAAK8D,aAAc1c,EAAMzC,OACxCN,EAAKiD,IAAIuc,EAAGxc,EAAM3C,SAAU0C,EAAM1C,UAClCL,EAAKiD,IAAIuc,EAAGA,EAAGhf,GACRgf,EAAE,IAEb,IAAI5pB,EAAIoK,EAAKC,SACTvK,EAAIsK,EAAKC,SACbsf,EAAI3B,UAAY,WAOZ,OANA5d,EAAKS,OAAO7K,EAAG+lB,EAAK8D,aAAczc,EAAM1C,MAAQqb,EAAK2D,aACrDtf,EAAK4L,MAAMhW,EAAEA,GAAG,GAChBoK,EAAKiD,IAAIuc,EAAEzc,EAAM1C,SAAS2C,EAAM3C,UAChCL,EAAKgB,IAAIwe,EAAEA,EAAE5pB,GACboK,EAAKS,OAAO/K,EAAEE,GAAGoD,KAAKye,GAAG,GACzBzX,EAAK6L,UAAUnW,EAAEA,GACVsK,EAAKlH,IAAI0mB,EAAE9pB,IAOtB6D,KAAKkmB,aAAezf,EAAKC,SACtBH,EAAQ2f,aACPzf,EAAK9E,KAAK3B,KAAKkmB,aAAc3f,EAAQ2f,eAGrCzf,EAAKiD,IAAI1J,KAAKkmB,aAAczc,EAAM3C,SAAU0C,EAAM1C,UAClDL,EAAKS,OAAOlH,KAAKkmB,aAAclmB,KAAKkmB,cAAe1c,EAAMzC,QAO7D/G,KAAK+lB,YAAc,EACgB,iBAAzBxf,EAAmB,YACzBvG,KAAK+lB,YAAcxf,EAAQwf,YAG3B/lB,KAAK+lB,YAActc,EAAM1C,MAAQyC,EAAMzC,MAG3C/G,KAAKmjB,UAAUriB,KAAKyG,EAAGC,EAAGwe,GAC1BhmB,KAAKskB,YAAYJ,GAjHrB,IAAInB,EAAa/lB,EAAQ,gBACrByJ,EAAOzJ,EAAQ,gBACfwP,EAAWxP,EAAQ,yBAEvBnB,EAAOD,QAAUkqB,GA+GjBA,EAAe1lB,UAAY,IAAI2iB,GACNpY,YAAcmb,EAOvCA,EAAe1lB,UAAUkkB,YAAc,SAAS6B,GAE5C,IAAI,IADAlV,EAAMjR,KAAKmjB,UACPxmB,EAAE,EAAGA,EAAEqD,KAAKmjB,UAAUrmB,OAAQH,IAClCsU,EAAItU,GAAGunB,SAAYiC,EACnBlV,EAAItU,GAAGmoB,UAAYqB,GAS3BL,EAAe1lB,UAAU6kB,YAAc,WACnC,OAAOjlB,KAAKmjB,UAAU,GAAGe,UAG7B,IAAIjd,EAAIR,EAAKC,SACTrK,EAAIoK,EAAKC,SACTvK,EAAIsK,EAAKC,SACT0f,EAAQ3f,EAAKqI,WAAW,EAAE,GAC1BD,EAAQpI,EAAKqI,WAAW,EAAE,GAC9BgX,EAAe1lB,UAAUyf,OAAS,WAC9B,IAAItY,EAAMvH,KAAKmjB,UAAU,GACrB3b,EAAMxH,KAAKmjB,UAAU,GACrB6C,EAAMhmB,KAAKmjB,UAAU,GACrB3Z,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MAEjBhD,EAAKS,OAAOD,EAAEjH,KAAKkmB,aAAa1c,EAAMzC,OACtCN,EAAKS,OAAO7K,EAAE2D,KAAKkmB,aAAazc,EAAM1C,MAAQ/G,KAAK+lB,aACnDtf,EAAK4L,MAAMhW,EAAEA,GAAG,GAEhBoK,EAAKS,OAAO/K,EAAEE,EAAEoD,KAAKye,GAAG,GACxBzX,EAAK6L,UAAUnW,EAAEA,GAEjBoL,EAAEqd,EAAE,IAAM,EACVrd,EAAEqd,EAAE,GAAM,EACVrd,EAAEqd,EAAE,IAAMne,EAAK+H,YAAYvH,EAAEmf,GAC7B7e,EAAEqd,EAAE,GAAM,EAEVpd,EAAEod,EAAE,GAAM,EACVpd,EAAEod,EAAE,IAAM,EACVpd,EAAEod,EAAE,IAAMne,EAAK+H,YAAYvH,EAAE4H,GAC7BrH,EAAEod,EAAE,GAAM,EAEVoB,EAAIpB,EAAE,IAAOzoB,EAAE,GACf6pB,EAAIpB,EAAE,IAAOzoB,EAAE,GACf6pB,EAAIpB,EAAE,GAAMzoB,EAAE,GACd6pB,EAAIpB,EAAE,GAAMzoB,EAAE,GACd6pB,EAAIpB,EAAE,GAAMne,EAAK+H,YAAYnS,EAAEF,MAGhCyiB,wBAAwB,GAAG/V,eAAe,GAAGqc,eAAe,KAAKmB,IAAI,SAASrpB,EAAQnB,EAAOD,GA4BhG,SAAS0qB,EAAoB9c,EAAOC,EAAOlD,GACvCA,EAAUA,MACVwc,EAAWlmB,KAAKmD,KAAKwJ,EAAMC,EAAMsZ,EAAWS,UAAUjd,GAGtD,IAAIud,EAAerd,EAAKqI,WAAW,EAAE,GACjCyX,EAAa9f,EAAKqI,WAAW,EAAE,GAC/BiV,EAAetd,EAAKqI,WAAW,EAAE,GAClCvI,EAAQud,cAAerd,EAAK9E,KAAKmiB,EAAcvd,EAAQud,cACvDvd,EAAQggB,YAAa9f,EAAK9E,KAAK4kB,EAAchgB,EAAQggB,YACrDhgB,EAAQwd,cAAetd,EAAK9E,KAAKoiB,EAAcxd,EAAQwd,cAM1D/jB,KAAK8jB,aAAeA,EAMpB9jB,KAAK+jB,aAAeA,EAMpB/jB,KAAKumB,WAAaA,EAoBlB,IAAIrC,EAAWlkB,KAAKkkB,cAAsC,IAApB3d,EAAgB,SAAkBA,EAAQ2d,SAAW7hB,OAAOC,UAG9FkkB,EAAQ,IAAIha,EAAShD,EAAMC,GAAOya,EAASA,GAC3CC,EAAK,IAAI1d,EAAKC,OACd0d,EAAK,IAAI3d,EAAKC,OACd+f,EAAK,IAAIhgB,EAAKC,OACdvK,EAAK,IAAIsK,EAAKC,OA0BlB,GAzBA8f,EAAMnC,UAAY,WAEd,OAAO5d,EAAKlH,IAAIknB,EAAGtqB,IAEvBqqB,EAAME,eAAiB,WACnB,IAAI9B,EAAI5kB,KAAK4kB,EACThQ,EAAKpL,EAAM1C,SACXiO,EAAKtL,EAAM3C,SACfL,EAAKS,OAAOid,EAAGL,EAAata,EAAMzC,OAClCN,EAAKS,OAAOkd,EAAGL,EAAata,EAAM1C,OAClCN,EAAKgB,IAAIgf,EAAG1R,EAAGqP,GACf3d,EAAKiD,IAAI+c,EAAGA,EAAG7R,GACfnO,EAAKiD,IAAI+c,EAAGA,EAAGtC,GACf1d,EAAKS,OAAO/K,EAAEoqB,EAAW/c,EAAMzC,MAAMtH,KAAKye,GAAG,GAE7C0G,EAAE,IAAMzoB,EAAE,GACVyoB,EAAE,IAAMzoB,EAAE,GACVyoB,EAAE,IAAMne,EAAK+H,YAAY2V,EAAGhoB,GAAKsK,EAAK+H,YAAYrS,EAAEsqB,GACpD7B,EAAE,GAAKzoB,EAAE,GACTyoB,EAAE,GAAKzoB,EAAE,GACTyoB,EAAE,GAAKne,EAAK+H,YAAY4V,EAAGjoB,IAE/B6D,KAAKmjB,UAAUriB,KAAK0lB,IAGhBjgB,EAAQogB,sBAAsB,CAC9B,IAAIX,EAAM,IAAIY,EAAuBpd,EAAMC,GAAOya,EAASA,GAC3DlkB,KAAKmjB,UAAUriB,KAAKklB,GAQxBhmB,KAAK8G,SAAW,EAGhB9G,KAAK6mB,SAAW,EAOhB7mB,KAAKykB,uBAAiD,IAAtBle,EAAkB,WAOlDvG,KAAKukB,uBAAiD,IAAtBhe,EAAkB,WAOlDvG,KAAK0kB,gBAA0C,IAAtBne,EAAkB,WAAkBA,EAAQme,WAAa,EAOlF1kB,KAAKwkB,gBAA0C,IAAtBje,EAAkB,WAAkBA,EAAQie,WAAa,EAGlFxkB,KAAK8mB,mBAAqB,IAAIC,EAAgBvd,EAAMC,GACpDzJ,KAAKgnB,mBAAqB,IAAID,EAAgBvd,EAAMC,GAGpDzJ,KAAK8mB,mBAAmBhC,SAAW9kB,KAAKgnB,mBAAmBlC,SAAW,EACtE9kB,KAAK8mB,mBAAmB5C,SAAWlkB,KAAKgnB,mBAAmB9C,SAAWA,EAOtElkB,KAAKinB,cAAgB,IAAIza,EAAShD,EAAMC,GAOxCzJ,KAAKknB,cAAe,EAOpBlnB,KAAKmnB,WAAa,EAElB,IAAI/E,EAAOpiB,KACPinB,EAAgBjnB,KAAKinB,cACfA,EAAcG,UACxBH,EAAc5C,UAAY,WAAY,OAAO,GAC7C4C,EAAcG,UAAY,WACtB,IAAIxC,EAAI5kB,KAAK4kB,EACT9Z,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV4d,EAAKvc,EAAG+b,SACRS,EAAKvc,EAAG8b,SACRU,EAAKzc,EAAG0c,gBACRC,EAAK1c,EAAGyc,gBACZ,OAAOxnB,KAAK0nB,MAAM9C,EAAEyC,EAAGE,EAAGD,EAAGG,GAAMrF,EAAK+E,YAhMhD,IAAIpE,EAAa/lB,EAAQ,gBACrB+pB,EAAkB/pB,EAAQ,gCAC1BwP,EAAWxP,EAAQ,yBACnByJ,EAAOzJ,EAAQ,gBACf4pB,EAAyB5pB,EAAQ,uCAErCnB,EAAOD,QAAU0qB,GA8LjBA,EAAoBlmB,UAAY,IAAI2iB,GACNpY,YAAc2b,EAE5C,IAAIqB,EAAalhB,EAAKC,SAClBsd,EAAevd,EAAKC,SACpBud,EAAexd,EAAKC,SACpBkhB,EAAkBnhB,EAAKC,SACvBmhB,EAAkBphB,EAAKC,SACvBxF,EAAMuF,EAAKC,SAMf4f,EAAoBlmB,UAAUyf,OAAS,WACnC,IAAI5O,EAAMjR,KAAKmjB,UACXqD,EAAQvV,EAAI,GACZuT,EAAaxkB,KAAKwkB,WAClBE,EAAa1kB,KAAK0kB,WAClBoC,EAAqB9mB,KAAK8mB,mBAC1BE,EAAqBhnB,KAAKgnB,mBAC1Bxd,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MACb8c,EAAavmB,KAAKumB,WAClBzC,EAAe9jB,KAAK8jB,aACpBC,EAAe/jB,KAAK+jB,aAExByC,EAAME,iBAGNjgB,EAAKS,OAAOygB,EAAiBpB,EAAiB/c,EAAMzC,OACpDN,EAAKS,OAAO0gB,EAAiB9D,EAAiBta,EAAMzC,OACpDN,EAAKgB,IAAIuc,EAAoB4D,EAAiBpe,EAAM1C,UACpDL,EAAKS,OAAO2gB,EAAiB9D,EAAiBta,EAAM1C,OACpDN,EAAKgB,IAAIwc,EAAoB4D,EAAiBpe,EAAM3C,UAEpD,IAAIghB,EAAc9nB,KAAK8G,SAAWL,EAAKlH,IAAI0kB,EAAa0D,GAAclhB,EAAKlH,IAAIykB,EAAa2D,GAG5F,GAAG3nB,KAAKknB,aAAa,CAEjB,IAAItC,EAAI5kB,KAAKinB,cAAcrC,EAC3BA,EAAE,GAAK+C,EAAW,GAClB/C,EAAE,GAAK+C,EAAW,GAClB/C,EAAE,GAAKne,EAAK+H,YAAYmZ,EAAWE,GACnCjD,EAAE,IAAM+C,EAAW,GACnB/C,EAAE,IAAM+C,EAAW,GACnB/C,EAAE,IAAMne,EAAK+H,YAAYmZ,EAAWC,GA0CxC,GAjBG5nB,KAAKukB,mBAAqBuD,EAActD,GAEvC/d,EAAK4L,MAAMyU,EAAmB7U,QAAS0V,GAAa,GACpDlhB,EAAKiD,IAAIod,EAAmBhV,cAAekS,EAAcxa,EAAM1C,UAC/DL,EAAKiD,IAAIod,EAAmB/U,cAAekS,EAAcxa,EAAM3C,UAC/DL,EAAK4L,MAAMnR,EAAIymB,EAAWnD,GAC1B/d,EAAKgB,IAAIqf,EAAmBhV,cAAcgV,EAAmBhV,cAAc5Q,IACnC,IAArC+P,EAAIjO,QAAQ8jB,IACX7V,EAAInQ,KAAKgmB,KAID,KADRvE,EAAMtR,EAAIjO,QAAQ8jB,KAElB7V,EAAIlO,OAAOwf,EAAI,GAIpBviB,KAAKykB,mBAAqBqD,EAAcpD,EAEvCje,EAAK4L,MAAM2U,EAAmB/U,QAAS0V,EAAY,GACnDlhB,EAAKiD,IAAIsd,EAAmBlV,cAAekS,EAAcxa,EAAM1C,UAC/DL,EAAKiD,IAAIsd,EAAmBjV,cAAekS,EAAcxa,EAAM3C,UAC/DL,EAAK4L,MAAMnR,EAAIymB,EAAWjD,GAC1Bje,EAAKiD,IAAIsd,EAAmBjV,cAAciV,EAAmBjV,cAAc7Q,IACnC,IAArC+P,EAAIjO,QAAQgkB,IACX/V,EAAInQ,KAAKkmB,OAEV,CACH,IAAIzE,EAAMtR,EAAIjO,QAAQgkB,IACV,IAATzE,GACCtR,EAAIlO,OAAOwf,EAAI,KAS3B+D,EAAoBlmB,UAAU2nB,YAAc,WACrC/nB,KAAKknB,eAGRlnB,KAAKmjB,UAAUriB,KAAKd,KAAKinB,eACzBjnB,KAAKknB,cAAe,IAOxBZ,EAAoBlmB,UAAU4nB,aAAe,WACzC,GAAIhoB,KAAKknB,aAAT,CAGA,IAAIvqB,EAAIqD,KAAKmjB,UAAUngB,QAAQhD,KAAKinB,eACpCjnB,KAAKmjB,UAAUpgB,OAAOpG,EAAE,GACxBqD,KAAKknB,cAAe,IASxBZ,EAAoBlmB,UAAU6nB,UAAY,SAAUC,EAAOC,GAClC,iBAAZ,GACLnoB,KAAK0kB,WAAawD,EAClBloB,KAAKykB,mBAAoB,IAEzBzkB,KAAK0kB,WAAawD,EAClBloB,KAAKykB,mBAAoB,GAGR,iBAAZ,GACLzkB,KAAKwkB,WAAa2D,EAClBnoB,KAAKukB,mBAAoB,IAEzBvkB,KAAKwkB,WAAa2D,EAClBnoB,KAAKukB,mBAAoB,MAK9B5F,+BAA+B,GAAGC,wBAAwB,GAAGwJ,sCAAsC,GAAGvf,eAAe,GAAGqc,eAAe,KAAKmD,IAAI,SAASrrB,EAAQnB,EAAOD,GA4C3K,SAAS0sB,EAAmB9e,EAAOC,EAAOlD,GACtCA,EAAUA,MACVwc,EAAWlmB,KAAKmD,KAAKwJ,EAAMC,EAAMsZ,EAAWU,SAASld,GAErD,IAAI2d,EAAWlkB,KAAKkkB,cAAwC,IAAtB3d,EAAgB,SAAoBA,EAAQ2d,SAAW7hB,OAAOC,UAKpGtC,KAAKuoB,OAAS9hB,EAAKC,SAKnB1G,KAAKwoB,OAAS/hB,EAAKC,SAEhBH,EAAQkiB,YAEPhiB,EAAKiD,IAAI1J,KAAKuoB,OAAQhiB,EAAQkiB,WAAYjf,EAAM1C,UAChDL,EAAKiD,IAAI1J,KAAKwoB,OAAQjiB,EAAQkiB,WAAYhf,EAAM3C,UAEhDL,EAAKS,OAAOlH,KAAKuoB,OAAQvoB,KAAKuoB,QAAS/e,EAAMzC,OAC7CN,EAAKS,OAAOlH,KAAKwoB,OAAQxoB,KAAKwoB,QAAS/e,EAAM1C,SAG7CN,EAAK9E,KAAK3B,KAAKuoB,OAAQhiB,EAAQmiB,aAC/BjiB,EAAK9E,KAAK3B,KAAKwoB,OAAQjiB,EAAQoiB,cAInC,IAAI1X,EAAMjR,KAAKmjB,WACX,IAAI3W,EAAShD,EAAMC,GAAOya,EAASA,GACnC,IAAI1X,EAAShD,EAAMC,GAAOya,EAASA,IAGnC3c,EAAI0J,EAAI,GACRzJ,EAAIyJ,EAAI,GACRmR,EAAOpiB,KAEXuH,EAAE8c,UAAY,WAMV,OALA5d,EAAKS,OAAO0hB,EAAaxG,EAAKmG,OAAQ/e,EAAMzC,OAC5CN,EAAKS,OAAO2hB,EAAazG,EAAKoG,OAAQ/e,EAAM1C,OAC5CN,EAAKgB,IAAIwe,EAAGxc,EAAM3C,SAAU+hB,GAC5BpiB,EAAKiD,IAAIuc,EAAGA,EAAGzc,EAAM1C,UACrBL,EAAKiD,IAAIuc,EAAGA,EAAG2C,GACRniB,EAAKlH,IAAI0mB,EAAEG,IAGtB5e,EAAE6c,UAAY,WAMV,OALA5d,EAAKS,OAAO0hB,EAAaxG,EAAKmG,OAAQ/e,EAAMzC,OAC5CN,EAAKS,OAAO2hB,EAAazG,EAAKoG,OAAQ/e,EAAM1C,OAC5CN,EAAKgB,IAAIwe,EAAGxc,EAAM3C,SAAU+hB,GAC5BpiB,EAAKiD,IAAIuc,EAAGA,EAAGzc,EAAM1C,UACrBL,EAAKiD,IAAIuc,EAAGA,EAAG2C,GACRniB,EAAKlH,IAAI0mB,EAAEpX,IAGtBrH,EAAEsd,SAAWvd,EAAEud,UAAYZ,EAC3B1c,EAAE0c,SAAW3c,EAAE2c,SAAYA,EAE3BlkB,KAAKinB,cAAgB,IAAI6B,EAA2Btf,EAAMC,GAO1DzJ,KAAKknB,cAAe,EAQpBlnB,KAAK+G,MAAQ,EAOb/G,KAAKykB,mBAAoB,EAOzBzkB,KAAKukB,mBAAoB,EAOzBvkB,KAAK0kB,WAAa,EAOlB1kB,KAAKwkB,WAAa,EAElBxkB,KAAK8mB,mBAAqB,IAAIF,EAAuBpd,EAAMC,GAC3DzJ,KAAKgnB,mBAAqB,IAAIJ,EAAuBpd,EAAMC,GAC3DzJ,KAAK8mB,mBAAmBhC,SAAW,EACnC9kB,KAAKgnB,mBAAmB9C,SAAW,EAvJvC,IAAInB,EAAa/lB,EAAQ,gBACrBwP,EAAWxP,EAAQ,yBACnB8rB,EAA6B9rB,EAAQ,2CACrC4pB,EAAyB5pB,EAAQ,uCACjCyJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAU0sB,EAEjB,IAAIM,EAAcniB,EAAKC,SACnBmiB,EAAcpiB,EAAKC,SACnB0f,EAAQ3f,EAAKqI,WAAW,EAAE,GAC1BD,EAAQpI,EAAKqI,WAAW,EAAE,GAC1BmX,EAAIxf,EAAKC,UA6Ib4hB,EAAmBloB,UAAY,IAAI2iB,GACNpY,YAAc2d,EAQ3CA,EAAmBloB,UAAU6nB,UAAY,SAAUC,EAAOC,GACjC,iBAAZ,GACLnoB,KAAK0kB,WAAawD,EAClBloB,KAAKykB,mBAAoB,IAEzBzkB,KAAK0kB,WAAawD,EAClBloB,KAAKykB,mBAAoB,GAGR,iBAAZ,GACLzkB,KAAKwkB,WAAa2D,EAClBnoB,KAAKukB,mBAAoB,IAEzBvkB,KAAKwkB,WAAa2D,EAClBnoB,KAAKukB,mBAAoB,IAIjC+D,EAAmBloB,UAAUyf,OAAS,WAClC,IAAIrW,EAASxJ,KAAKwJ,MACdC,EAASzJ,KAAKyJ,MACd8e,EAASvoB,KAAKuoB,OACdC,EAASxoB,KAAKwoB,OACdvX,EAASjR,KAAKmjB,UAGd5b,GAFS0J,EAAI,GACJA,EAAI,GACTA,EAAI,IACRzJ,EAAIyJ,EAAI,GACRuT,EAAaxkB,KAAKwkB,WAClBE,EAAa1kB,KAAK0kB,WAClBoC,EAAqB9mB,KAAK8mB,mBAC1BE,EAAqBhnB,KAAKgnB,mBAE1B+B,EAAW/oB,KAAK+G,MAAQ0C,EAAM1C,MAAQyC,EAAMzC,MAchD,GAZG/G,KAAKukB,mBAAqBwE,EAAWvE,GACpCsC,EAAmB/f,MAAQyd,GACa,IAArCvT,EAAIjO,QAAQ8jB,IACX7V,EAAInQ,KAAKgmB,KAID,KADRvE,EAAMtR,EAAIjO,QAAQ8jB,KAElB7V,EAAIlO,OAAOwf,EAAI,GAIpBviB,KAAKykB,mBAAqBsE,EAAWrE,EACpCsC,EAAmBjgB,MAAQ2d,GACa,IAArCzT,EAAIjO,QAAQgkB,IACX/V,EAAInQ,KAAKkmB,OAEV,CACH,IAAIzE,EAAMtR,EAAIjO,QAAQgkB,IACV,IAATzE,GACCtR,EAAIlO,OAAOwf,EAAI,GA6BvB9b,EAAKS,OAAO0hB,EAAaL,EAAQ/e,EAAMzC,OACvCN,EAAKS,OAAO2hB,EAAaL,EAAQ/e,EAAM1C,OAIvCQ,EAAEqd,EAAE,IAAM,EACVrd,EAAEqd,EAAE,GAAM,EACVrd,EAAEqd,EAAE,IAAMne,EAAK+H,YAAYoa,EAAYxC,GACvC7e,EAAEqd,EAAE,GAAM,EACVrd,EAAEqd,EAAE,GAAM,EACVrd,EAAEqd,EAAE,GAAMne,EAAK+H,YAAYqa,EAAYzC,GAEvC5e,EAAEod,EAAE,GAAM,EACVpd,EAAEod,EAAE,IAAM,EACVpd,EAAEod,EAAE,IAAMne,EAAK+H,YAAYoa,EAAY/Z,GACvCrH,EAAEod,EAAE,GAAM,EACVpd,EAAEod,EAAE,GAAM,EACVpd,EAAEod,EAAE,GAAMne,EAAK+H,YAAYqa,EAAYha,IAO3CyZ,EAAmBloB,UAAU2nB,YAAc,WACpC/nB,KAAKknB,eAGRlnB,KAAKmjB,UAAUriB,KAAKd,KAAKinB,eACzBjnB,KAAKknB,cAAe,IAOxBoB,EAAmBloB,UAAU4nB,aAAe,WACxC,GAAIhoB,KAAKknB,aAAT,CAGA,IAAIvqB,EAAIqD,KAAKmjB,UAAUngB,QAAQhD,KAAKinB,eACpCjnB,KAAKmjB,UAAUpgB,OAAOpG,EAAE,GACxBqD,KAAKknB,cAAe,IAQxBoB,EAAmBloB,UAAU4oB,cAAgB,SAASC,GAClD,GAAIjpB,KAAKknB,aAAT,CAGA,IAAIvqB,EAAIqD,KAAKmjB,UAAUngB,QAAQhD,KAAKinB,eACpCjnB,KAAKmjB,UAAUxmB,GAAGiV,iBAAmBqX,IAQzCX,EAAmBloB,UAAU8oB,cAAgB,WACzC,QAAIlpB,KAAKknB,cAGFlnB,KAAKinB,cAAcrV,oBAG3BgN,wBAAwB,GAAGwJ,sCAAsC,GAAGe,0CAA0C,GAAGtgB,eAAe,GAAGqc,eAAe,KAAKkE,IAAI,SAASpsB,EAAQnB,EAAOD,GAkBtL,SAAS0pB,EAAkB9b,EAAOC,EAAOlD,GACrCA,EAAUA,MACViG,EAAS3P,KAAKmD,KAAKwJ,EAAMC,GAAOpH,OAAOC,UAAUD,OAAOC,WACxDtC,KAAK+G,MAAQR,EAAQQ,OAAS,EAQ9B/G,KAAKqlB,MAAgC,iBAAjB9e,EAAa,MAAeA,EAAQ8e,MAAQ,EAEhErlB,KAAKylB,SAASzlB,KAAKqlB,OA9BvB,IAAI7Y,EAAWxP,EAAQ,cACZA,EAAQ,gBAEnBnB,EAAOD,QAAU0pB,GA6BjBA,EAAkBllB,UAAY,IAAIoM,GACN7B,YAAc2a,EAE1CA,EAAkBllB,UAAUikB,UAAY,WACpC,OAAOrkB,KAAKqlB,MAAQrlB,KAAKwJ,MAAMzC,MAAQ/G,KAAKyJ,MAAM1C,MAAQ/G,KAAK+G,OAQnEue,EAAkBllB,UAAUqlB,SAAW,SAASJ,GAC5C,IAAIT,EAAI5kB,KAAK4kB,EACbA,EAAE,GAAMS,EACRT,EAAE,IAAM,EACR5kB,KAAKqlB,MAAQA,GAQjBC,EAAkBllB,UAAUolB,aAAe,SAASE,GAChD1lB,KAAKkkB,SAAYwB,EACjB1lB,KAAK8kB,UAAYY,KAGlB7c,eAAe,GAAGwgB,aAAa,KAAKC,IAAI,SAAStsB,EAAQnB,EAAOD,GAenE,SAASmrB,EAAgBvd,EAAOC,GAC5B+C,EAAS3P,KAAKmD,KAAMwJ,EAAOC,EAAO,EAAGpH,OAAOC,WAO5CtC,KAAK8R,cAAgBrL,EAAKC,SAC1B1G,KAAKwa,eAAiB/T,EAAKC,SAO3B1G,KAAK+R,cAAgBtL,EAAKC,SAO1B1G,KAAKiS,QAAUxL,EAAKC,SAOpB1G,KAAKsM,YAAc,EAQnBtM,KAAKsR,aAAc,EAOnBtR,KAAKuQ,OAAS,KAOdvQ,KAAK0Q,OAAS,KAlElB,IAAIlE,EAAWxP,EAAQ,cACnByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUmrB,GAiEjBA,EAAgB3mB,UAAY,IAAIoM,GACN7B,YAAcoc,EACxCA,EAAgB3mB,UAAUmpB,SAAW,SAAS9sB,EAAEkC,EAAE6qB,GAC9C,IAAI1e,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV0a,EAAKnkB,KAAK8R,cACVsS,EAAKpkB,KAAK+R,cACV6C,EAAK9J,EAAGhE,SACRiO,EAAKhK,EAAGjE,SAER0T,EAAiBxa,KAAKwa,eACtBpe,EAAI4D,KAAKiS,QACT2S,EAAI5kB,KAAK4kB,EAGTG,EAAOte,EAAK+H,YAAY2V,EAAG/nB,GAC3B4oB,EAAOve,EAAK+H,YAAY4V,EAAGhoB,GAG/BwoB,EAAE,IAAMxoB,EAAE,GACVwoB,EAAE,IAAMxoB,EAAE,GACVwoB,EAAE,IAAMG,EACRH,EAAE,GAAKxoB,EAAE,GACTwoB,EAAE,GAAKxoB,EAAE,GACTwoB,EAAE,GAAKI,EAGPve,EAAKgB,IAAI+S,EAAezF,EAAGqP,GAC3B3d,EAAKiD,IAAI8Q,EAAeA,EAAe5F,GACvCnO,EAAKiD,IAAI8Q,EAAeA,EAAe2J,GAGvC,IAAIsF,EAAIC,EAYR,OAXG1pB,KAAKsR,aAAoC,IAArBtR,KAAKsM,aACxBod,EAAK,EACLD,EAAM,EAAE9qB,GAAI,EAAEqB,KAAKsM,aAAetM,KAAKonB,cAEvCsC,EAAKjjB,EAAKlH,IAAInD,EAAEoe,GAAkBxa,KAAKyR,OACvCgY,EAAKzpB,KAAKonB,cAIJsC,EAAKjtB,EAAIgtB,EAAK9qB,EAAI6qB,EADjBxpB,KAAK2pB,eAMpB,IAAItC,EAAK5gB,EAAKC,SACV4gB,EAAK7gB,EAAKC,SACVkjB,EAASnjB,EAAKC,SAMlBqgB,EAAgB3mB,UAAUypB,uBAAyB,WAO/C,OALA7pB,KAAKwJ,MAAMsgB,mBAAmBzC,EAAIrnB,KAAK8R,eACvC9R,KAAKyJ,MAAMqgB,mBAAmBxC,EAAItnB,KAAK+R,eAEvCtL,EAAKsjB,SAASH,EAAQvC,EAAIC,GAEnB7gB,EAAKlH,IAAIS,KAAKiS,QAAS2X,MAE/B/gB,eAAe,GAAGwgB,aAAa,KAAKW,IAAI,SAAShtB,EAAQnB,EAAOD,GAgBnE,SAAS4Q,EAAShD,EAAOC,EAAOqb,EAAUZ,GAOtClkB,KAAK8kB,cAA8B,IAAb,GAA4BziB,OAAOC,UAAYwiB,EAOrE9kB,KAAKkkB,cAA8B,IAAb,EAA2B7hB,OAAOC,UAAY4hB,EAOpElkB,KAAKwJ,MAAQA,EAObxJ,KAAKyJ,MAAQA,EAObzJ,KAAKuM,UAAYC,EAASC,kBAO1BzM,KAAK0M,WAAaF,EAASG,mBAO3B3M,KAAK4kB,EAAI,IAAIpC,EAAMyH,WAAW,GAC9B,IAAI,IAAIttB,EAAE,EAAGA,EAAE,EAAGA,IACdqD,KAAK4kB,EAAEjoB,GAAG,EAGdqD,KAAKyR,OAAS,EAEdzR,KAAKvD,EAAI,EACTuD,KAAKrB,EAAI,EACTqB,KAAKkqB,QAAU,EACflqB,KAAKmqB,SAAW,EAAE,GAMlBnqB,KAAKuR,aAAc,EAOnBvR,KAAKoqB,WAAa,EAMlBpqB,KAAK4R,iBAAmB,EAMxB5R,KAAKwR,SAAU,EAnGnB3V,EAAOD,QAAU4Q,EAEjB,IAAI/F,EAAOzJ,EAAQ,gBACfwlB,EAAQxlB,EAAQ,kBACTA,EAAQ,mBAiGnBwP,EAASpM,UAAUuK,YAAc6B,EAQjCA,EAASC,kBAAoB,IAQ7BD,EAASG,mBAAqB,EAM9BH,EAASpM,UAAUyf,OAAS,WACxB,IAAI/d,EAAI9B,KAAKuM,UACT3I,EAAI5D,KAAK0M,WACT8c,EAAIxpB,KAAKmqB,SAEbnqB,KAAKvD,EAAI,GAAO+sB,GAAK,EAAI,EAAI5lB,IAC7B5D,KAAKrB,EAAK,EAAMiF,GAAM,EAAI,EAAIA,GAC9B5D,KAAKkqB,QAAU,GAAOV,EAAIA,EAAI1nB,GAAK,EAAI,EAAI8B,IAE3C5D,KAAKuR,aAAc,GAQvB/E,EAASpM,UAAUsnB,MAAQ,SAAS9C,EAAEyC,EAAGE,EAAGD,EAAGG,GAC3C,OAAQ7C,EAAE,GAAKyC,EAAG,GACVzC,EAAE,GAAKyC,EAAG,GACVzC,EAAE,GAAK2C,EACP3C,EAAE,GAAK0C,EAAG,GACV1C,EAAE,GAAK0C,EAAG,GACV1C,EAAE,GAAK6C,GAQnBjb,EAASpM,UAAUmpB,SAAW,SAAS9sB,EAAEkC,EAAE6qB,GACvC,IAAIC,EAAKzpB,KAAKonB,YAGd,OAFSpnB,KAAKqkB,YAEA5nB,EAAIgtB,EAAK9qB,EADZqB,KAAK2pB,cACgBH,GAQpC,IAAIa,EAAK5jB,EAAKC,SACV4jB,EAAK7jB,EAAKC,SACd8F,EAASpM,UAAUikB,UAAY,WAC3B,IAAIO,EAAI5kB,KAAK4kB,EACT9Z,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MAGVoL,GAFK/J,EAAGhE,SACHiE,EAAGjE,SACHgE,EAAG/D,OACRiO,EAAKjK,EAAGhE,MAEZ,OAAO/G,KAAK0nB,MAAM9C,EAAGyF,EAAIxV,EAAIyV,EAAItV,GAAMhV,KAAKyR,QAQhDjF,EAASpM,UAAUgnB,UAAY,WAC3B,IAAIxC,EAAI5kB,KAAK4kB,EACT9Z,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV4d,EAAKvc,EAAG+b,SACRS,EAAKvc,EAAG8b,SACRU,EAAKzc,EAAG0c,gBACRC,EAAK1c,EAAGyc,gBACZ,OAAOxnB,KAAK0nB,MAAM9C,EAAEyC,EAAGE,EAAGD,EAAGG,GAAMznB,KAAK4R,kBAQ5CpF,EAASpM,UAAUmqB,gBAAkB,WACjC,IAAI3F,EAAI5kB,KAAK4kB,EACT9Z,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV4d,EAAKvc,EAAG0f,QACRlD,EAAKvc,EAAGyf,QACRjD,EAAKzc,EAAG2f,QACRhD,EAAK1c,EAAG0f,QACZ,OAAOzqB,KAAK0nB,MAAM9C,EAAEyC,EAAGE,EAAGD,EAAGG,IAQjC,IAAIiD,EAAOjkB,EAAKC,SACZikB,EAAOlkB,EAAKC,SAChB8F,EAASpM,UAAUupB,YAAc,WAC7B,IAAI7e,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACVmhB,EAAK9f,EAAGqb,MACR0E,EAAK/f,EAAGggB,aACRC,EAAKhgB,EAAGob,MACR6E,EAAKjgB,EAAG+f,aACRG,EAAWngB,EAAGogB,aACdC,EAAWpgB,EAAGmgB,aACdE,EAAQtgB,EAAGugB,gBACXC,EAAQvgB,EAAGsgB,gBACXzG,EAAI5kB,KAAK4kB,EAOb,OALAne,EAAK4L,MAAMqY,EAAME,EAAIK,GACrBxkB,EAAK8kB,SAASb,EAAM5f,EAAG0gB,eAAgBd,GACvCjkB,EAAK4L,MAAMsY,EAAMI,EAAGI,GACpB1kB,EAAK8kB,SAASZ,EAAM5f,EAAGygB,eAAgBb,GAEhC3qB,KAAK0nB,MAAM9C,EAAE8F,EAAKG,EAAGO,EAAMT,EAAKK,EAAGM,IAQ9C9e,EAASpM,UAAUqrB,aAAe,WAC9B,IAAI3gB,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACVwhB,EAAWngB,EAAGogB,aACdC,EAAWpgB,EAAGmgB,aACdE,EAAQtgB,EAAGugB,gBACXC,EAAQvgB,EAAGsgB,gBACXzG,EAAI5kB,KAAK4kB,EAEb,OAAQA,EAAE,GAAKA,EAAE,GAAKqG,EAAWngB,EAAG0gB,eAAe,GAC3C5G,EAAE,GAAKA,EAAE,GAAKqG,EAAWngB,EAAG0gB,eAAe,GAC3C5G,EAAE,GAAKA,EAAE,GAAQwG,EACjBxG,EAAE,GAAKA,EAAE,GAAKuG,EAAWpgB,EAAGygB,eAAe,GAC3C5G,EAAE,GAAKA,EAAE,GAAKuG,EAAWpgB,EAAGygB,eAAe,GAC3C5G,EAAE,GAAKA,EAAE,GAAQ0G,GAG7B,IAAII,EAAoBjlB,EAAKC,SACzBilB,EAAkBllB,EAAKC,SACvBklB,EAAkBnlB,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SACFD,EAAKC,SAO9B8F,EAASpM,UAAUyrB,aAAe,SAASC,GACvC,IAAIhhB,EAAK9K,KAAKwJ,MACVuB,EAAK/K,KAAKyJ,MACV0Q,EAAOuR,EACPK,EAAKJ,EACLK,EAAKJ,EAGLX,EAAWngB,EAAGogB,aACdC,EAAWpgB,EAAGmgB,aACdE,EAAQtgB,EAAGugB,gBACXC,EAAQvgB,EAAGsgB,gBAEXzG,EAAI5kB,KAAK4kB,EAEbmH,EAAG,GAAKnH,EAAE,GACVmH,EAAG,GAAKnH,EAAE,GACVoH,EAAG,GAAKpH,EAAE,GACVoH,EAAG,GAAKpH,EAAE,GAIVne,EAAK4L,MAAM8H,EAAM4R,EAAId,EAASa,GAC9BrlB,EAAK8kB,SAASpR,EAAMA,EAAMrP,EAAG0gB,gBAC7B/kB,EAAKgB,IAAKqD,EAAG0f,QAAS1f,EAAG0f,QAASrQ,GAIlCrP,EAAG2f,SAAWW,EAAQxG,EAAE,GAAKkH,EAG7BrlB,EAAK4L,MAAM8H,EAAM6R,EAAIb,EAASW,GAC9BrlB,EAAK8kB,SAASpR,EAAMA,EAAMpP,EAAGygB,gBAC7B/kB,EAAKgB,IAAKsD,EAAGyf,QAASzf,EAAGyf,QAASrQ,GAElCpP,EAAG0f,SAAWa,EAAQ1G,EAAE,GAAKkH,GASjCtf,EAASpM,UAAU6rB,YAAc,SAASC,GACtC,OAAO,GAAOlsB,KAAKyrB,eAAiBS,MAGrCrjB,eAAe,GAAG2B,kBAAkB,GAAG1B,iBAAiB,KAAKqjB,IAAI,SAASnvB,EAAQnB,EAAOD,GAiB5F,SAASwwB,EAAiB5iB,EAAOC,EAAOqC,GACpCU,EAAS3P,KAAKmD,KAAMwJ,EAAOC,GAAQqC,EAAWA,GAO9C9L,KAAK8R,cAAgBrL,EAAKC,SAO1B1G,KAAK+R,cAAgBtL,EAAKC,SAO1B1G,KAAK7D,EAAIsK,EAAKC,SAOd1G,KAAK0L,oBAQL1L,KAAKuQ,OAAS,KAQdvQ,KAAK0Q,OAAS,KAOd1Q,KAAK+L,oBAAsB,GApE/B,IAAItF,EAAOzJ,EAAQ,gBACfwP,EAAWxP,EAAQ,cACXA,EAAQ,kBAEpBnB,EAAOD,QAAUwwB,GAkEjBA,EAAiBhsB,UAAY,IAAIoM,GACN7B,YAAcyhB,EAQzCA,EAAiBhsB,UAAUuR,aAAe,SAAS7F,GAC/C9L,KAAKkkB,SAAWpY,EAChB9L,KAAK8kB,UAAYhZ,GAQrBsgB,EAAiBhsB,UAAUisB,aAAe,WACtC,OAAOrsB,KAAKkkB,UAGhBkI,EAAiBhsB,UAAUmpB,SAAW,SAAS9sB,EAAEkC,EAAE6qB,GACtCxpB,KAAKwJ,MACLxJ,KAAKyJ,MADd,IAEI0a,EAAKnkB,KAAK8R,cACVsS,EAAKpkB,KAAK+R,cACV5V,EAAI6D,KAAK7D,EACTyoB,EAAI5kB,KAAK4kB,EAgBb,OAZAA,EAAE,IAAMzoB,EAAE,GACVyoB,EAAE,IAAMzoB,EAAE,GACVyoB,EAAE,IAAMne,EAAK+H,YAAY2V,EAAGhoB,GAC5ByoB,EAAE,GAAKzoB,EAAE,GACTyoB,EAAE,GAAKzoB,EAAE,GACTyoB,EAAE,GAAKne,EAAK+H,YAAY4V,EAAGjoB,IAElB6D,KAAKonB,YAGgBzoB,EAAI6qB,EAFvBxpB,KAAK2pB,iBAOjB9gB,eAAe,GAAGC,iBAAiB,GAAGugB,aAAa,KAAKiD,IAAI,SAAStvB,EAAQnB,EAAOD,GAiBvF,SAASgrB,EAAuBpd,EAAOC,EAAOlD,GAC1CA,EAAUA,MACViG,EAAS3P,KAAKmD,KAAMwJ,EAAOC,GAAQpH,OAAOC,UAAWD,OAAOC,WAK5DtC,KAAK+G,MAAQR,EAAQQ,OAAS,EAE9B,IAAI6d,EAAI5kB,KAAK4kB,EACbA,EAAE,GAAM,EACRA,EAAE,IAAM,EA3BZ,IAAIpY,EAAWxP,EAAQ,cACnByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUgrB,GA0BjBA,EAAuBxmB,UAAY,IAAIoM,GACN7B,YAAcic,EAE/C,IAAI2F,EAAe9lB,EAAKC,SACpB8lB,EAAe/lB,EAAKC,SACpB0f,EAAQ3f,EAAKqI,WAAW,EAAE,GAC1BD,EAAQpI,EAAKqI,WAAW,EAAE,GAC9B8X,EAAuBxmB,UAAUikB,UAAY,WAGzC,OAFA5d,EAAKS,OAAOqlB,EAAanG,EAAMpmB,KAAKwJ,MAAMzC,MAAM/G,KAAK+G,OACrDN,EAAKS,OAAOslB,EAAa3d,EAAM7O,KAAKyJ,MAAM1C,OACnCN,EAAKlH,IAAIgtB,EAAaC,MAG9B3jB,eAAe,GAAGwgB,aAAa,KAAKoD,IAAI,SAASzvB,EAAQnB,EAAOD,GAenE,SAASktB,EAA2Btf,EAAOC,GACvC+C,EAAS3P,KAAKmD,KAAMwJ,EAAOC,GAAQpH,OAAOC,UAAWD,OAAOC,WAC5DtC,KAAK4R,iBAAmB,EACxB5R,KAAKqlB,MAAQ,EAjBjB,IAAI7Y,EAAWxP,EAAQ,cACZA,EAAQ,gBAEnBnB,EAAOD,QAAUktB,GAgBjBA,EAA2B1oB,UAAY,IAAIoM,GACN7B,YAAcme,EACnDA,EAA2B1oB,UAAUmpB,SAAW,SAAS9sB,EAAEkC,EAAE6qB,GACzD,IAAI5E,EAAI5kB,KAAK4kB,EACbA,EAAE,IAAM,EACRA,EAAE,GAAK5kB,KAAKqlB,MAEZ,IAAIqH,EAAO1sB,KAAK2pB,cAIhB,OAHS3pB,KAAKonB,YACCzoB,EAAI6qB,EAAEkD,KAKtB7jB,eAAe,GAAGwgB,aAAa,KAAKsD,IAAI,SAAS3vB,EAAQnB,EAAOD,GAMnE,IAAIgxB,EAAe,aAEnB/wB,EAAOD,QAAUgxB,EAEjBA,EAAaxsB,WACTuK,YAAaiiB,EASbjK,GAAI,SAAWpd,EAAMsnB,EAAUC,GAC3BD,EAASC,QAAUA,GAAW9sB,UACLsf,IAApBtf,KAAK+sB,aACN/sB,KAAK+sB,eAET,IAAIC,EAAYhtB,KAAK+sB,WAOrB,YAN2BzN,IAAtB0N,EAAWznB,KACZynB,EAAWznB,QAEkC,IAA5CynB,EAAWznB,GAAOvC,QAAS6pB,IAC5BG,EAAWznB,GAAOzE,KAAM+rB,GAErB7sB,MAUXitB,IAAK,SAAW1nB,EAAMsnB,GAClB,QAAyBvN,IAApBtf,KAAK+sB,WACN,OAAO,EAEX,IAAIC,EAAYhtB,KAAK+sB,WACrB,GAAGF,GACC,QAA2BvN,IAAtB0N,EAAWznB,KAAoE,IAA5CynB,EAAWznB,GAAOvC,QAAS6pB,GAC/D,OAAO,OAGX,QAA2BvN,IAAtB0N,EAAWznB,GACZ,OAAO,EAIf,OAAO,GAUXmd,IAAK,SAAWnd,EAAMsnB,GAClB,QAAyBvN,IAApBtf,KAAK+sB,WACN,OAAO/sB,KAEX,IAAIgtB,EAAYhtB,KAAK+sB,WACjBG,EAAQF,EAAWznB,GAAOvC,QAAS6pB,GAIvC,OAHiB,IAAZK,GACDF,EAAWznB,GAAOxC,OAAQmqB,EAAO,GAE9BltB,MAUXmtB,KAAM,SAAWC,GACb,QAAyB9N,IAApBtf,KAAK+sB,WACN,OAAO/sB,KAEX,IACIqtB,EADYrtB,KAAK+sB,WACUK,EAAM7nB,MACrC,QAAuB+Z,IAAlB+N,EAA8B,CAC/BD,EAAME,OAASttB,KACf,IAAM,IAAIrD,EAAI,EAAGsK,EAAIomB,EAAcvwB,OAAQH,EAAIsK,EAAGtK,IAAO,CACrD,IAAIkwB,EAAWQ,EAAe1wB,GAC9BkwB,EAAShwB,KAAMgwB,EAASC,QAASM,IAGzC,OAAOptB,YAITutB,IAAI,SAASvwB,EAAQnB,EAAOD,GAsBlC,SAAS4xB,EAAgBC,EAAWC,EAAWnnB,GAG3C,GAFAA,EAAUA,QAELknB,aAAqBE,GAAeD,aAAqBC,GAC1D,MAAM,IAAI/wB,MAAM,mDAQpBoD,KAAK6Q,GAAK2c,EAAgBI,YAO1B5tB,KAAKytB,UAAYA,EAOjBztB,KAAK0tB,UAAYA,EAQjB1tB,KAAK6tB,cAAwC,IAAtBtnB,EAAgB,SAAoBlE,OAAOkE,EAAQsnB,UAAY,GAQtF7tB,KAAKsM,iBAA8C,IAAzB/F,EAAmB,YAAoBlE,OAAOkE,EAAQ+F,aAAe,EAO/FtM,KAAKuM,eAA0C,IAAvBhG,EAAiB,UAAoBlE,OAAOkE,EAAQgG,WAAaC,EAASC,kBAOlGzM,KAAK0M,gBAA4C,IAAxBnG,EAAkB,WAAoBlE,OAAOkE,EAAQmG,YAAcF,EAASG,mBAOrG3M,KAAK4M,uBAA0D,IAA/BrG,EAAyB,kBAAoBlE,OAAOkE,EAAQqG,mBAAqBJ,EAASC,kBAO1HzM,KAAK6M,wBAA4D,IAAhCtG,EAA0B,mBAAoBlE,OAAOkE,EAAQsG,oBAAuBL,EAASG,mBAO9H3M,KAAKgM,qBAAsD,IAA7BzF,EAAuB,gBAAoBlE,OAAOkE,EAAQyF,iBAAmB,EAO3GhM,KAAKiN,gBAAkB,KAzG3B,IAAI0gB,EAAW3wB,EAAQ,cACnBwP,EAAWxP,EAAQ,yBAEvBnB,EAAOD,QAAU4xB,EAyGjBA,EAAgBI,UAAY,IAEzBhP,wBAAwB,GAAGkP,aAAa,KAAKC,IAAI,SAAS/wB,EAAQnB,EAAOD,GAU5E,SAAS+xB,EAAS9c,GAMd7Q,KAAK6Q,GAAKA,GAAM8c,EAASC,YAf7B/xB,EAAOD,QAAU+xB,EAkBjBA,EAASC,UAAY,OAEfI,IAAI,SAAShxB,EAAQnB,EAAOD,GA+B9B,IAAIqyB,KAmDJA,EAAMC,QAAU,SAASzsB,GAErB,GAAGA,EAAE3E,OAAQ,EAAG,OAAO,EAGvB,IAAI,IAFAmK,EAAIxF,EAAE3E,OAAS,EACfqxB,EAAM,EACFxxB,EAAE,EAAGA,EAAEsK,EAAGtK,GAAG,EACjBwxB,IAAQ1sB,EAAE9E,EAAE,GAAG8E,EAAE9E,KAAO8E,EAAE9E,EAAE,GAAG8E,EAAE9E,EAAE,IAEvC,MAAe,KADfwxB,IAAQ1sB,EAAE,GAAGA,EAAEwF,KAAOxF,EAAEwF,EAAE,GAAGxF,EAAE,MAqBnCwsB,EAAMG,YAAc,SAAS3sB,GAEzB,IAAIrF,EAAIqF,EAAE3E,QAAQ,EAClB,GAAGV,EAAE,EAAG,SAGR,IAAI,IAFAiyB,KACAC,KACI3xB,EAAE,EAAGA,EAAEP,EAAGO,IAAK2xB,EAAIxtB,KAAKnE,GAIhC,IAFA,IAAIA,EAAI,EACJ4xB,EAAKnyB,EACHmyB,EAAK,GACX,CACI,IAAIC,EAAKF,GAAK3xB,EAAE,GAAG4xB,GACfE,EAAKH,GAAK3xB,EAAE,GAAG4xB,GACfG,EAAKJ,GAAK3xB,EAAE,GAAG4xB,GAEfI,EAAKltB,EAAE,EAAE+sB,GAAMI,EAAKntB,EAAE,EAAE+sB,EAAG,GAC3BK,EAAKptB,EAAE,EAAEgtB,GAAMK,EAAKrtB,EAAE,EAAEgtB,EAAG,GAC3BM,EAAKttB,EAAE,EAAEitB,GAAMM,EAAKvtB,EAAE,EAAEitB,EAAG,GAE3BO,GAAW,EACf,GAAGhB,EAAMiB,QAAQP,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GACrC,CACIC,GAAW,EACX,IAAI,IAAIrtB,EAAE,EAAGA,EAAE2sB,EAAI3sB,IACnB,CACI,IAAIylB,EAAKiH,EAAI1sB,GACb,GAAGylB,GAAImH,GAAMnH,GAAIoH,GAAMpH,GAAIqH,GACxBT,EAAMkB,iBAAiB1tB,EAAE,EAAE4lB,GAAK5lB,EAAE,EAAE4lB,EAAG,GAAIsH,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAAK,CAACC,GAAW,EAAO,QAGlG,GAAGA,EAECZ,EAAIvtB,KAAK0tB,EAAIC,EAAIC,GACjBJ,EAAIvrB,QAAQpG,EAAE,GAAG4xB,EAAI,GACrBA,IACA5xB,EAAG,OAEF,GAAGA,IAAM,EAAE4xB,EAAI,MAGxB,OADAF,EAAIvtB,KAAKwtB,EAAI,GAAIA,EAAI,GAAIA,EAAI,IACtBD,GAiOXJ,EAAMkB,iBAAmB,SAASC,EAAIC,EAAIV,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAE1D,IAAIM,EAAMP,EAAGJ,EACTY,EAAMP,EAAGJ,EACTY,EAAMX,EAAGF,EACTc,EAAMX,EAAGF,EACTc,EAAMN,EAAGT,EACTgB,EAAMN,EAAGT,EAETgB,EAAQN,EAAIA,EAAIC,EAAIA,EACpBM,EAAQP,EAAIE,EAAID,EAAIE,EACpBK,EAAQR,EAAII,EAAIH,EAAII,EACpBI,EAAQP,EAAIA,EAAIC,EAAIA,EACpBO,EAAQR,EAAIE,EAAID,EAAIE,EAEpBM,EAAW,GAAKL,EAAQG,EAAQF,EAAQA,GACxCrzB,GAAKuzB,EAAQD,EAAQD,EAAQG,GAASC,EACtC3vB,GAAKsvB,EAAQI,EAAQH,EAAQC,GAASG,EAG1C,OAAQzzB,GAAK,GAAO8D,GAAK,GAAO9D,EAAI8D,EAAI,GAuD5C2tB,EAAMiB,QAAU,SAASP,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAEzC,OAAQJ,EAAGE,IAAKC,EAAGF,IAAOA,EAAGF,IAAKK,EAAGF,IAAO,GAwBpDjzB,EAAOD,QAAUqyB,OAEXiC,IAAI,SAASlzB,EAAQnB,EAAOD,GA4BlC,IAAI6K,EAAO5K,EAAOD,WAEd4mB,EAAQxlB,EAAQ,kBAUpByJ,EAAK+H,YAAc,SAAS/R,EAAEkC,GAC1B,OAAOlC,EAAE,GAAKkC,EAAE,GAAKlC,EAAE,GAAKkC,EAAE,IAYlC8H,EAAK0pB,QAAU,SAASvO,EAAKwO,EAAKC,GAG9B,OAFA5pB,EAAKS,OAAO0a,EAAIwO,GAAK3wB,KAAKye,GAAG,GAC7BzX,EAAK4L,MAAMuP,EAAIA,EAAIyO,GACZzO,GAYXnb,EAAK6pB,QAAU,SAAS1O,EAAKyO,EAAOD,GAGhC,OAFA3pB,EAAKS,OAAO0a,EAAIwO,EAAI3wB,KAAKye,GAAG,GAC5BzX,EAAK4L,MAAMuP,EAAIA,EAAIyO,GACZzO,GAWXnb,EAAKS,OAAS,SAAS0a,EAAInlB,EAAEsK,GACzB,GAAa,IAAVA,EAAY,CACX,IAAInI,EAAIa,KAAK2H,IAAIL,GACbzK,EAAImD,KAAK6H,IAAIP,GACbQ,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACVmlB,EAAI,GAAKhjB,EAAE2I,EAAGjL,EAAEkL,EAChBoa,EAAI,GAAKtlB,EAAEiL,EAAG3I,EAAE4I,OAEhBoa,EAAI,GAAKnlB,EAAE,GACXmlB,EAAI,GAAKnlB,EAAE,IAYnBgK,EAAKuL,WAAa,SAAS4P,EAAKnlB,GAC5B,IAAI8K,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACVmlB,EAAI,GAAKpa,EACToa,EAAI,IAAMra,GAWdd,EAAK8pB,aAAe,SAAS3O,EAAKpU,EAAYgjB,EAAeC,GACzDhqB,EAAK9E,KAAKigB,EAAKpU,GACf/G,EAAKiD,IAAIkY,EAAKA,EAAK4O,GACnB/pB,EAAKS,OAAO0a,EAAKA,GAAM6O,IAW3BhqB,EAAKiqB,cAAgB,SAAS9O,EAAK+O,EAAYH,EAAeC,GAC1DhqB,EAAK9E,KAAKigB,EAAK+O,GACflqB,EAAKS,OAAO0a,EAAKA,EAAK6O,GACtBhqB,EAAKgB,IAAIma,EAAKA,EAAK4O,IAUvB/pB,EAAKmqB,mBAAqB,SAAShP,EAAKiP,EAAaJ,GACjDhqB,EAAKS,OAAO0a,EAAKiP,GAAcJ,IAUnChqB,EAAKqqB,oBAAsB,SAASlP,EAAKmP,EAAaN,GAClDhqB,EAAKS,OAAO0a,EAAKmP,EAAaN,IAalChqB,EAAKuqB,SAAW,SAASpP,EAAKnlB,EAAGkC,EAAGC,GAIhC,OAHA6H,EAAKgB,IAAIma,EAAKnlB,EAAGkC,GACjB8H,EAAKgB,IAAIma,EAAKA,EAAKhjB,GACnB6H,EAAK4L,MAAMuP,EAAKA,EAAK,EAAE,GAChBA,GASXnb,EAAKC,OAAS,WACV,IAAIkb,EAAM,IAAIY,EAAMyH,WAAW,GAG/B,OAFArI,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,GAUXnb,EAAKwqB,MAAQ,SAASx0B,GAClB,IAAImlB,EAAM,IAAIY,EAAMyH,WAAW,GAG/B,OAFArI,EAAI,GAAKnlB,EAAE,GACXmlB,EAAI,GAAKnlB,EAAE,GACJmlB,GAWXnb,EAAKqI,WAAa,SAASvH,EAAGC,GAC1B,IAAIoa,EAAM,IAAIY,EAAMyH,WAAW,GAG/B,OAFArI,EAAI,GAAKra,EACTqa,EAAI,GAAKpa,EACFoa,GAWXnb,EAAK9E,KAAO,SAASigB,EAAKnlB,GAGtB,OAFAmlB,EAAI,GAAKnlB,EAAE,GACXmlB,EAAI,GAAKnlB,EAAE,GACJmlB,GAYXnb,EAAK4G,IAAM,SAASuU,EAAKra,EAAGC,GAGxB,OAFAoa,EAAI,GAAKra,EACTqa,EAAI,GAAKpa,EACFoa,GAYXnb,EAAKgB,IAAM,SAASma,EAAKnlB,EAAGkC,GAGxB,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GAClBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GACXijB,GAYXnb,EAAKsjB,SAAW,SAASnI,EAAKnlB,EAAGkC,GAG7B,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GAClBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GACXijB,GAQXnb,EAAKiD,IAAMjD,EAAKsjB,SAWhBtjB,EAAK8kB,SAAW,SAAS3J,EAAKnlB,EAAGkC,GAG7B,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GAClBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GACXijB,GAQXnb,EAAKyqB,IAAMzqB,EAAK8kB,SAWhB9kB,EAAK0qB,OAAS,SAASvP,EAAKnlB,EAAGkC,GAG3B,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GAClBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAAE,GACXijB,GAQXnb,EAAK2qB,IAAM3qB,EAAK0qB,OAWhB1qB,EAAK4L,MAAQ,SAASuP,EAAKnlB,EAAGkC,GAG1B,OAFAijB,EAAI,GAAKnlB,EAAE,GAAKkC,EAChBijB,EAAI,GAAKnlB,EAAE,GAAKkC,EACTijB,GAWXnb,EAAKib,SAAW,SAASjlB,EAAGkC,GACxB,IAAI4I,EAAI5I,EAAE,GAAKlC,EAAE,GACb+K,EAAI7I,EAAE,GAAKlC,EAAE,GACjB,OAAOgD,KAAKC,KAAK6H,EAAEA,EAAIC,EAAEA,IAQ7Bf,EAAK/E,KAAO+E,EAAKib,SAUjBjb,EAAKuZ,gBAAkB,SAASvjB,EAAGkC,GAC/B,IAAI4I,EAAI5I,EAAE,GAAKlC,EAAE,GACb+K,EAAI7I,EAAE,GAAKlC,EAAE,GACjB,OAAO8K,EAAEA,EAAIC,EAAEA,GAQnBf,EAAK4qB,QAAU5qB,EAAKuZ,gBASpBvZ,EAAK3J,OAAS,SAAUL,GACpB,IAAI8K,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACV,OAAOgD,KAAKC,KAAK6H,EAAEA,EAAIC,EAAEA,IAQ7Bf,EAAK6qB,IAAM7qB,EAAK3J,OAShB2J,EAAKmD,cAAgB,SAAUnN,GAC3B,IAAI8K,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACV,OAAO8K,EAAEA,EAAIC,EAAEA,GAQnBf,EAAK8qB,OAAS9qB,EAAKmD,cAUnBnD,EAAK+qB,OAAS,SAAS5P,EAAKnlB,GAGxB,OAFAmlB,EAAI,IAAMnlB,EAAE,GACZmlB,EAAI,IAAMnlB,EAAE,GACLmlB,GAWXnb,EAAK6L,UAAY,SAASsP,EAAKnlB,GAC3B,IAAI8K,EAAI9K,EAAE,GACN+K,EAAI/K,EAAE,GACN60B,EAAM/pB,EAAEA,EAAIC,EAAEA,EAOlB,OANI8pB,EAAM,IAENA,EAAM,EAAI7xB,KAAKC,KAAK4xB,GACpB1P,EAAI,GAAKnlB,EAAE,GAAK60B,EAChB1P,EAAI,GAAKnlB,EAAE,GAAK60B,GAEb1P,GAWXnb,EAAKlH,IAAM,SAAU9C,EAAGkC,GACpB,OAAOlC,EAAE,GAAKkC,EAAE,GAAKlC,EAAE,GAAKkC,EAAE,IAUlC8H,EAAKgrB,IAAM,SAAUh1B,GACjB,MAAO,QAAUA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAY1CgK,EAAKob,KAAO,SAAUD,EAAKnlB,EAAGkC,EAAGxC,GAC7B,IAAIwyB,EAAKlyB,EAAE,GACPmyB,EAAKnyB,EAAE,GAGX,OAFAmlB,EAAI,GAAK+M,EAAKxyB,GAAKwC,EAAE,GAAKgwB,GAC1B/M,EAAI,GAAKgN,EAAKzyB,GAAKwC,EAAE,GAAKiwB,GACnBhN,GAWXnb,EAAKirB,QAAU,SAAS9P,EAAK+P,EAAQzV,GACjC,IAAI3c,EAAMoyB,EAAO,GAAKzV,EAAO,GAAKyV,EAAO,GAAKzV,EAAO,GACrD0F,EAAI,GAAK+P,EAAO,GAAK,EAAIzV,EAAO,GAAK3c,EACrCqiB,EAAI,GAAK+P,EAAO,GAAK,EAAIzV,EAAO,GAAK3c,GAczCkH,EAAKmrB,4BAA8B,SAAShQ,EAAKiQ,EAAI7zB,EAAI9B,EAAI41B,GACzD,IAAI31B,EAAIsK,EAAKsrB,oCAAoCF,EAAI7zB,EAAI9B,EAAI41B,GAC7D,QAAG31B,EAAI,KAGHylB,EAAI,GAAKiQ,EAAG,GAAM11B,GAAK6B,EAAG,GAAK6zB,EAAG,IAClCjQ,EAAI,GAAKiQ,EAAG,GAAM11B,GAAK6B,EAAG,GAAK6zB,EAAG,KAC3B,IAcfprB,EAAKsrB,oCAAsC,SAASF,EAAI7zB,EAAI9B,EAAI41B,GAC5D,IAKIx1B,EAAGH,EALH61B,EAAOh0B,EAAG,GAAK6zB,EAAG,GAClBI,EAAOj0B,EAAG,GAAK6zB,EAAG,GAClBK,EAAOJ,EAAG,GAAK51B,EAAG,GAClBi2B,EAAOL,EAAG,GAAK51B,EAAG,GAKtB,OAFAI,IAAM21B,GAAQJ,EAAG,GAAK31B,EAAG,IAAM81B,GAAQH,EAAG,GAAK31B,EAAG,OAASg2B,EAAOD,EAAOD,EAAOG,GAChFh2B,GAAM+1B,GAAQL,EAAG,GAAK31B,EAAG,IAAMi2B,GAAQN,EAAG,GAAK31B,EAAG,OAASg2B,EAAOD,EAAOD,EAAOG,GAC5E71B,GAAK,GAAKA,GAAK,GAAKH,GAAK,GAAKA,GAAK,EAC5BA,GAEH,KAGT2M,iBAAiB,KAAKspB,IAAI,SAASp1B,EAAQnB,EAAOD,GAqDrD,SAASuN,EAAK5C,GACVA,EAAUA,MAEVqmB,EAAa/vB,KAAKmD,MAOlBA,KAAK6Q,GAAKtK,EAAQsK,MAAQ1H,EAAKkpB,WAO/BryB,KAAKiJ,MAAQ,KAQbjJ,KAAKsQ,UAOLtQ,KAAKsyB,KAAO/rB,EAAQ+rB,MAAQ,EAO5BtyB,KAAKuyB,QAAU,EAOfvyB,KAAKwyB,QAAU,EAOfxyB,KAAKyyB,WAAa,EAElBzyB,KAAKkrB,aAAe,EACpBlrB,KAAKqrB,gBAAkB,EAOvBrrB,KAAK0yB,gBAAkBnsB,EAAQmsB,cAM/B1yB,KAAK2yB,SAAWpsB,EAAQosB,OAMxB3yB,KAAK4yB,SAAWrsB,EAAQqsB,OAMxB5yB,KAAKwrB,eAAiB/kB,EAAKC,SAO3B1G,KAAK8G,SAAWL,EAAKqI,WAAW,EAAE,GAC/BvI,EAAQO,UACPL,EAAK9E,KAAK3B,KAAK8G,SAAUP,EAAQO,UAQrC9G,KAAK6yB,qBAAuBpsB,EAAKqI,WAAW,EAAE,GAO9C9O,KAAK8yB,kBAAoB,EAOzB9yB,KAAK+yB,iBAAmBtsB,EAAKqI,WAAW,EAAE,GAO1C9O,KAAKgzB,cAAgB,EAOrBhzB,KAAK6mB,SAAWpgB,EAAKqI,WAAW,EAAE,GAC/BvI,EAAQsgB,UACPpgB,EAAK9E,KAAK3B,KAAK6mB,SAAUtgB,EAAQsgB,UAQrC7mB,KAAKwqB,QAAU/jB,EAAKqI,WAAW,EAAE,GAOjC9O,KAAKyqB,QAAU,EAiBfzqB,KAAK+G,MAAQR,EAAQQ,OAAS,EAO9B/G,KAAKwnB,gBAAkBjhB,EAAQihB,iBAAmB,EAqBlDxnB,KAAKmmB,MAAQ1f,EAAKC,SACfH,EAAQ4f,OACP1f,EAAK9E,KAAK3B,KAAKmmB,MAAO5f,EAAQ4f,OAQlCnmB,KAAK8qB,aAAevkB,EAAQukB,cAAgB,EAQ5C9qB,KAAKizB,QAAsC,iBAArB1sB,EAAe,QAAiBA,EAAQ0sB,QAAU,GAQxEjzB,KAAKkzB,eAAoD,iBAA5B3sB,EAAsB,eAAiBA,EAAQ2sB,eAAiB,GA+B7FlzB,KAAKuF,KAAO4D,EAAKgB,YAEW,IAAlB5D,EAAY,KAClBvG,KAAKuF,KAAOgB,EAAQhB,KACbgB,EAAQ+rB,KAGftyB,KAAKuF,KAAO4D,EAAKgqB,QAFjBnzB,KAAKuF,KAAO4D,EAAKgB,OAUrBnK,KAAK6J,eAAiB,EAOtB7J,KAAK0H,KAAO,IAAIpB,EAchBtG,KAAKiL,iBAAkB,EAQvBjL,KAAKozB,gBAAoC9T,IAAvB/Y,EAAQ6sB,YAA2B7sB,EAAQ6sB,WAE7DpzB,KAAKqzB,cAAe,EAWpBrzB,KAAKoK,WAAajB,EAAKmqB,MAQvBtzB,KAAKuzB,qBAA8CjU,IAA5B/Y,EAAQgtB,gBAAgChtB,EAAQgtB,gBAAkB,GAQzFvzB,KAAKwzB,oBAA4ClU,IAA3B/Y,EAAQitB,eAA+BjtB,EAAQitB,eAAiB,EAOtFxzB,KAAKyzB,kBAAwCnU,IAAzB/Y,EAAQktB,aAA6BltB,EAAQktB,aAAe,EAMhFzzB,KAAKwgB,uBAAkDlB,IAA9B/Y,EAAQia,mBAAkCja,EAAQia,kBAM3ExgB,KAAK0zB,SAAW,EAOhB1zB,KAAK2zB,eAAiB,EAOtB3zB,KAAK4zB,uBAAkDtU,IAA9B/Y,EAAQqtB,kBAAkCrtB,EAAQqtB,mBAAqB,EAOhG5zB,KAAK6zB,mBAA0CvU,IAA1B/Y,EAAQstB,cAA8BttB,EAAQstB,cAAgB,GAEnF7zB,KAAK8zB,YAAc,KAEnB9zB,KAAK+zB,yBAA0B,EAE/B/zB,KAAKg0B,uBAhaT,IAAIvtB,EAAOzJ,EAAQ,gBACfuF,EAASvF,EAAQ,eACjB0R,EAAS1R,EAAQ,oBACjBukB,EAAgBvkB,EAAQ,8BACxBoiB,EAAMpiB,EAAQ,oBACdsJ,EAAOtJ,EAAQ,qBACf4vB,EAAe5vB,EAAQ,0BAE3BnB,EAAOD,QAAUuN,EA0ZjBA,EAAK/I,UAAY,IAAIwsB,EACrBzjB,EAAK/I,UAAUuK,YAAcxB,EAE7BA,EAAKkpB,WAAa,EAMlBlpB,EAAK/I,UAAU6zB,0BAA4B,WACpCj0B,KAAKoK,aAAejB,EAAKkB,UAAYrK,KAAKuF,OAAS4D,EAAKe,WACvDlK,KAAKkrB,aAAe,EACpBlrB,KAAKqrB,gBAAkB,IAEvBrrB,KAAKkrB,aAAelrB,KAAKuyB,QACzBvyB,KAAKqrB,gBAAkBrrB,KAAKyyB,aASpCtpB,EAAK/I,UAAU8zB,WAAa,SAASC,GACjC,IAAIC,EAAYp0B,KAAKq0B,UACrBr0B,KAAKsyB,KAAO8B,EAAYD,EACxBn0B,KAAKg0B,wBAQT7qB,EAAK/I,UAAUi0B,QAAU,WAErB,IAAI,IADAD,EAAY,EACRz3B,EAAE,EAAGA,EAAEqD,KAAKsQ,OAAOxT,OAAQH,IAC/By3B,GAAap0B,KAAKsQ,OAAO3T,GAAG+B,KAEhC,OAAO01B,GAQXjrB,EAAK/I,UAAU2J,QAAU,WAIrB,OAHG/J,KAAKiL,iBACJjL,KAAKkL,aAEFlL,KAAK0H,MAGhB,IAAI4sB,EAAY,IAAIhuB,EAChBpF,EAAMuF,EAAKC,SAMfyC,EAAK/I,UAAU8K,WAAa,WAMxB,IAAI,IALAoF,EAAStQ,KAAKsQ,OACdnP,EAAImP,EAAOxT,OACX2U,EAASvQ,EACTqzB,EAAYv0B,KAAK+G,MAEbpK,EAAE,EAAGA,IAAIwE,EAAGxE,IAAI,CACpB,IAAI+jB,EAAQpQ,EAAO3T,GACfoK,EAAQ2Z,EAAM3Z,MAAQwtB,EAG1B9tB,EAAKS,OAAOuK,EAAQiP,EAAM5Z,SAAUytB,GACpC9tB,EAAKgB,IAAIgK,EAAQA,EAAQzR,KAAK8G,UAG9B4Z,EAAM8T,YAAYF,EAAW7iB,EAAQ1K,GAE9B,IAAJpK,EACCqD,KAAK0H,KAAK/F,KAAK2yB,GAEft0B,KAAK0H,KAAKC,OAAO2sB,GAIzBt0B,KAAKiL,iBAAkB,GAO3B9B,EAAK/I,UAAUq0B,qBAAuB,WAKlC,IAAI,IAJAnkB,EAAStQ,KAAKsQ,OACdnP,EAAImP,EAAOxT,OACXwQ,EAAS,EAEL3Q,EAAE,EAAGA,IAAIwE,EAAGxE,IAAI,CACpB,IAAI+jB,EAAQpQ,EAAO3T,GACf8U,EAAShL,EAAK3J,OAAO4jB,EAAM5Z,UAC3BzK,EAAIqkB,EAAM7W,eACX4H,EAASpV,EAAIiR,IACZA,EAASmE,EAASpV,GAI1B2D,KAAK6J,eAAiByD,GA0B1BnE,EAAK/I,UAAUs0B,SAAW,SAAShU,EAAOjP,EAAQ1K,GAC9C,GAAG2Z,EAAML,KACL,MAAM,IAAIzjB,MAAM,0CAEpB8jB,EAAML,KAAOrgB,KAGVyR,EACChL,EAAK9E,KAAK+e,EAAM5Z,SAAU2K,GAE1BhL,EAAK4G,IAAIqT,EAAM5Z,SAAU,EAAG,GAGhC4Z,EAAM3Z,MAAQA,GAAS,EAEvB/G,KAAKsQ,OAAOxP,KAAK4f,GACjB1gB,KAAKg0B,uBACLh0B,KAAKy0B,uBAELz0B,KAAKiL,iBAAkB,GAS3B9B,EAAK/I,UAAUu0B,YAAc,SAASjU,GAClC,IAAI6B,EAAMviB,KAAKsQ,OAAOtN,QAAQ0d,GAE9B,OAAY,IAAT6B,IACCviB,KAAKsQ,OAAOvN,OAAOwf,EAAI,GACvBviB,KAAKiL,iBAAkB,EACvByV,EAAML,KAAO,MACN,IAgBflX,EAAK/I,UAAU4zB,qBAAuB,WAClC,GAAGh0B,KAAKuF,OAAS4D,EAAKgB,QAAUnK,KAAKuF,OAAS4D,EAAKe,UAE/ClK,KAAKsyB,KAAOjwB,OAAOC,UACnBtC,KAAKuyB,QAAU,EACfvyB,KAAKwyB,QAAUnwB,OAAOC,UACtBtC,KAAKyyB,WAAa,MAEf,CAEH,IAAIniB,EAAStQ,KAAKsQ,OACdnP,EAAImP,EAAOxT,OACX83B,EAAI50B,KAAKsyB,KAAOnxB,EAChB0zB,EAAI,EAER,GAAI70B,KAAK0yB,cAWL1yB,KAAKwyB,QAAUnwB,OAAOC,UACtBtC,KAAKyyB,WAAa,MAZC,CACnB,IAAI,IAAI91B,EAAE,EAAGA,EAAEwE,EAAGxE,IAAI,CAClB,IAAI+jB,EAAQpQ,EAAO3T,GACfm4B,EAAKruB,EAAKmD,cAAc8W,EAAM5Z,UAElC+tB,GADUnU,EAAMqU,uBAAuBH,GAC5BA,EAAEE,EAEjB90B,KAAKwyB,QAAUqC,EACf70B,KAAKyyB,WAAaoC,EAAE,EAAI,EAAEA,EAAI,EAQlC70B,KAAKuyB,QAAU,EAAIvyB,KAAKsyB,KAExB7rB,EAAK4G,IACDrN,KAAKwrB,eACLxrB,KAAK2yB,OAAS,EAAI,EAClB3yB,KAAK4yB,OAAS,EAAI,KAKNnsB,EAAKC,SAQ7ByC,EAAK/I,UAAU40B,WAAa,SAAS7O,EAAO8O,GAKxC,GAFAxuB,EAAKgB,IAAIzH,KAAKmmB,MAAOnmB,KAAKmmB,MAAOA,GAE9B8O,EAAc,CAGb,IAAIC,EAAWzuB,EAAK+H,YAAYymB,EAAc9O,GAG9CnmB,KAAK8qB,cAAgBoK,IAU7B,IAAIC,EAA6B1uB,EAAKC,SAClC0uB,EAA6B3uB,EAAKC,SAClC2uB,EAA6B5uB,EAAKC,SACtCyC,EAAK/I,UAAUk1B,gBAAkB,SAASC,EAAY5E,GAClDA,EAAaA,GAAc0E,EAC3B,IAAIG,EAAaL,EACb3nB,EAAa4nB,EACjBp1B,KAAKy1B,mBAAmBD,EAAYD,GACpCv1B,KAAKy1B,mBAAmBjoB,EAAYmjB,GACpC3wB,KAAKg1B,WAAWQ,EAAYhoB,IAShC,IAAIkoB,EAAyBjvB,EAAKC,SAClCyC,EAAK/I,UAAUu1B,aAAe,SAASC,EAAeX,GAClD,GAAGj1B,KAAKuF,OAAS4D,EAAKgqB,QAAtB,CAKA,IAAI0C,EAAOH,EAOX,GANAjvB,EAAK4L,MAAMwjB,EAAMD,EAAe51B,KAAKuyB,SACrC9rB,EAAK8kB,SAASsK,EAAM71B,KAAKwrB,eAAgBqK,GAGzCpvB,EAAKgB,IAAIzH,KAAK6mB,SAAUgP,EAAM71B,KAAK6mB,UAEhCoO,EAAc,CAEb,IAAIa,EAAUrvB,EAAK+H,YAAYymB,EAAeW,GAC9CE,GAAW91B,KAAKyyB,WAGhBzyB,KAAKwnB,iBAAmBsO,KAUhC,IAAIC,EAAiCtvB,EAAKC,SACtCsvB,EAA+BvvB,EAAKC,SACpCuvB,EAA+BxvB,EAAKC,SACxCyC,EAAK/I,UAAU81B,kBAAoB,SAASC,EAAcxF,GACtDA,EAAaA,GAAcsF,EAC3B,IAAIG,EAAeL,EACfvoB,EAAawoB,EACjBh2B,KAAKy1B,mBAAmBW,EAAcD,GACtCn2B,KAAKy1B,mBAAmBjoB,EAAYmjB,GACpC3wB,KAAK21B,aAAaS,EAAc5oB,IASpCrE,EAAK/I,UAAUmwB,aAAe,SAAS3O,EAAKpU,GACxC/G,EAAK8pB,aAAa3O,EAAKpU,EAAYxN,KAAK8G,SAAU9G,KAAK+G,QAS3DoC,EAAK/I,UAAUoQ,aAAe,SAASoR,EAAK+O,GACxClqB,EAAKiqB,cAAc9O,EAAK+O,EAAY3wB,KAAK8G,SAAU9G,KAAK+G,QAS5DoC,EAAK/I,UAAUwwB,mBAAqB,SAAShP,EAAKiP,GAC9CpqB,EAAKmqB,mBAAmBhP,EAAKiP,EAAa7wB,KAAK+G,QASnDoC,EAAK/I,UAAUq1B,mBAAqB,SAAS7T,EAAKmP,GAC9CtqB,EAAKqqB,oBAAoBlP,EAAKmP,EAAa/wB,KAAK+G,QAapDoC,EAAK/I,UAAUi2B,YAAc,SAASnzB,EAAKqD,GACvCA,EAAUA,MAGV,IAAQ5J,EAAEqD,KAAKsQ,OAAOxT,OAAQH,GAAG,IAAKA,EAClCqD,KAAK20B,YAAY30B,KAAKsQ,OAAO3T,IAGjC,IAAI8E,EAAI,IAAIc,EAAOxC,QAWnB,GAVA0B,EAAExB,SAAWiD,EAGbzB,EAAEV,UAE2C,iBAAnCwF,EAA6B,uBACnC9E,EAAE4C,sBAAsBkC,EAAQlC,4BAIG,IAA7BkC,EAAuB,kBACzB9E,EAAEwB,WACF,OAAO,EAKfjD,KAAK8zB,YAAcryB,EAAExB,SAASwC,MAAM,GACpC,IAAQ9F,EAAE,EAAGA,EAAEqD,KAAK8zB,YAAYh3B,OAAQH,IAAI,CACpC2D,GAAK,EAAE,GACXmG,EAAK9E,KAAKrB,EAAEN,KAAK8zB,YAAYn3B,IAC7BqD,KAAK8zB,YAAYn3B,GAAK2D,EAI1B,IAAIg2B,EAEAA,EADD/vB,EAAQgwB,cACI90B,EAAEc,SAEFd,EAAE0B,cAMjB,IAAI,IAHAqzB,EAAK/vB,EAAKC,SAGN/J,EAAE,EAAGA,IAAI25B,EAASx5B,OAAQH,IAAI,CAKlC,IAAI,IAHAiC,EAAI,IAAI8P,GAASzO,SAAUq2B,EAAS35B,GAAGsD,WAGnC2B,EAAE,EAAGA,IAAIhD,EAAEqB,SAASnD,OAAQ8E,IAAI,CACpC,IAAItB,EAAI1B,EAAEqB,SAAS2B,GACnB6E,EAAKiD,IAAIpJ,EAAEA,EAAE1B,EAAE63B,cAGnBhwB,EAAK4L,MAAMmkB,EAAG53B,EAAE63B,aAAa,GAC7B73B,EAAE83B,kBACF93B,EAAE+3B,qBACF/3B,EAAE61B,uBAGFz0B,KAAK00B,SAAS91B,EAAE43B,GAOpB,OAJAx2B,KAAK42B,qBAEL52B,KAAKiL,iBAAkB,GAEhB,GAGmBxE,EAAKqI,WAAW,EAAE,GAAhD,IACI+nB,EAA0BpwB,EAAKqI,WAAW,EAAE,GAC5CgoB,EAA0BrwB,EAAKqI,WAAW,EAAE,GAC5CioB,EAA0BtwB,EAAKqI,WAAW,EAAE,GAMhD3F,EAAK/I,UAAUw2B,mBAAqB,WAChC,IAAII,EAAoBH,EACpB1I,EAAoB2I,EACpBN,EAAoBO,EACpB3C,EAAoB,EACxB3tB,EAAK4G,IAAI8gB,EAAI,EAAE,GAEf,IAAQxxB,EAAE,EAAGA,IAAIqD,KAAKsQ,OAAOxT,OAAQH,IAAI,CACjCL,EAAI0D,KAAKsQ,OAAO3T,GACpB8J,EAAK4L,MAAM2kB,EAAmB16B,EAAEwK,SAAUxK,EAAEoC,MAC5C+H,EAAKgB,IAAI0mB,EAAKA,EAAK6I,GACnB5C,GAAa93B,EAAEoC,KAGnB+H,EAAK4L,MAAMmkB,EAAGrI,EAAI,EAAEiG,GAGpB,IAAQz3B,EAAE,EAAGA,IAAIqD,KAAKsQ,OAAOxT,OAAQH,IAAI,CACrC,IAAIL,EAAI0D,KAAKsQ,OAAO3T,GACpB8J,EAAKiD,IAAIpN,EAAEwK,SAAUxK,EAAEwK,SAAU0vB,GAIrC/vB,EAAKgB,IAAIzH,KAAK8G,SAAS9G,KAAK8G,SAAS0vB,GAGrC,IAAI,IAAI75B,EAAE,EAAGqD,KAAK8zB,aAAen3B,EAAEqD,KAAK8zB,YAAYh3B,OAAQH,IACxD8J,EAAKiD,IAAI1J,KAAK8zB,YAAYn3B,GAAIqD,KAAK8zB,YAAYn3B,GAAI65B,GAGvDx2B,KAAKg0B,uBACLh0B,KAAKy0B,wBAOTtrB,EAAK/I,UAAU62B,aAAe,WAC1BxwB,EAAK4G,IAAIrN,KAAKmmB,MAAM,EAAI,GACxBnmB,KAAK8qB,aAAe,GAGxB3hB,EAAK/I,UAAU82B,wBAA0B,WACrC,IAAIv4B,EAAIqB,KACJwqB,EAAU7rB,EAAE6rB,QAChB/jB,EAAK4G,IAAImd,EAAQ,EAAE,GACnB7rB,EAAE8rB,QAAU,GAGhBthB,EAAK/I,UAAU+2B,sBAAwB,WACnC,IAAIx4B,EAAIqB,KACJM,EAAI3B,EAAEkoB,SACVpgB,EAAKgB,IAAKnH,EAAGA,EAAG3B,EAAE6rB,SAClB7rB,EAAE6oB,iBAAmB7oB,EAAE8rB,SAQ3BthB,EAAK/I,UAAUg3B,aAAe,SAASC,GACnC,GAAGr3B,KAAKuF,OAAS4D,EAAKgqB,QAAQ,CAC1B,IAAI7yB,EAAIN,KAAK6mB,SACbpgB,EAAK4L,MAAM/R,EAAGA,EAAGb,KAAKsY,IAAI,EAAM/X,KAAKizB,QAAQoE,IAC7Cr3B,KAAKwnB,iBAAmB/nB,KAAKsY,IAAI,EAAM/X,KAAKkzB,eAAemE,KASnEluB,EAAK/I,UAAUgjB,OAAS,WACpB,IAAI9mB,EAAI0D,KAAKoK,WACbpK,KAAKoK,WAAajB,EAAKmqB,MACvBtzB,KAAK0zB,SAAW,EACbp3B,IAAM6M,EAAKmqB,OACVtzB,KAAKmtB,KAAKhkB,EAAKmuB,cAQvBnuB,EAAK/I,UAAUm3B,MAAQ,WACnBv3B,KAAKoK,WAAajB,EAAKkB,SACvBrK,KAAKwnB,gBAAkB,EACvBxnB,KAAK8qB,aAAe,EACpBrkB,EAAK4G,IAAIrN,KAAK6mB,SAAS,EAAE,GACzBpgB,EAAK4G,IAAIrN,KAAKmmB,MAAM,EAAE,GACtBnmB,KAAKmtB,KAAKhkB,EAAKquB,aAUnBruB,EAAK/I,UAAUq3B,UAAY,SAASC,EAAMC,EAAWN,GACjD,GAAIr3B,KAAKozB,YAAcpzB,KAAKuF,OAAS4D,EAAKkB,SAA1C,CAIArK,KAAKqzB,cAAe,EAEHrzB,KAAKoK,WACH3D,EAAKmD,cAAc5J,KAAK6mB,UAAYpnB,KAAKsY,IAAI/X,KAAKwnB,gBAAgB,IAC7D/nB,KAAKsY,IAAI/X,KAAKuzB,gBAAgB,IAIlDvzB,KAAK0zB,SAAW,EAChB1zB,KAAKoK,WAAajB,EAAKmqB,QAEvBtzB,KAAK0zB,UAAY2D,EACjBr3B,KAAKoK,WAAajB,EAAKyuB,QAExB53B,KAAK0zB,SAAW1zB,KAAKwzB,iBAChBmE,EAGA33B,KAAKqzB,cAAe,EAFpBrzB,KAAKu3B,WAajBpuB,EAAK/I,UAAUwH,SAAW,SAASyY,GAC/B,OAAOrgB,KAAKiJ,MAAM4uB,cAAcC,qBAAqB93B,KAAMqgB,IAG/D,IAAI0X,EAAmBtxB,EAAKC,SACxBsxB,EAAmBvxB,EAAKC,SAO5ByC,EAAK/I,UAAU63B,UAAY,SAASZ,GAChC,IAAIa,EAAOl4B,KAAKuyB,QACZz2B,EAAIkE,KAAKmmB,MACTvO,EAAM5X,KAAK8G,SACX+uB,EAAO71B,KAAK6mB,SAGhBpgB,EAAK9E,KAAK3B,KAAK+yB,iBAAkB/yB,KAAK8G,UACtC9G,KAAKgzB,cAAgBhzB,KAAK+G,MAGtB/G,KAAK0yB,gBACL1yB,KAAKwnB,iBAAmBxnB,KAAK8qB,aAAe9qB,KAAKyyB,WAAa4E,GAElE5wB,EAAK4L,MAAM0lB,EAAkBj8B,EAAGu7B,EAAKa,GACrCzxB,EAAK8kB,SAASwM,EAAkB/3B,KAAKwrB,eAAgBuM,GACrDtxB,EAAKgB,IAAIouB,EAAMkC,EAAkBlC,GAG7B71B,KAAKm4B,wBAAwBd,KAG7B5wB,EAAK4L,MAAM2lB,EAAkBnC,EAAMwB,GACnC5wB,EAAKgB,IAAImQ,EAAKA,EAAKogB,GACfh4B,KAAK0yB,gBACL1yB,KAAK+G,OAAS/G,KAAKwnB,gBAAkB6P,IAI7Cr3B,KAAKiL,iBAAkB,GAG3B,IAAInI,EAAS,IAAIye,EACbrZ,EAAM,IAAIkX,GACVM,KAAMN,EAAIc,MAEV9X,EAAY3B,EAAKC,SACjB0xB,EAAM3xB,EAAKC,SACX2xB,EAAa5xB,EAAKC,SAClB4xB,EAAmB7xB,EAAKC,SAC5ByC,EAAK/I,UAAU+3B,wBAA0B,SAASd,GAE9C,GAAGr3B,KAAK4zB,kBAAoB,GAAKntB,EAAKmD,cAAc5J,KAAK6mB,UAAYpnB,KAAKsY,IAAI/X,KAAK4zB,kBAAmB,GAClG,OAAO,EAGXntB,EAAK6L,UAAUlK,EAAWpI,KAAK6mB,UAE/BpgB,EAAK4L,MAAM+lB,EAAKp4B,KAAK6mB,SAAUwQ,GAC/B5wB,EAAKgB,IAAI2wB,EAAKA,EAAKp4B,KAAK8G,UAExBL,EAAKiD,IAAI2uB,EAAYD,EAAKp4B,KAAK8G,UAC/B,IAKIyxB,EALAC,EAAkBx4B,KAAKwnB,gBAAkB6P,EACzC/F,EAAM7qB,EAAK3J,OAAOu7B,GAElBI,EAAe,EAGfrW,EAAOpiB,KAiBX,GAhBA8C,EAAOkO,QACP9I,EAAI0X,SAAW,SAAU9c,GAClBA,EAAOud,OAAS+B,IAGnBmW,EAAMz1B,EAAOud,KACbvd,EAAO6e,YAAYyW,EAAKlwB,GACxBzB,EAAKiD,IAAI2uB,EAAYD,EAAKhW,EAAKtb,UAC/B2xB,EAAehyB,EAAK3J,OAAOu7B,GAAc/G,EACzCxuB,EAAOgf,SAEXrb,EAAK9E,KAAKuG,EAAItH,KAAMZ,KAAK8G,UACzBL,EAAK9E,KAAKuG,EAAIrH,GAAIu3B,GAClBlwB,EAAI2X,SACJ7f,KAAKiJ,MAAM8X,QAAQje,EAAQoF,IAEvBqwB,EACA,OAAO,EAGX,IAAIG,EAAgB14B,KAAK+G,MACzBN,EAAK9E,KAAK22B,EAAkBt4B,KAAK8G,UAOjC,IAJA,IAAI6xB,EAAO,EACPjwB,EAAO,EACPkwB,EAAO,EACPhwB,EAAO6vB,EACJ7vB,GAAQF,GAAQiwB,EAAO34B,KAAK6zB,eAC/B8E,IAGAC,GAAQhwB,EAAOF,GAAQ,EAGvBjC,EAAK4L,MAAM2lB,EAAkBK,EAAYI,GACzChyB,EAAKgB,IAAIzH,KAAK8G,SAAUwxB,EAAkBN,GAC1Ch4B,KAAK+G,MAAQ2xB,EAAgBF,EAAkBC,EAC/Cz4B,KAAKkL,aAGUlL,KAAK0H,KAAKE,SAAS2wB,EAAI7wB,OAAS1H,KAAKiJ,MAAM4vB,YAAY3oB,cAAclQ,KAAMu4B,GAItF7vB,EAAOkwB,EAGPhwB,EAAOgwB,EAgBf,OAZAH,EAAeG,EAEfnyB,EAAK9E,KAAK3B,KAAK8G,SAAUwxB,GACzBt4B,KAAK+G,MAAQ2xB,EAGbjyB,EAAK4L,MAAM2lB,EAAkBK,EAAYI,GACzChyB,EAAKgB,IAAIzH,KAAK8G,SAAU9G,KAAK8G,SAAUkxB,GACnCh4B,KAAK0yB,gBACL1yB,KAAK+G,OAASyxB,EAAkBC,IAG7B,GAUXtvB,EAAK/I,UAAU0pB,mBAAqB,SAAShnB,EAAQmyB,GAGjD,OAFAxuB,EAAK0pB,QAAQrtB,EAAQmyB,EAAej1B,KAAKwnB,iBACzC/gB,EAAKsjB,SAASjnB,EAAQ9C,KAAK6mB,SAAU/jB,GAC9BA,GAMXqG,EAAK2vB,aACDvzB,KAAM,UAMV4D,EAAKquB,YACDjyB,KAAM,SAMV4D,EAAKmuB,aACD/xB,KAAM,UASV4D,EAAKgqB,QAAU,EAQfhqB,EAAKgB,OAAS,EAQdhB,EAAKe,UAAY,EAOjBf,EAAKmqB,MAAQ,EAObnqB,EAAKyuB,OAAS,EAOdzuB,EAAKkB,SAAW,IAGb+W,oBAAoB,EAAEW,mBAAmB,GAAGV,6BAA6B,GAAG0X,yBAAyB,GAAGlwB,eAAe,GAAGkW,mBAAmB,GAAG3Y,cAAc,IAAI4yB,IAAI,SAASh8B,EAAQnB,EAAOD,GA0BjM,SAASq9B,EAAazvB,EAAMC,EAAMlD,GAC9BA,EAAUA,MAEV2yB,EAAOr8B,KAAKmD,KAAMwJ,EAAOC,EAAOlD,GAOhCvG,KAAK8jB,aAAerd,EAAKqI,WAAW,EAAE,GAOtC9O,KAAK+jB,aAAetd,EAAKqI,WAAW,EAAE,GAEnCvI,EAAQud,cAAerd,EAAK9E,KAAK3B,KAAK8jB,aAAcvd,EAAQud,cAC5Dvd,EAAQwd,cAAetd,EAAK9E,KAAK3B,KAAK+jB,aAAcxd,EAAQwd,cAC5Dxd,EAAQyd,cAAehkB,KAAKm5B,gBAAgB5yB,EAAQyd,cACpDzd,EAAQ0d,cAAejkB,KAAKo5B,gBAAgB7yB,EAAQ0d,cAEvD,IAAID,EAAevd,EAAKC,SACpBud,EAAexd,EAAKC,SACxB1G,KAAKq5B,gBAAgBrV,GACrBhkB,KAAKs5B,gBAAgBrV,GACrB,IAAIsV,EAAgB9yB,EAAKib,SAASsC,EAAcC,GAOhDjkB,KAAKw5B,WAA4C,iBAAxBjzB,EAAkB,WAAiBA,EAAQizB,WAAaD,EA5DrF,IAAI9yB,EAAOzJ,EAAQ,gBACfk8B,EAASl8B,EAAQ,YACTA,EAAQ,kBAEpBnB,EAAOD,QAAUq9B,GA0DjBA,EAAa74B,UAAY,IAAI84B,GACNvuB,YAAcsuB,EAOrCA,EAAa74B,UAAU+4B,gBAAkB,SAASnV,GAC9ChkB,KAAKwJ,MAAM+mB,aAAavwB,KAAK8jB,aAAcE,IAQ/CiV,EAAa74B,UAAUg5B,gBAAkB,SAASnV,GAC9CjkB,KAAKyJ,MAAM8mB,aAAavwB,KAAK+jB,aAAcE,IAQ/CgV,EAAa74B,UAAUi5B,gBAAkB,SAASv2B,GAC9C9C,KAAKwJ,MAAMgH,aAAa1N,EAAQ9C,KAAK8jB,eAQzCmV,EAAa74B,UAAUk5B,gBAAkB,SAASx2B,GAC9C9C,KAAKyJ,MAAM+G,aAAa1N,EAAQ9C,KAAK+jB,eAGzC,IAAI0V,EAA4BhzB,EAAKC,SACjCgzB,EAA4BjzB,EAAKC,SACjCizB,EAA4BlzB,EAAKC,SACjCkzB,EAA4BnzB,EAAKC,SACjCmzB,EAA4BpzB,EAAKC,SACjCozB,EAA4BrzB,EAAKC,SACjCqzB,EAA4BtzB,EAAKC,SACjCszB,EAA4BvzB,EAAKC,SACjCuzB,EAA4BxzB,EAAKC,SAMrCuyB,EAAa74B,UAAU40B,WAAa,WAChC,IAAIlzB,EAAI9B,KAAKuM,UACT3I,EAAI5D,KAAKizB,QACThsB,EAAIjH,KAAKw5B,WACThwB,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MACbpN,EAAIo9B,EACJS,EAASR,EACTl9B,EAAIm9B,EACJ79B,EAAI89B,EACJ14B,EAAM+4B,EAENjW,EAAe6V,EACf5V,EAAe6V,EACf3V,EAAK4V,EACL3V,EAAK4V,EAGTh6B,KAAKq5B,gBAAgBrV,GACrBhkB,KAAKs5B,gBAAgBrV,GAGrBxd,EAAKiD,IAAIya,EAAIH,EAAcxa,EAAM1C,UACjCL,EAAKiD,IAAI0a,EAAIH,EAAcxa,EAAM3C,UAGjCL,EAAKiD,IAAIrN,EAAG4nB,EAAcD,GAC1B,IAAImW,EAAO1zB,EAAK6qB,IAAIj1B,GACpBoK,EAAK6L,UAAU4nB,EAAO79B,GAMtBoK,EAAKiD,IAAIlN,EAAGiN,EAAMod,SAAUrd,EAAMqd,UAClCpgB,EAAK6pB,QAAQpvB,EAAKuI,EAAM+d,gBAAiBpD,GACzC3d,EAAKgB,IAAIjL,EAAGA,EAAG0E,GACfuF,EAAK6pB,QAAQpvB,EAAKsI,EAAMge,gBAAiBrD,GACzC1d,EAAKiD,IAAIlN,EAAGA,EAAG0E,GAGfuF,EAAK4L,MAAMvW,EAAGo+B,GAASp4B,GAAGq4B,EAAKlzB,GAAKrD,EAAE6C,EAAKlH,IAAI/C,EAAE09B,IAGjDzzB,EAAKiD,IAAKF,EAAM2c,MAAO3c,EAAM2c,MAAOrqB,GACpC2K,EAAKgB,IAAKgC,EAAM0c,MAAO1c,EAAM0c,MAAOrqB,GAGpC,IAAIs+B,EAAS3zB,EAAK+H,YAAY2V,EAAIroB,GAC9Bu+B,EAAS5zB,EAAK+H,YAAY4V,EAAItoB,GAClC0N,EAAMshB,cAAgBsP,EACtB3wB,EAAMqhB,cAAgBuP,KAGvBxxB,eAAe,GAAGC,iBAAiB,GAAGwxB,WAAW,KAAKC,IAAI,SAASv9B,EAAQnB,EAAOD,GAqBrF,SAAS4+B,EAAiBhxB,EAAOC,EAAOlD,GACpCA,EAAUA,MAEV2yB,EAAOr8B,KAAKmD,KAAMwJ,EAAOC,EAAOlD,GAOhCvG,KAAKy6B,UAA0C,iBAAvBl0B,EAAiB,UAAiBA,EAAQk0B,UAAYhxB,EAAM1C,MAAQyC,EAAMzC,MA9B3F/J,EAAQ,gBAAnB,IACIk8B,EAASl8B,EAAQ,YAErBnB,EAAOD,QAAU4+B,GA6BjBA,EAAiBp6B,UAAY,IAAI84B,GACNvuB,YAAc6vB,EAMzCA,EAAiBp6B,UAAU40B,WAAa,WACpC,IAAIlzB,EAAI9B,KAAKuM,UACT3I,EAAI5D,KAAKizB,QACThsB,EAAIjH,KAAKy6B,UACTjxB,EAAQxJ,KAAKwJ,MACbC,EAAQzJ,KAAKyJ,MAIbic,GAAW5jB,GAHP2H,EAAM1C,MAAQyC,EAAMzC,MAGJE,GAAKrD,GAFrB6F,EAAM+d,gBAAkBhe,EAAMge,iBAED,EAErChe,EAAMshB,cAAgBpF,EACtBjc,EAAMqhB,cAAgBpF,KAGvB7c,eAAe,GAAGyxB,WAAW,KAAKI,IAAI,SAAS19B,EAAQnB,EAAOD,GAqBjE,SAASs9B,EAAO1vB,EAAOC,EAAOlD,GAC1BA,EAAUic,EAAMQ,SAASzc,GACrBgG,UAAW,IACX0mB,QAAS,IAQbjzB,KAAKuM,UAAYhG,EAAQgG,UAOzBvM,KAAKizB,QAAU1sB,EAAQ0sB,QAOvBjzB,KAAKwJ,MAAQA,EAObxJ,KAAKyJ,MAAQA,EApDNzM,EAAQ,gBAAnB,IACIwlB,EAAQxlB,EAAQ,kBAEpBnB,EAAOD,QAAUs9B,EAwDjBA,EAAO94B,UAAU40B,WAAa,eAI3BnsB,eAAe,GAAGC,iBAAiB,KAAK6xB,IAAI,SAAS39B,EAAQnB,EAAOD,GAgDvE,SAASg/B,EAAeC,EAAat0B,GACjCA,EAAUA,MAKVvG,KAAK66B,YAAcA,EAKnB76B,KAAK86B,UAGL96B,KAAK+6B,WAAa,IAAI5xB,GAAOmpB,KAAM,IAEnCtyB,KAAKiJ,MAAQ,KAEb,IAAImZ,EAAOpiB,KACXA,KAAKg7B,gBAAkB,WACnB5Y,EAAKvC,UA+Db,SAASob,EAAgBC,EAAS30B,GAC9BA,EAAUA,MAEVvG,KAAKk7B,QAAUA,EAEfl7B,KAAKm7B,gBAAkB,IAAI/O,EAAiB8O,EAAQL,YAAaK,EAAQH,YAEzE/6B,KAAKo7B,aAAe,IAAIhP,EAAiB8O,EAAQL,YAAaK,EAAQH,YAKtE/6B,KAAKq7B,WAAa,EAKlBr7B,KAAKs7B,YAAc,EAEnBt7B,KAAKu7B,qBAAyCjc,IAAzB/Y,EAAQi1B,aAA6Bj1B,EAAQi1B,aAAe,GAKjFx7B,KAAKy7B,mBAAqBh1B,EAAKqI,WAAW,EAAG,GAC1CvI,EAAQk1B,oBACPh1B,EAAK9E,KAAK3B,KAAKy7B,mBAAoBl1B,EAAQk1B,oBAM/Cz7B,KAAK07B,cAAgBj1B,EAAKqI,WAAW,EAAG,GACrCvI,EAAQm1B,eACPj1B,EAAK9E,KAAK3B,KAAK07B,cAAen1B,EAAQm1B,eAG1C3Y,EAAW4Y,MAAM37B,KAAMk7B,EAAQL,YAAaK,EAAQH,YAEpD/6B,KAAKmjB,UAAUriB,KACXd,KAAKm7B,gBACLn7B,KAAKo7B,cAGTp7B,KAAK47B,cAAc,GA9KvB,IAAIn1B,EAAOzJ,EAAQ,gBAEf+lB,GADQ/lB,EAAQ,kBACHA,EAAQ,8BACrBovB,EAAmBpvB,EAAQ,iCAC3BmM,EAAOnM,EAAQ,mBAEnBnB,EAAOD,QAAUg/B,EAqEjBA,EAAex6B,UAAUy7B,WAAa,SAAS5yB,GAC3CjJ,KAAKiJ,MAAQA,EACbA,EAAM6yB,QAAQ97B,KAAK+6B,YACnB9xB,EAAM0Z,GAAG,UAAW3iB,KAAKg7B,iBACzB,IAAK,IAAIr+B,EAAI,EAAGA,EAAIqD,KAAK86B,OAAOh+B,OAAQH,IAAK,CACzC,IAAIo/B,EAAQ/7B,KAAK86B,OAAOn+B,GACxBsM,EAAM+yB,cAAcD,KAQ5BnB,EAAex6B,UAAU67B,gBAAkB,WACvC,IAAIhzB,EAAQjJ,KAAKiJ,MACjBA,EAAMizB,WAAWl8B,KAAK+6B,YACtB9xB,EAAMyZ,IAAI,UAAW1iB,KAAKg7B,iBAC1B,IAAK,IAAIr+B,EAAI,EAAGA,EAAIqD,KAAK86B,OAAOh+B,OAAQH,IAAK,CACzC,IAAIo/B,EAAQ/7B,KAAK86B,OAAOn+B,GACxBsM,EAAMkzB,iBAAiBJ,GAE3B/7B,KAAKiJ,MAAQ,MAQjB2xB,EAAex6B,UAAUg8B,SAAW,SAASC,GACzC,IAAIN,EAAQ,IAAId,EAAgBj7B,KAAKq8B,GAErC,OADAr8B,KAAK86B,OAAOh6B,KAAKi7B,GACVA,GAMXnB,EAAex6B,UAAUyf,OAAS,WAC9B,IAAK,IAAIljB,EAAI,EAAGA,EAAIqD,KAAK86B,OAAOh+B,OAAQH,IACpCqD,KAAK86B,OAAOn+B,GAAGkjB,WA4DvBob,EAAgB76B,UAAY,IAAI2iB,GAKN6Y,cAAgB,SAASzV,GAC/CnmB,KAAKm7B,gBAAgBxpB,aAAawU,IAMtC8U,EAAgB76B,UAAUm7B,gBAAkB,SAASpV,GACjDnmB,KAAKo7B,aAAazpB,aAAawU,IAGnC,IAAImW,EAAgB71B,EAAKC,SACrBuuB,EAAgBxuB,EAAKC,SAKzBu0B,EAAgB76B,UAAUm8B,SAAW,WAGjC,OAFAv8B,KAAKk7B,QAAQL,YAAYpF,mBAAmBR,EAAej1B,KAAKy7B,oBAChEz7B,KAAKk7B,QAAQL,YAAY/Q,mBAAmBwS,EAAerH,GACpDxuB,EAAKlH,IAAI+8B,EAAerH,IAGnC,IAAIuH,EAAS/1B,EAAKC,SAKlBu0B,EAAgB76B,UAAUyf,OAAS,WAG/B7f,KAAKk7B,QAAQL,YAAYpF,mBAAmBz1B,KAAKm7B,gBAAgBh/B,EAAG6D,KAAKy7B,oBACzEh1B,EAAKS,OAAOlH,KAAKo7B,aAAaj/B,EAAG6D,KAAKy7B,mBAAoBh8B,KAAKye,GAAK,GACpEle,KAAKk7B,QAAQL,YAAYpF,mBAAmBz1B,KAAKo7B,aAAaj/B,EAAG6D,KAAKo7B,aAAaj/B,GAEnFsK,EAAKS,OAAOlH,KAAKm7B,gBAAgBh/B,EAAG6D,KAAKm7B,gBAAgBh/B,EAAG6D,KAAKq7B,YACjE50B,EAAKS,OAAOlH,KAAKo7B,aAAaj/B,EAAG6D,KAAKo7B,aAAaj/B,EAAG6D,KAAKq7B,YAG3Dr7B,KAAKk7B,QAAQL,YAAYrqB,aAAaxQ,KAAKm7B,gBAAgBppB,cAAe/R,KAAK07B,eAC/Ej1B,EAAK9E,KAAK3B,KAAKo7B,aAAarpB,cAAe/R,KAAKm7B,gBAAgBppB,eAEhE/R,KAAKk7B,QAAQL,YAAYpF,mBAAmBz1B,KAAKm7B,gBAAgBrpB,cAAe9R,KAAK07B,eACrFj1B,EAAK9E,KAAK3B,KAAKo7B,aAAatpB,cAAe9R,KAAKm7B,gBAAgBrpB,eAGhErL,EAAK6L,UAAUkqB,EAAQx8B,KAAKm7B,gBAAgBh/B,GAC5CsK,EAAK4L,MAAMmqB,EAAQA,EAAQx8B,KAAKs7B,aAEhCt7B,KAAKk7B,QAAQL,YAAY7F,WAAWwH,EAAQx8B,KAAKm7B,gBAAgBrpB,kBAElE2qB,4BAA4B,GAAG5d,gCAAgC,GAAGhW,eAAe,GAAG2B,kBAAkB,GAAG1B,iBAAiB,KAAK4zB,IAAI,SAAS1/B,EAAQnB,EAAOD,GAE9J,IAAIM,EAAKL,EAAOD,SACZ0K,KAAgCtJ,EAAQ,oBACxCsoB,kBAAgCtoB,EAAQ,iCACxCmM,KAAgCnM,EAAQ,kBACxCgM,WAAgChM,EAAQ,0BACxC2/B,QAAgC3/B,EAAQ,oBACxCyR,OAAgCzR,EAAQ,mBACxC+lB,WAAgC/lB,EAAQ,4BACxC+pB,gBAAgC/pB,EAAQ,+BACxCkP,oBAAgClP,EAAQ,+BACxCwwB,gBAAgCxwB,EAAQ,8BACxC0R,OAAgC1R,EAAQ,mBACxC6mB,mBAAgC7mB,EAAQ,oCACxCwP,SAAgCxP,EAAQ,wBACxC4vB,aAAgC5vB,EAAQ,yBACxCovB,iBAAgCpvB,EAAQ,gCACxCqP,qBAAgCrP,EAAQ,gCACxCooB,eAAgCpoB,EAAQ,gCACxC4/B,SAAgC5/B,EAAQ,qBACxC6/B,YAAgC7/B,EAAQ,wBACxCC,KAAgCD,EAAQ,iBACxC8oB,eAAgC9oB,EAAQ,gCACxC2wB,SAAgC3wB,EAAQ,uBACxCyO,YAAgCzO,EAAQ,2BACxC0N,gBAAgC1N,EAAQ,+BACxC8/B,SAAgC9/B,EAAQ,qBACxC+/B,MAAgC//B,EAAQ,kBACxCggC,KAAgChgC,EAAQ,gBACxCsrB,mBAAgCtrB,EAAQ,oCACxCspB,oBAAgCtpB,EAAQ,qCACxCoiB,IAAgCpiB,EAAQ,mBACxCukB,cAAgCvkB,EAAQ,6BACxC4R,IAAgC5R,EAAQ,gBACxC8rB,2BAAgC9rB,EAAQ,0CACxCilB,cAAgCjlB,EAAQ,6BACxC2R,MAAgC3R,EAAQ,kBACxCigC,OAAgCjgC,EAAQ,mBACxCk8B,OAAgCl8B,EAAQ,oBACxC49B,eAAgC59B,EAAQ,4BACxCi8B,aAAgCj8B,EAAQ,0BACxCw9B,iBAAgCx9B,EAAQ,8BACxCwlB,MAAgCxlB,EAAQ,iBACxCkgC,MAAgClgC,EAAQ,iBACxCyJ,KAAgCzJ,EAAQ,eACxC+H,QAAgC/H,EAAQ,mBAAmB+H,SAG/Do4B,OAAOC,eAAelhC,EAAI,aACtB6U,IAAK,WAED,OADA5M,QAAQC,KAAK,gDACNpE,KAAK4O,SAGjByuB,kBAAkB,EAAEC,mBAAmB,EAAEC,yBAAyB,EAAEC,8BAA8B,EAAEC,0BAA0B,GAAGC,kBAAkB,GAAGC,4BAA4B,GAAGC,4BAA4B,GAAGC,2BAA2B,GAAGC,mCAAmC,GAAGC,+BAA+B,GAAGC,+BAA+B,GAAGC,oCAAoC,GAAGC,mCAAmC,GAAGC,gCAAgC,GAAGC,8BAA8B,GAAGC,uBAAuB,GAAGC,+BAA+B,GAAGC,yCAAyC,GAAGC,wBAAwB,GAAGC,6BAA6B,GAAGC,sBAAsB,GAAGC,cAAc,GAAGC,iBAAiB,GAAGC,yBAAyB,GAAGC,6BAA6B,GAAGC,mBAAmB,GAAGC,2BAA2B,GAAGC,eAAe,GAAGC,mBAAmB,GAAGC,kBAAkB,GAAGC,kBAAkB,GAAGC,uBAAuB,GAAGC,gBAAgB,GAAGC,oBAAoB,GAAGC,iBAAiB,GAAGC,iBAAiB,GAAGC,oBAAoB,GAAGC,kBAAkB,GAAGC,8BAA8B,GAAGC,+BAA+B,GAAGC,eAAe,GAAGC,gBAAgB,GAAGC,gBAAgB,KAAKC,IAAI,SAASjjC,EAAQnB,EAAOD,GAgBpsC,SAASgT,EAAIrI,GACmB,iBAAlB25B,UAAU,IAA6C,iBAAlBA,UAAU,KACrD35B,GACIgN,MAAO2sB,UAAU,GACjB1sB,OAAQ0sB,UAAU,IAEtB/7B,QAAQC,KAAK,4JAEjBmC,EAAUA,MAOV,IAAIgN,EAAQvT,KAAKuT,MAAQhN,EAAQgN,OAAS,EAOtCC,EAASxT,KAAKwT,OAASjN,EAAQiN,QAAU,EAEzCrF,GACA1H,EAAKqI,YAAYyE,EAAM,GAAIC,EAAO,GAClC/M,EAAKqI,WAAYyE,EAAM,GAAIC,EAAO,GAClC/M,EAAKqI,WAAYyE,EAAM,EAAIC,EAAO,GAClC/M,EAAKqI,YAAYyE,EAAM,EAAIC,EAAO,IAElC2sB,GACA15B,EAAKqI,WAAW,EAAG,GACnBrI,EAAKqI,WAAW,EAAG,IAGvBvI,EAAQtG,SAAWkO,EACnB5H,EAAQ45B,KAAOA,EACf55B,EAAQhB,KAAOoJ,EAAMqE,IACrBtE,EAAO7R,KAAKmD,KAAMuG,GArDtB,IAAIE,EAAOzJ,EAAQ,gBACf2R,EAAQ3R,EAAQ,WAChB0R,EAAS1R,EAAQ,YAErBnB,EAAOD,QAAUgT,GAmDjBA,EAAIxO,UAAY,IAAIsO,GACN/D,YAAciE,EAQ5BA,EAAIxO,UAAU20B,uBAAyB,SAASzC,GAC5C,IAAI3U,EAAI3d,KAAKuT,MACTiW,EAAIxpB,KAAKwT,OACb,OAAO8e,GAAQ9I,EAAEA,EAAI7L,EAAEA,GAAK,IAOhC/O,EAAIxO,UAAUq0B,qBAAuB,WACjC,IAAI9W,EAAI3d,KAAKuT,MACTiW,EAAIxpB,KAAKwT,OACbxT,KAAK6J,eAAiBpK,KAAKC,KAAKie,EAAEA,EAAI6L,EAAEA,GAAK,GAGnC/iB,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SAQnBkI,EAAIxO,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,GAChD6a,EAAIhb,cAAc5G,KAAKC,SAAS6G,EAASC,EAAM,IAGnD6H,EAAIxO,UAAUggC,WAAa,WACvBpgC,KAAKtB,KAAOsB,KAAKuT,MAAQvT,KAAKwT,UAI/B3K,eAAe,GAAGw3B,WAAW,GAAGC,UAAU,KAAKC,IAAI,SAASvjC,EAAQnB,EAAOD,GAqB9E,SAAS+gC,EAAQp2B,GACe,iBAAlB25B,UAAU,IAA6C,iBAAlBA,UAAU,KACrD35B,GACIzJ,OAAQojC,UAAU,GAClB5yB,OAAQ4yB,UAAU,IAEtB/7B,QAAQC,KAAK,0HAEjBmC,EAAUA,MAMVvG,KAAKlD,OAASyJ,EAAQzJ,QAAU,EAMhCkD,KAAKsN,OAAS/G,EAAQ+G,QAAU,EAEhC/G,EAAQhB,KAAOoJ,EAAM+E,QACrB/E,EAAM9R,KAAKmD,KAAMuG,GA3CrB,IAAIoI,EAAQ3R,EAAQ,WAChByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAU+gC,GA0CjBA,EAAQv8B,UAAY,IAAIuO,GACNhE,YAAcgyB,EAShCA,EAAQv8B,UAAU20B,uBAAyB,SAASzC,GAEhD,IAAIj2B,EAAI2D,KAAKsN,OACTqQ,EAAI3d,KAAKlD,OAAST,EAClBmtB,EAAM,EAAFntB,EACR,OAAOi2B,GAAQ9I,EAAEA,EAAI7L,EAAEA,GAAK,IAMhCgf,EAAQv8B,UAAUq0B,qBAAuB,WACrCz0B,KAAK6J,eAAiB7J,KAAKsN,OAAStN,KAAKlD,OAAO,GAMpD6/B,EAAQv8B,UAAUggC,WAAa,WAC3BpgC,KAAKtB,KAAOe,KAAKye,GAAKle,KAAKsN,OAAStN,KAAKsN,OAAuB,EAAdtN,KAAKsN,OAAatN,KAAKlD,QAG7E,IAAIT,EAAIoK,EAAKC,SAQbi2B,EAAQv8B,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,GACpD,IAAIuG,EAAStN,KAAKsN,OAGlB7G,EAAK4G,IAAIhR,EAAE2D,KAAKlD,OAAS,EAAE,GACd,IAAViK,GACCN,EAAKS,OAAO7K,EAAEA,EAAE0K,GAIpBN,EAAK4G,IAAIuU,EAAIjb,WAAalH,KAAKkJ,IAAItM,EAAE,GAAGiR,GAASjR,EAAE,GAAGiR,GAC5B7N,KAAKkJ,IAAItM,EAAE,GAAGiR,GAASjR,EAAE,GAAGiR,IACtD7G,EAAK4G,IAAIuU,EAAIpb,WAAa/G,KAAKuC,IAAI3F,EAAE,GAAGiR,GAASjR,EAAE,GAAGiR,GAC5B7N,KAAKuC,IAAI3F,EAAE,GAAGiR,GAASjR,EAAE,GAAGiR,IAGtD7G,EAAKgB,IAAIma,EAAIpb,WAAYob,EAAIpb,WAAYM,GACzCL,EAAKgB,IAAIma,EAAIjb,WAAYib,EAAIjb,WAAYG,IAG7C,IAAI05B,EAAiC/5B,EAAKC,SACtC+5B,EAA0Bh6B,EAAKC,SAC/Bg6B,EAAsBj6B,EAAKC,SAC3Bi6B,EAAsBl6B,EAAKC,SAC3Bk6B,EAA0Bn6B,EAAKqI,WAAW,EAAE,GAShD6tB,EAAQv8B,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GAYxD,IAAI,IAXAnG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GAGTggC,GAFY34B,EAAIE,UAEAo4B,GAChBtkB,EAASukB,EACTK,EAAKJ,EACLtjC,EAAKujC,EAGLI,EAAU/gC,KAAKlD,OAAS,EACpBH,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAGlB,IAAI6K,EAAIxH,KAAKsN,QAAY,EAAF3Q,EAAI,GAO3B,GANA8J,EAAK4G,IAAIyzB,GAAKC,EAASv5B,GACvBf,EAAK4G,IAAIjQ,EAAI2jC,EAASv5B,GACtBf,EAAKiqB,cAAcoQ,EAAIA,EAAIh6B,EAAUC,GACrCN,EAAKiqB,cAActzB,EAAIA,EAAI0J,EAAUC,IAEjC5G,EAAQsG,EAAKsrB,oCAAoCnxB,EAAMC,EAAIigC,EAAI1jC,KACvD,IACRqJ,EAAKS,OAAOgV,EAAQ0kB,EAAyB75B,GAC7CN,EAAK4L,MAAM6J,EAAQA,EAAW,EAAFvf,EAAI,GAChCuL,EAAI8Y,mBAAmBle,EAAQ3C,EAAO+b,GAAS,GAC5CpZ,EAAOsd,WAAWlY,IACjB,OAOZ,IAAI,IADA84B,EAAwBvhC,KAAKsY,IAAI/X,KAAKsN,OAAQ,GAAK7N,KAAKsY,IAAIgpB,EAAS,GACjEpkC,EAAE,EAAGA,EAAE,EAAGA,IAAI,CAClB8J,EAAK4G,IAAIyzB,EAAIC,GAAa,EAAFpkC,EAAI,GAAI,GAChC8J,EAAKiqB,cAAcoQ,EAAIA,EAAIh6B,EAAUC,GAErC,IAAItK,EAAIgD,KAAKsY,IAAIlX,EAAG,GAAKD,EAAK,GAAI,GAAKnB,KAAKsY,IAAIlX,EAAG,GAAKD,EAAK,GAAI,GAC7DjC,EAAI,IAAMkC,EAAG,GAAKD,EAAK,KAAOA,EAAK,GAAKkgC,EAAG,KAAOjgC,EAAG,GAAKD,EAAK,KAAOA,EAAK,GAAKkgC,EAAG,KACnFliC,EAAIa,KAAKsY,IAAInX,EAAK,GAAKkgC,EAAG,GAAI,GAAKrhC,KAAKsY,IAAInX,EAAK,GAAKkgC,EAAG,GAAI,GAAKrhC,KAAKsY,IAAI/X,KAAKsN,OAAQ,GACxFnN,EAAQV,KAAKsY,IAAIpZ,EAAG,GAAK,EAAIlC,EAAImC,EAErC,KAAGuB,EAAQ,GAIJ,GAAa,IAAVA,GAIN,GAFAsG,EAAKob,KAAKgf,EAAejgC,EAAMC,EAAIV,GAEhCsG,EAAKuZ,gBAAgB6gB,EAAe/5B,GAAYk6B,IAC/Cv6B,EAAKiD,IAAIwS,EAAQ2kB,EAAeC,GAChCr6B,EAAK6L,UAAU4J,EAAOA,GACtBhU,EAAI8Y,mBAAmBle,EAAQ3C,EAAO+b,GAAS,GAC5CpZ,EAAOsd,WAAWlY,IACjB,WAIL,CACH,IAAI+4B,EAAYxhC,KAAKC,KAAKS,GACtB+gC,EAAQ,GAAK,EAAIzkC,GACjB0kC,IAAQxiC,EAAIsiC,GAAaC,EACzBv3B,IAAQhL,EAAIsiC,GAAaC,EAE7B,GAAGC,GAAM,GAAKA,GAAM,IAChB16B,EAAKob,KAAKgf,EAAejgC,EAAMC,EAAIsgC,GAChC16B,EAAKuZ,gBAAgB6gB,EAAe/5B,GAAYk6B,IAC/Cv6B,EAAKiD,IAAIwS,EAAQ2kB,EAAeC,GAChCr6B,EAAK6L,UAAU4J,EAAOA,GACtBhU,EAAI8Y,mBAAmBle,EAAQq+B,EAAIjlB,GAAS,GACzCpZ,EAAOsd,WAAWlY,KACjB,OAKZ,GAAGyB,GAAM,GAAKA,GAAM,IAChBlD,EAAKob,KAAKgf,EAAejgC,EAAMC,EAAI8I,GAChClD,EAAKuZ,gBAAgB6gB,EAAe/5B,GAAYk6B,IAC/Cv6B,EAAKiD,IAAIwS,EAAQ2kB,EAAeC,GAChCr6B,EAAK6L,UAAU4J,EAAOA,GACtBhU,EAAI8Y,mBAAmBle,EAAQ6G,EAAIuS,GAAS,GACzCpZ,EAAOsd,WAAWlY,KACjB,YAOrBW,eAAe,GAAGy3B,UAAU,KAAKc,IAAI,SAASpkC,EAAQnB,EAAOD,GAkBhE,SAAS6S,EAAOlI,GACgB,iBAAlB25B,UAAU,KAChB35B,GACI+G,OAAQ4yB,UAAU,IAEtB/7B,QAAQC,KAAK,6GAEjBmC,EAAUA,MAOVvG,KAAKsN,OAAS/G,EAAQ+G,QAAU,EAEhC/G,EAAQhB,KAAOoJ,EAAMmI,OACrBnI,EAAM9R,KAAKmD,KAAMuG,GAlCrB,IAAIoI,EAAQ3R,EAAQ,WACfyJ,EAAOzJ,EAAQ,gBAEpBnB,EAAOD,QAAU6S,GAiCjBA,EAAOrO,UAAY,IAAIuO,GACNhE,YAAc8D,EAO/BA,EAAOrO,UAAU20B,uBAAyB,SAASzC,GAC/C,IAAIj2B,EAAI2D,KAAKsN,OACb,OAAOglB,EAAOj2B,EAAIA,EAAI,GAO1BoS,EAAOrO,UAAUq0B,qBAAuB,WACpCz0B,KAAK6J,eAAiB7J,KAAKsN,QAO/BmB,EAAOrO,UAAUggC,WAAa,WAC1BpgC,KAAKtB,KAAOe,KAAKye,GAAKle,KAAKsN,OAAStN,KAAKsN,QAS7CmB,EAAOrO,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,GACnD,IAAI1K,EAAI2D,KAAKsN,OACb7G,EAAK4G,IAAIuU,EAAIjb,WAAatK,EAAIA,GAC9BoK,EAAK4G,IAAIuU,EAAIpb,YAAanK,GAAIA,GAC3ByK,IACCL,EAAKgB,IAAIma,EAAIpb,WAAYob,EAAIpb,WAAYM,GACzCL,EAAKgB,IAAIma,EAAIjb,WAAYib,EAAIjb,WAAYG,KAIjD,IAAIu6B,EAAwC56B,EAAKC,SAC7C46B,EAA6B76B,EAAKC,SAStC+H,EAAOrO,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GACvD,IAAInG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GACTxE,EAAI2D,KAAKsN,OAET7Q,EAAIgD,KAAKsY,IAAIlX,EAAG,GAAKD,EAAK,GAAI,GAAKnB,KAAKsY,IAAIlX,EAAG,GAAKD,EAAK,GAAI,GAC7DjC,EAAI,IAAMkC,EAAG,GAAKD,EAAK,KAAOA,EAAK,GAAKkG,EAAS,KAAOjG,EAAG,GAAKD,EAAK,KAAOA,EAAK,GAAKkG,EAAS,KAC/FlI,EAAIa,KAAKsY,IAAInX,EAAK,GAAKkG,EAAS,GAAI,GAAKrH,KAAKsY,IAAInX,EAAK,GAAKkG,EAAS,GAAI,GAAKrH,KAAKsY,IAAI1b,EAAG,GAC1F8D,EAAQV,KAAKsY,IAAIpZ,EAAG,GAAK,EAAIlC,EAAImC,EAEjC2iC,EAAoBF,EACpBnlB,EAASolB,EAEb,KAAGnhC,EAAQ,GAIJ,GAAa,IAAVA,EAENsG,EAAKob,KAAK0f,EAAmB3gC,EAAMC,EAAIV,GAEvCsG,EAAKiD,IAAIwS,EAAQqlB,EAAmBz6B,GACpCL,EAAK6L,UAAU4J,EAAOA,GAEtBhU,EAAI8Y,mBAAmBle,EAAQ3C,EAAO+b,GAAS,OAE5C,CACH,IAAI+kB,EAAYxhC,KAAKC,KAAKS,GACtB+gC,EAAQ,GAAK,EAAIzkC,GACjB0kC,IAAQxiC,EAAIsiC,GAAaC,EACzBv3B,IAAQhL,EAAIsiC,GAAaC,EAE7B,GAAGC,GAAM,GAAKA,GAAM,IAChB16B,EAAKob,KAAK0f,EAAmB3gC,EAAMC,EAAIsgC,GAEvC16B,EAAKiD,IAAIwS,EAAQqlB,EAAmBz6B,GACpCL,EAAK6L,UAAU4J,EAAOA,GAEtBhU,EAAI8Y,mBAAmBle,EAAQq+B,EAAIjlB,GAAS,GAEzCpZ,EAAOsd,WAAWlY,IACjB,OAILyB,GAAM,GAAKA,GAAM,IAChBlD,EAAKob,KAAK0f,EAAmB3gC,EAAMC,EAAI8I,GAEvClD,EAAKiD,IAAIwS,EAAQqlB,EAAmBz6B,GACpCL,EAAK6L,UAAU4J,EAAOA,GAEtBhU,EAAI8Y,mBAAmBle,EAAQ6G,EAAIuS,GAAS,QAIrDrT,eAAe,GAAGy3B,UAAU,KAAKkB,IAAI,SAASxkC,EAAQnB,EAAOD,GAsBhE,SAAS8S,EAAOnI,GACT5D,MAAM8+B,QAAQvB,UAAU,MACvB35B,GACItG,SAAUigC,UAAU,GACpBC,KAAMD,UAAU,IAEpB/7B,QAAQC,KAAK,wHAEjBmC,EAAUA,MAOVvG,KAAKC,YAIL,IAAI,IADAA,OAAgCqf,IAArB/Y,EAAQtG,SAAyBsG,EAAQtG,YAChDtD,EAAE,EAAGA,EAAIsD,EAASnD,OAAQH,IAAI,CAClC,IAAI2D,EAAImG,EAAKC,SACbD,EAAK9E,KAAKrB,EAAGL,EAAStD,IACtBqD,KAAKC,SAASa,KAAKR,GAUvB,GAFAN,KAAKmgC,QAEF55B,EAAQ45B,KAGP,IAAQxjC,EAAE,EAAGA,EAAI4J,EAAQ45B,KAAKrjC,OAAQH,IAAI,CACtC,IAAI6f,EAAO/V,EAAKC,SAChBD,EAAK9E,KAAK6a,EAAMjW,EAAQ45B,KAAKxjC,IAC7BqD,KAAKmgC,KAAKr/B,KAAK0b,QAMnB,IAAQ7f,EAAI,EAAGA,EAAIqD,KAAKC,SAASnD,OAAQH,IAAI,CAEzC,IAAI2d,EAActa,KAAKC,SAAStD,GAC5B4d,EAAcva,KAAKC,UAAUtD,EAAE,GAAKqD,KAAKC,SAASnD,QAElDof,EAASzV,EAAKC,SAClBD,EAAKiD,IAAIwS,EAAQ3B,EAAaD,GAG9B7T,EAAKuL,WAAWkK,EAAQA,GACxBzV,EAAK6L,UAAU4J,EAAQA,GAEvBlc,KAAKmgC,KAAKr/B,KAAKob,GAoCvB,GA1BAlc,KAAKy2B,aAAehwB,EAAKqI,WAAW,EAAE,GAOtC9O,KAAK0hC,aAEF1hC,KAAKC,SAASnD,SACbkD,KAAK02B,kBACL12B,KAAK22B,sBAQT32B,KAAK6J,eAAiB,EAEtBtD,EAAQhB,KAAOoJ,EAAM6D,OACrB7D,EAAM9R,KAAKmD,KAAMuG,GAEjBvG,KAAKy0B,uBACLz0B,KAAKogC,aACFpgC,KAAKtB,KAAO,EACX,MAAM,IAAI9B,MAAM,8DAlHxB,IAAI+R,EAAQ3R,EAAQ,WAChByJ,EAAOzJ,EAAQ,gBACf2kC,EAAQ3kC,EAAQ,iBACPA,EAAQ,eAErBnB,EAAOD,QAAU8S,GAgHjBA,EAAOtO,UAAY,IAAIuO,GACNhE,YAAc+D,EAE/B,IAAIkzB,EAAUn7B,EAAKC,SACfm7B,EAAUp7B,EAAKC,SAUnBgI,EAAOtO,UAAU0hC,qBAAuB,SAAS1mB,EAAWtY,GAQxD,IAAI,IALAxC,EACA6a,EAHAxS,EAAI,KACJ3G,EAAI,KAGJoZ,EAAYwmB,EAGRjlC,EAAE,EAAGA,EAAEqD,KAAKC,SAASnD,OAAQH,IACjC2D,EAAIN,KAAKC,SAAStD,GAClBwe,EAAQ1U,EAAKlH,IAAIe,EAAG8a,IACT,OAARzS,GAAgBwS,EAAQxS,KACvBA,EAAMwS,IAEC,OAARnZ,GAAgBmZ,EAAQnZ,KACvBA,EAAMmZ,GAId,GAAGnZ,EAAM2G,EAAI,CACT,IAAIxM,EAAI6F,EACRA,EAAM2G,EACNA,EAAMxM,EAGVsK,EAAK4G,IAAIvK,EAAQd,EAAK2G,IAG1B+F,EAAOtO,UAAU2hC,qBAAuB,SAAS3mB,EAAW4mB,EAAaC,EAAYn/B,GACjF,IAAIoY,EAAY2mB,EAEhB7hC,KAAK8hC,qBAAqB1mB,EAAWtY,GAGnB,IAAfm/B,EACCx7B,EAAKS,OAAOgU,EAAWE,EAAW6mB,GAElC/mB,EAAYE,EAEhB,IAAI3J,EAAShL,EAAKlH,IAAIyiC,EAAa9mB,GAEnCzU,EAAK4G,IAAIvK,EAAQA,EAAO,GAAK2O,EAAQ3O,EAAO,GAAK2O,IAQrD/C,EAAOtO,UAAUs2B,gBAAkB,WAE/B12B,KAAK0hC,UAAU5kC,OAAS,EAIxB,IAAI,IADAolC,KACIvlC,EAAE,EAAGA,EAAEqD,KAAKC,SAASnD,OAAQH,IAAI,CACrC,IAAI2D,EAAIN,KAAKC,SAAStD,GACtBulC,EAAWphC,KAAKR,EAAE,GAAGA,EAAE,IAO3B,IAAI,IAHAohC,EAAYC,EAAMvT,YAAY8T,GAG1BvlC,EAAE,EAAGA,EAAE+kC,EAAU5kC,OAAQH,GAAG,EAAE,CAClC,IAAIiU,EAAM8wB,EAAU/kC,GAChBmU,EAAM4wB,EAAU/kC,EAAE,GAClBwlC,EAAMT,EAAU/kC,EAAE,GAGtBqD,KAAK0hC,UAAU5gC,MAAM8P,EAAIE,EAAIqxB,MAIrC,IAAIC,EAA8B37B,EAAKC,SACnC27B,EAAyC57B,EAAKC,SAC9C47B,EAAuB77B,EAAKC,SAC5B67B,EAAuB97B,EAAKC,SAC5B87B,EAAuB/7B,EAAKC,SACJD,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SACND,EAAKC,SAMhCgI,EAAOtO,UAAUu2B,mBAAqB,WAClC,IAAI+K,EAAY1hC,KAAK0hC,UACjBvzB,EAAQnO,KAAKC,SACbu2B,EAAKx2B,KAAKy2B,aACVzF,EAAWoR,EAEX3lC,EAAI6lC,EACJ3jC,EAAI4jC,EACJ3jC,EAAI4jC,EAIJC,EAAsBJ,EAE1B57B,EAAK4G,IAAImpB,EAAG,EAAE,GAGd,IAAI,IAFApC,EAAY,EAERz3B,EAAE,EAAGA,IAAI+kC,EAAU5kC,OAAQH,IAAI,CACnC,IAAIR,EAAIulC,EAAU/kC,GACdF,EAAI0R,EAAMhS,EAAE,IACZwC,EAAIwP,EAAMhS,EAAE,IACZyC,EAAIuP,EAAMhS,EAAE,IAEhBsK,EAAKuqB,SAASA,EAASv0B,EAAEkC,EAAEC,GAI3B,IAAIg2B,EAAIlmB,EAAOg0B,aAAajmC,EAAEkC,EAAEC,GAChCw1B,GAAaQ,EAGbnuB,EAAK4L,MAAMowB,EAAqBzR,EAAU4D,GAC1CnuB,EAAKgB,IAAI+uB,EAAIA,EAAIiM,GAGrBh8B,EAAK4L,MAAMmkB,EAAGA,EAAG,EAAEpC,IAUvB1lB,EAAOtO,UAAU20B,uBAAyB,SAASzC,GAI/C,IAAI,IAHAqQ,EAAQ,EACRC,EAAQ,EACRzhC,EAAInB,KAAKC,SAASnD,OACd8E,EAAIT,EAAE,EAAGxE,EAAI,EAAGA,EAAIwE,EAAGS,EAAIjF,EAAGA,IAAK,CACvC,IAAIk1B,EAAK7xB,KAAKC,SAAS2B,GACnB5D,EAAKgC,KAAKC,SAAStD,GACnBF,EAAIgD,KAAKiF,IAAI+B,EAAK+H,YAAYqjB,EAAG7zB,IAErC2kC,GAASlmC,GADDgK,EAAKlH,IAAIvB,EAAGA,GAAMyI,EAAKlH,IAAIvB,EAAG6zB,GAAMprB,EAAKlH,IAAIsyB,EAAGA,IAExD+Q,GAASnmC,EAEb,OAAQ61B,EAAO,GAAQqQ,EAAQC,IAOnCl0B,EAAOtO,UAAUq0B,qBAAuB,WAIpC,IAAI,IAHAtmB,EAAQnO,KAAKC,SACb60B,EAAK,EAEDn4B,EAAE,EAAGA,IAAIwR,EAAMrR,OAAQH,IAAI,CAC/B,IAAIU,EAAKoJ,EAAKmD,cAAcuE,EAAMxR,IAC/BU,EAAKy3B,IACJA,EAAKz3B,GAIb2C,KAAK6J,eAAiBpK,KAAKC,KAAKo1B,IAYpCpmB,EAAOg0B,aAAe,SAASjmC,EAAEkC,EAAEC,GAC/B,MAAuE,KAA7DD,EAAE,GAAKlC,EAAE,KAAKmC,EAAE,GAAKnC,EAAE,KAAOmC,EAAE,GAAKnC,EAAE,KAAKkC,EAAE,GAAKlC,EAAE,MAOnEiS,EAAOtO,UAAUggC,WAAa,WAC1BpgC,KAAK02B,kBACL12B,KAAKtB,KAAO,EAIZ,IAAI,IAFAgjC,EAAY1hC,KAAK0hC,UACjBvzB,EAAQnO,KAAKC,SACTtD,EAAE,EAAGA,IAAI+kC,EAAU5kC,OAAQH,IAAI,CACnC,IAAIR,EAAIulC,EAAU/kC,GACdF,EAAI0R,EAAMhS,EAAE,IACZwC,EAAIwP,EAAMhS,EAAE,IACZyC,EAAIuP,EAAMhS,EAAE,IAGZy4B,EAAIlmB,EAAOg0B,aAAajmC,EAAEkC,EAAEC,GAChCoB,KAAKtB,MAAQk2B,IAUrBlmB,EAAOtO,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,GACnD6a,EAAIhb,cAAc5G,KAAKC,SAAU6G,EAAUC,EAAO,IAGtD,IAAI87B,EAA2Bp8B,EAAKC,SAChCo8B,EAAyBr8B,EAAKC,SAC9Bq8B,EAAyBt8B,EAAKC,SASlCgI,EAAOtO,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GACvD,IAAIi8B,EAAWH,EACXI,EAASH,EACT5mB,EAAS6mB,EACT9iC,EAAWD,KAAKC,SAGpBwG,EAAK8pB,aAAayS,EAAU96B,EAAItH,KAAMkG,EAAUC,GAChDN,EAAK8pB,aAAa0S,EAAQ/6B,EAAIrH,GAAIiG,EAAUC,GAI5C,IAAK,IAFD3K,EAAI6D,EAASnD,OAERH,EAAI,EAAGA,EAAIP,IAAM0G,EAAOsd,WAAWlY,GAAMvL,IAAK,CACnD,IAAIsB,EAAKgC,EAAStD,GACduB,EAAK+B,GAAUtD,EAAE,GAAKP,GACtB+D,EAAQsG,EAAKsrB,oCAAoCiR,EAAUC,EAAQhlC,EAAIC,GAExEiC,GAAS,IACRsG,EAAKiD,IAAIwS,EAAQhe,EAAID,GACrBwI,EAAKS,OAAOgV,EAAQA,GAASzc,KAAKye,GAAK,EAAInX,GAC3CN,EAAK6L,UAAU4J,EAAQA,GACvBhU,EAAI8Y,mBAAmBle,EAAQ3C,EAAO+b,EAAQvf,QAKvDumC,gBAAgB,GAAGr6B,eAAe,GAAGy3B,UAAU,GAAGl6B,cAAc,IAAI+8B,IAAI,SAASnmC,EAAQnB,EAAOD,GAqCnG,SAASihC,EAAYt2B,GACjB,GAAG5D,MAAM8+B,QAAQvB,UAAU,IAAI,CAK3B,GAJA35B,GACImX,QAASwiB,UAAU,IAGK,iBAAlBA,UAAU,GAChB,IAAI,IAAIkD,KAAOlD,UAAU,GACrB35B,EAAQ68B,GAAOlD,UAAU,GAAGkD,GAIpCj/B,QAAQC,KAAK,gIAEjBmC,EAAUA,MAMVvG,KAAK0d,QAAUnX,EAAQmX,QAAUnX,EAAQmX,QAAQjb,MAAM,MAMvDzC,KAAKqjC,SAAW98B,EAAQ88B,UAAY,KAMpCrjC,KAAKsjC,SAAW/8B,EAAQ+8B,UAAY,KAMpCtjC,KAAK4d,aAAerX,EAAQqX,cAAgB,QAEpB0B,IAArB/Y,EAAQ88B,eAA+C/jB,IAArB/Y,EAAQ+8B,UACzCtjC,KAAKujC,qBAGTh9B,EAAQhB,KAAOoJ,EAAMwO,YACrBxO,EAAM9R,KAAKmD,KAAMuG,GAjFrB,IAAIoI,EAAQ3R,EAAQ,WACfyJ,EAAOzJ,EAAQ,gBACPA,EAAQ,kBAErBnB,EAAOD,QAAUihC,GA+EjBA,EAAYz8B,UAAY,IAAIuO,GACNhE,YAAckyB,EAMpCA,EAAYz8B,UAAUmjC,mBAAqB,WAIvC,IAAI,IAHA9lB,EAAOzd,KAAK0d,QACZ2lB,EAAW5lB,EAAK,GAChB6lB,EAAW7lB,EAAK,GACZ9gB,EAAE,EAAGA,IAAM8gB,EAAK3gB,OAAQH,IAAI,CAChC,IAAI2D,EAAImd,EAAK9gB,GACV2D,EAAI+iC,IACHA,EAAW/iC,GAEZA,EAAIgjC,IACHA,EAAWhjC,GAGnBN,KAAKqjC,SAAWA,EAChBrjC,KAAKsjC,SAAWA,GAQpBzG,EAAYz8B,UAAU20B,uBAAyB,SAASzC,GACpD,OAAOjwB,OAAOC,WAGlBu6B,EAAYz8B,UAAUq0B,qBAAuB,WACzCz0B,KAAK6J,eAAiBxH,OAAOC,WAGjCu6B,EAAYz8B,UAAUggC,WAAa,WAG/B,IAAI,IAFA3iB,EAAOzd,KAAK0d,QACZhf,EAAO,EACH/B,EAAE,EAAGA,EAAE8gB,EAAK3gB,OAAO,EAAGH,IAC1B+B,IAAS+e,EAAK9gB,GAAG8gB,EAAK9gB,EAAE,IAAM,EAAIqD,KAAK4d,aAE3C5d,KAAKtB,KAAOA,GAGhB,IAAImI,GACAJ,EAAKC,SACLD,EAAKC,SACLD,EAAKC,SACLD,EAAKC,UASTm2B,EAAYz8B,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,GACxDN,EAAK4G,IAAIxG,EAAO,GAAI,EAAG7G,KAAKqjC,UAC5B58B,EAAK4G,IAAIxG,EAAO,GAAI7G,KAAK4d,aAAe5d,KAAK0d,QAAQ5gB,OAAQkD,KAAKqjC,UAClE58B,EAAK4G,IAAIxG,EAAO,GAAI7G,KAAK4d,aAAe5d,KAAK0d,QAAQ5gB,OAAQkD,KAAKsjC,UAClE78B,EAAK4G,IAAIxG,EAAO,GAAI,EAAG7G,KAAKsjC,UAC5B1hB,EAAIhb,cAAcC,EAAQC,EAAUC,IAUxC81B,EAAYz8B,UAAUojC,eAAiB,SAASC,EAAOrL,EAAKz7B,GACxD,IAAI8gB,EAAOzd,KAAK0d,QACZnK,EAAQvT,KAAK4d,aACjBnX,EAAK4G,IAAIo2B,EAAO9mC,EAAI4W,EAAOkK,EAAK9gB,IAChC8J,EAAK4G,IAAI+qB,GAAMz7B,EAAI,GAAK4W,EAAOkK,EAAK9gB,EAAI,KAG5CkgC,EAAYz8B,UAAUsjC,gBAAkB,SAAS58B,GAC7C,OAAOrH,KAAKse,MAAMjX,EAAS,GAAK9G,KAAK4d,eAGzCif,EAAYz8B,UAAUujC,uBAAyB,SAAS78B,GACpD,IAAInK,EAAIqD,KAAK0jC,gBAAgB58B,GAE7B,OADAnK,EAAI8C,KAAKuC,IAAIhC,KAAK0d,QAAQ5gB,OAAQ2C,KAAKkJ,IAAIhM,EAAG,KAIT8J,EAAKC,SAA9C,IACIk9B,EAAmCn9B,EAAKC,SACxCm9B,EAA0Bp9B,EAAKC,SAC/Bo9B,EAA0Br9B,EAAKC,SAC/Bq9B,EAAiCt9B,EAAKC,SACtCs9B,EAA+Bv9B,EAAKC,SACND,EAAKqI,WAAW,EAAE,GA+BpD+tB,EAAYz8B,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GAC5D,IAAInG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GAITwV,GAHYnO,EAAIE,UAGFw7B,GACd9C,EAAK+C,EACLzmC,EAAK0mC,EACLG,EAAYF,EACZG,EAAUF,EAGdv9B,EAAK8pB,aAAa0T,EAAWrjC,EAAMkG,EAAUC,GAC7CN,EAAK8pB,aAAa2T,EAASrjC,EAAIiG,EAAUC,GAGzC,IAAIynB,EAAKxuB,KAAK2jC,uBAAuBM,GACjCxV,EAAKzuB,KAAK2jC,uBAAuBO,GACrC,GAAG1V,EAAKC,EAAG,CACP,IAAIvtB,EAAMstB,EACVA,EAAKC,EACLA,EAAKvtB,EAIT,IAAI,IAAIvE,EAAE,EAAGA,EAAEqD,KAAK0d,QAAQ5gB,OAAS,EAAGH,IAAI,CACxCqD,KAAKwjC,eAAe1C,EAAI1jC,EAAIT,GAC5B,IAAIR,EAAIsK,EAAKsrB,oCAAoCkS,EAAWC,EAASpD,EAAI1jC,GACzE,GAAGjB,GAAK,IACJsK,EAAKiD,IAAI2M,EAAajZ,EAAI0jC,GAC1Br6B,EAAKS,OAAOmP,EAAaA,EAAatP,EAAQtH,KAAKye,GAAK,GACxDzX,EAAK6L,UAAU+D,EAAaA,GAC5BnO,EAAI8Y,mBAAmBle,EAAQ3G,EAAGka,GAAc,GAC7CvT,EAAOsd,WAAWlY,IACjB,WAKbW,eAAe,GAAGC,iBAAiB,GAAGw3B,UAAU,KAAK6D,IAAI,SAASnnC,EAAQnB,EAAOD,GAcpF,SAASqB,EAAKsJ,GACkB,iBAAlB25B,UAAU,KAChB35B,GACIzJ,OAAQojC,UAAU,IAEtB/7B,QAAQC,KAAK,8GAEjBmC,EAAUA,MAOVvG,KAAKlD,OAASyJ,EAAQzJ,QAAU,EAEhCyJ,EAAQhB,KAAOoJ,EAAM4D,KACrB5D,EAAM9R,KAAKmD,KAAMuG,GA9BrB,IAAIoI,EAAQ3R,EAAQ,WAChByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUqB,GA6BjBA,EAAKmD,UAAY,IAAIuO,GACNhE,YAAc1N,EAE7BA,EAAKmD,UAAU20B,uBAAyB,SAASzC,GAC7C,OAAOA,EAAO7yB,KAAKsY,IAAI/X,KAAKlD,OAAO,GAAK,IAG5CG,EAAKmD,UAAUq0B,qBAAuB,WAClCz0B,KAAK6J,eAAiB7J,KAAKlD,OAAO,GAGtC,IAAI+J,GAAUJ,EAAKC,SAASD,EAAKC,UAQjCzJ,EAAKmD,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,GACjD,IAAI1J,EAAK2C,KAAKlD,OAAS,EACvB2J,EAAK4G,IAAIxG,EAAO,IAAKxJ,EAAK,GAC1BoJ,EAAK4G,IAAIxG,EAAO,GAAKxJ,EAAK,GAC1BukB,EAAIhb,cAAcC,EAAOC,EAASC,EAAM,IAGrBN,EAAKC,SAA5B,IACI09B,EAAiB39B,EAAKC,SACtB29B,EAAa59B,EAAKC,SAClB49B,EAAa79B,EAAKC,SAClB69B,EAAiB99B,EAAKqI,WAAW,EAAE,GASvC7R,EAAKmD,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GACrD,IAAInG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GAETigC,EAAKuD,EACLjnC,EAAKknC,EAGLvD,EAAU/gC,KAAKlD,OAAS,EAC5B2J,EAAK4G,IAAIyzB,GAAKC,EAAS,GACvBt6B,EAAK4G,IAAIjQ,EAAI2jC,EAAS,GACtBt6B,EAAKiqB,cAAcoQ,EAAIA,EAAIh6B,EAAUC,GACrCN,EAAKiqB,cAActzB,EAAIA,EAAI0J,EAAUC,GAErC,IAAIka,EAAWxa,EAAKsrB,oCAAoC+O,EAAI1jC,EAAIwD,EAAMC,GACtE,GAAGogB,GAAY,EAAE,CACb,IAAI/E,EAASkoB,EACb39B,EAAKS,OAAOgV,EAAQqoB,EAAgBx9B,GACpCmB,EAAI8Y,mBAAmBle,EAAQme,EAAU/E,GAAS,OAGvDrT,eAAe,GAAGy3B,UAAU,KAAKkE,IAAI,SAASxnC,EAAQnB,EAAOD,GAahE,SAASkhC,EAASv2B,IACdA,EAAUA,OACLhB,KAAOoJ,EAAM4H,SAClB5H,EAAM9R,KAAKmD,KAAMuG,GAfrB,IAAIoI,EAAQ3R,EAAQ,WAChByJ,EAAOzJ,EAAQ,gBAEnBnB,EAAOD,QAAUkhC,GAcjBA,EAAS18B,UAAY,IAAIuO,GACNhE,YAAcmyB,EAEjCA,EAAS18B,UAAU20B,uBAAyB,SAASzC,GACjD,OAAO,GAGXwK,EAAS18B,UAAUq0B,qBAAuB,WACtCz0B,KAAK6J,eAAiB,GAS1BizB,EAAS18B,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,GACrDN,EAAK9E,KAAKigB,EAAIpb,WAAYM,GAC1BL,EAAK9E,KAAKigB,EAAIjb,WAAYG,MAG3B+B,eAAe,GAAGy3B,UAAU,KAAKmE,IAAI,SAASznC,EAAQnB,EAAOD,GAchE,SAASmhC,EAAMx2B,IACXA,EAAUA,OACFhB,KAAOoJ,EAAMgH,MACrBhH,EAAM9R,KAAKmD,KAAMuG,GAhBrB,IAAIoI,EAAS3R,EAAQ,WAChByJ,EAAQzJ,EAAQ,gBACRA,EAAQ,kBAErBnB,EAAOD,QAAUmhC,GAcjBA,EAAM38B,UAAY,IAAIuO,GACNhE,YAAcoyB,EAM9BA,EAAM38B,UAAU20B,uBAAyB,SAASzC,GAC9C,OAAO,GAOXyK,EAAM38B,UAAUq0B,qBAAuB,WACnCz0B,KAAK6J,eAAiBxH,OAAOC,WASjCy6B,EAAM38B,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,GAClD,IAAItK,EAAIsK,GAAS,EAAItH,KAAKye,IACtB7Q,EAAM5G,EAAK4G,IAEX7G,EAAaob,EAAIpb,WACjBG,EAAaib,EAAIjb,WAGrB0G,EAAI7G,GALM,KAAA,KAMV6G,EAAI1G,EANM,IAAA,KAQD,IAANlK,EAECkK,EAAW,GAAK,EAIVlK,IAAMgD,KAAKye,GAAK,EAGtB1X,EAAW,GAAK,EAIV/J,IAAMgD,KAAKye,GAGjB1X,EAAW,GAAK,EAIV/J,IAAM,EAAEgD,KAAKye,GAAG,IAGtBvX,EAAW,GAAK,IAOxBo2B,EAAM38B,UAAUggC,WAAa,WACzBpgC,KAAKtB,KAAO2D,OAAOC,WAGvB,IAAIoiC,EAAkCj+B,EAAKC,SAGvCi+B,GAFmCl+B,EAAKC,SACdD,EAAKC,SACPD,EAAKC,UAC7Bk+B,EAAqBn+B,EAAKC,SAS9Bq2B,EAAM38B,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,GACtD,IAAInG,EAAOsH,EAAItH,KACXC,EAAKqH,EAAIrH,GACTuH,EAAYF,EAAIE,UAChBy8B,EAAmBH,EAGnBxoB,EAASyoB,EACTrT,EAAMsT,EAGVn+B,EAAK4G,IAAI6O,EAAQ,EAAG,GACpBzV,EAAKS,OAAOgV,EAAQA,EAAQnV,GAE5BN,EAAKiD,IAAI4nB,EAAK1wB,EAAMkG,GACpB,IAAIg+B,EAAcr+B,EAAKlH,IAAI+xB,EAAKpV,GAIhC,GAHAzV,EAAKiD,IAAI4nB,EAAKzwB,EAAIiG,KAGfg+B,EAFar+B,EAAKlH,IAAI+xB,EAAKpV,GAED,GAK1BzV,EAAKuZ,gBAAgBpf,EAAMC,GAAMikC,EAAcA,GAAlD,CAIA,IAAIC,EAAYt+B,EAAKlH,IAAI2c,EAAQ9T,GAEjC3B,EAAKiD,IAAIm7B,EAAkBjkC,EAAMkG,GACjC,IAAI3K,GAAKsK,EAAKlH,IAAI2c,EAAQ2oB,GAAoBE,EAAY78B,EAAIpL,OAE9DoL,EAAI8Y,mBAAmBle,EAAQ3G,EAAG+f,GAAS,OAE5CrT,eAAe,GAAGC,iBAAiB,GAAGw3B,UAAU,KAAK0E,IAAI,SAAShoC,EAAQnB,EAAOD,GAkBpF,SAAS+S,EAAMpI,GACXA,EAAUA,MAMVvG,KAAKqgB,KAAO,KAMZrgB,KAAK8G,SAAWL,EAAKqI,WAAW,EAAE,GAC/BvI,EAAQO,UACPL,EAAK9E,KAAK3B,KAAK8G,SAAUP,EAAQO,UAOrC9G,KAAK+G,MAAQR,EAAQQ,OAAS,EAgB9B/G,KAAKuF,KAAOgB,EAAQhB,MAAQ,EAO5BvF,KAAK6Q,GAAKlC,EAAMif,YAOhB5tB,KAAK6J,eAAiB,EA+BtB7J,KAAKyf,oBAA4CH,IAA3B/Y,EAAQkZ,eAA+BlZ,EAAQkZ,eAAiB,EAMtFzf,KAAKwgB,uBAAkDlB,IAA9B/Y,EAAQia,mBAAkCja,EAAQia,kBAO3ExgB,KAAKwf,mBAA0CF,IAA1B/Y,EAAQiZ,cAA8BjZ,EAAQiZ,cAAgB,EAOnFxf,KAAKilC,SAAW1+B,EAAQ0+B,UAAY,KAOpCjlC,KAAKtB,KAAO,EAMZsB,KAAKklC,YAA4B5lB,IAAnB/Y,EAAQ2+B,QAAuB3+B,EAAQ2+B,OAElDllC,KAAKuF,MACJvF,KAAKy0B,uBAGTz0B,KAAKogC,aA3ITvkC,EAAOD,QAAU+S,EAEjB,IAAIlI,EAAOzJ,EAAQ,gBA4InB2R,EAAMif,UAAY,EAMlBjf,EAAMmI,OAAc,EAMpBnI,EAAM4H,SAAc,EAMpB5H,EAAMgH,MAAc,EAMpBhH,EAAM6D,OAAc,EAMpB7D,EAAM4D,KAAc,GAMpB5D,EAAMqE,IAAQ,GAMdrE,EAAM+E,QAAc,GAMpB/E,EAAMwO,YAAc,IAQpBxO,EAAMvO,UAAU20B,uBAAyB,SAASzC,KAOlD3jB,EAAMvO,UAAUq0B,qBAAuB,aAMvC9lB,EAAMvO,UAAUggC,WAAa,aAW7BzxB,EAAMvO,UAAUo0B,YAAc,SAAS5S,EAAK9a,EAAUC,KAYtD4H,EAAMvO,UAAU2gB,QAAU,SAASje,EAAQoF,EAAKpB,EAAUC,OAGvD8B,eAAe,KAAKs8B,IAAI,SAASnoC,EAAQnB,EAAOD,GAkBnD,SAASghC,EAASr2B,GACd02B,EAAOpgC,KAAKmD,KAAKuG,EAAQ02B,EAAOmI,IAChC7+B,EAAUA,MAOVvG,KAAKqlC,WAAa9+B,EAAQ8+B,YAAc,GAQxCrlC,KAAKslC,UAAY/+B,EAAQ++B,WAAa,KAEtCtlC,KAAKulC,UAAY,GACjBvlC,KAAKwlC,OAAS,IAAIhjB,EAAMyH,WAAWjqB,KAAKulC,WACxCvlC,KAAKylC,GAAS,IAAIjjB,EAAMyH,WAAWjqB,KAAKulC,WACxCvlC,KAAK0lC,MAAS,IAAIljB,EAAMyH,WAAWjqB,KAAKulC,WAQxCvlC,KAAK2lC,YAAa,EAWlB3lC,KAAK4lC,wBAAoDtmB,IAA/B/Y,EAAQq/B,mBAAmC,EAAIr/B,EAAQq/B,mBAMjF5lC,KAAK6lC,eAAiB,EAK1B,SAASC,EAAaC,GAElB,IADA,IAAI9+B,EAAI8+B,EAAMjpC,OACRmK,KACF8+B,EAAM9+B,GAAK,EAxEnB,IAAIR,EAAOzJ,EAAQ,gBACfigC,EAASjgC,EAAQ,YACjBwlB,EAAQxlB,EAAQ,kBAChBovB,EAAmBpvB,EAAQ,iCAE/BnB,EAAOD,QAAUghC,GA6DjBA,EAASx8B,UAAY,IAAI68B,GACNtyB,YAAciyB,EAejCA,EAASx8B,UAAU4lC,MAAQ,SAASxc,EAAGvgB,GAEnCjJ,KAAKimC,gBAEL,IAAItN,EAAO,EACPuN,EAAUlmC,KAAKqlC,WACfc,EAAkBnmC,KAAK4lC,mBACvBziB,EAAYnjB,KAAKmjB,UACjBijB,EAAMjjB,EAAUrmB,OAChBupC,EAAa5mC,KAAKsY,IAAI/X,KAAKslC,UAAUc,EAAK,GAC1Cx7B,EAAS3B,EAAM2B,OACf07B,EAAUr9B,EAAM2B,OAAO9N,OAGvB6oC,GAFMl/B,EAAKgB,IACLhB,EAAK4G,IACErN,KAAK2lC,YAClBH,EAASxlC,KAAKwlC,OAIlB,GAFAxlC,KAAK6lC,eAAiB,EAEnBO,EACC,IAAQzpC,EAAE,EAAGA,IAAI2pC,EAAS3pC,KAClBgC,EAAIiM,EAAOjO,IAGbs3B,4BAKPuR,EAAO1oC,OAASspC,IACfZ,EAASxlC,KAAKwlC,OAAU,IAAIhjB,EAAMyH,WAAWmc,EAAMpmC,KAAKulC,WACxDvlC,KAAKylC,GAAmB,IAAIjjB,EAAMyH,WAAWmc,EAAMpmC,KAAKulC,WACxDvlC,KAAK0lC,MAAmB,IAAIljB,EAAMyH,WAAWmc,EAAMpmC,KAAKulC,YAE5DO,EAAaN,GAKb,IAAI,IAJAE,EAAQ1lC,KAAK0lC,MACbD,EAAKzlC,KAAKylC,GACVD,EAASxlC,KAAKwlC,OAEV7oC,EAAE,EAAGA,IAAIwmB,EAAUrmB,OAAQH,MAC3BiC,EAAIukB,EAAUxmB,IACbwtB,WAAaX,GAAK5qB,EAAE2S,eACrB3S,EAAEurB,SAAWX,EACb5qB,EAAEihB,UAEN4lB,EAAG9oC,GAASiC,EAAE2qB,SAAS3qB,EAAEnC,EAAEmC,EAAED,EAAE6qB,GAC/Bkc,EAAM/oC,GAAMiC,EAAEqtB,YAAYrtB,EAAEsrB,SAGhC,IAAUtrB,EAAG2nC,EAAiB3kC,EAE9B,GAAW,IAARwkC,EAAU,CAET,IAAIzpC,EAAE,EAAGA,IAAI2pC,EAAS3pC,IAAI,CACtB,IAAIgC,EAAIiM,EAAOjO,GAGfgC,EAAEu4B,0BAGN,GAAGiP,EAAgB,CAEf,IAAIxN,EAAK,EAAGA,IAAOwN,EAAiBxN,IAAO,CAKvC,IAFA4N,EAAiB,EAEb3kC,EAAE,EAAGA,IAAIwkC,EAAKxkC,IAAI,CAClBhD,EAAIukB,EAAUvhB,GAEVkqB,EAAc8Q,EAAS4J,gBAAgB5kC,EAAEhD,EAAEA,EAAEsrB,QAAQub,EAAGC,EAAMF,EAAOG,EAAWnc,EAAEmP,GACtF4N,GAAkB9mC,KAAKiF,IAAIonB,GAM/B,GAHA9rB,KAAK6lC,iBAGFU,EAAeA,GAAkBF,EAChC,MAOR,IAHAzJ,EAAS6J,kBAAkBtjB,EAAWqiB,EAAQ,EAAEhc,GAG5C5nB,EAAE,EAAGA,IAAIwkC,EAAKxkC,IAAI,CAClB,IAAI9D,EAAKqlB,EAAUvhB,GACnB,GAAG9D,aAAcsuB,EAAiB,CAE9B,IAAI,IADAtwB,EAAI,EACAgG,EAAE,EAAGA,IAAIhE,EAAG4N,iBAAiB5O,OAAQgF,IACzChG,GAAKgC,EAAG4N,iBAAiB5J,GAAGsoB,WAEhCtuB,GAAKgC,EAAGiO,oBAAsBjO,EAAG4N,iBAAiB5O,OAClDgB,EAAGomB,SAAYpoB,EACfgC,EAAGgnB,UAAYhpB,IAM3B,IAAI68B,EAAK,EAAGA,IAAOuN,EAASvN,IAAO,CAK/B,IAFA4N,EAAiB,EAEb3kC,EAAE,EAAGA,IAAIwkC,EAAKxkC,IAAI,CAClBhD,EAAIukB,EAAUvhB,GAEd,IAAIkqB,EAAc8Q,EAAS4J,gBAAgB5kC,EAAEhD,EAAEA,EAAEsrB,QAAQub,EAAGC,EAAMF,EAAOG,EAAWnc,EAAEmP,GACtF4N,GAAkB9mC,KAAKiF,IAAIonB,GAM/B,GAHA9rB,KAAK6lC,iBAGFU,EAAeA,GAAkBF,EAChC,MAKR,IAAI1pC,EAAE,EAAGA,IAAI2pC,EAAS3pC,IAClBiO,EAAOjO,GAAGw6B,wBAGdyF,EAAS6J,kBAAkBtjB,EAAWqiB,EAAQ,EAAEhc,KAKxDoT,EAAS6J,kBAAoB,SAAStjB,EAAWqiB,EAAQkB,GAGrD,IADA,IAAIz/B,EAAIkc,EAAUrmB,OACZmK,KACFkc,EAAUlc,GAAGmjB,WAAaob,EAAOv+B,GAAKy/B,GAI9C9J,EAAS4J,gBAAkB,SAAS5kC,EAAE9D,EAAGouB,EAAIuZ,EAAGC,EAAMF,EAAOG,EAAWtO,EAAGsB,GAEvE,IAAIgO,EAAIlB,EAAG7jC,GACPglC,EAAOlB,EAAM9jC,GACbilC,EAAUrB,EAAO5jC,GACjBklC,EAAWhpC,EAAGysB,kBAEdrG,EAAWpmB,EAAGomB,SACdY,EAAWhnB,EAAGgnB,SAEf6gB,IACCgB,EAAI,GAGR,IAAI7a,EAAc8a,GAASD,EAAIG,EAAW5a,EAAM2a,GAG5CE,EAA2BF,EAAU/a,EASzC,OARGib,EAA2BjiB,EAASuS,EACnCvL,EAAchH,EAASuS,EAAKwP,EACtBE,EAA2B7iB,EAASmT,IAC1CvL,EAAc5H,EAASmT,EAAKwP,GAEhCrB,EAAO5jC,IAAMkqB,EACbhuB,EAAG+tB,aAAaC,GAETA,KAGRjN,gCAAgC,GAAGhW,eAAe,GAAGC,iBAAiB,GAAGk+B,WAAW,KAAKC,IAAI,SAASjqC,EAAQnB,EAAOD,GAYxH,SAASqhC,EAAO12B,EAAQhB,GACpBgB,EAAUA,MAEVqmB,EAAa/vB,KAAKmD,MAElBA,KAAKuF,KAAOA,EAQZvF,KAAKmjB,aAOLnjB,KAAKknC,qBAAuB3gC,EAAQ2gC,uBAAwB,EA/BpDlqC,EAAQ,kBAApB,IACI4vB,EAAe5vB,EAAQ,0BAE3BnB,EAAOD,QAAUqhC,GA8BjBA,EAAO78B,UAAY,IAAIwsB,GACNjiB,YAAcsyB,EAQ/BA,EAAO78B,UAAU4lC,MAAQ,SAAS3O,EAAGpuB,GACjC,MAAM,IAAIrM,MAAM,sDAGpB,IAAIuqC,GAAav8B,WAQjBqyB,EAAO78B,UAAUgnC,YAAc,SAAS/P,EAAGgQ,GAEvCrnC,KAAKsnC,qBAEFD,EAAOlkB,UAAUrmB,SAEhBkD,KAAKunC,aAAaF,EAAOlkB,WACzBgkB,EAAUv8B,OAAO9N,OAAS,EAC1BuqC,EAAOG,UAAUL,EAAUv8B,QAGxBu8B,EAAUv8B,OAAO9N,QAChBkD,KAAKgmC,MAAM3O,EAAG8P,KAS1BlK,EAAO78B,UAAU6lC,cAAgB,WAC1BjmC,KAAKknC,sBACJlnC,KAAKmjB,UAAUskB,KAAKznC,KAAKknC,uBAUjCjK,EAAO78B,UAAUsnC,YAAc,SAAS5pC,GACjCA,EAAG0T,SACFxR,KAAKmjB,UAAUriB,KAAKhD,IAU5Bm/B,EAAO78B,UAAUmnC,aAAe,SAASt2B,GAErC,IAAI,IAAItU,EAAE,EAAGwE,EAAE8P,EAAInU,OAAQH,IAAIwE,EAAGxE,IAAI,CAClC,IAAImB,EAAKmT,EAAItU,GACVmB,EAAG0T,SACFxR,KAAKmjB,UAAUriB,KAAKhD,KAWhCm/B,EAAO78B,UAAUunC,eAAiB,SAAS7pC,GACvC,IAAInB,EAAIqD,KAAKmjB,UAAUngB,QAAQlF,IACrB,IAAPnB,GACCqD,KAAKmjB,UAAUpgB,OAAOpG,EAAE,IAShCsgC,EAAO78B,UAAUknC,mBAAqB,WAClCtnC,KAAKmjB,UAAUrmB,OAAO,GAG1BmgC,EAAOmI,GAAK,EACZnI,EAAO2K,OAAS,IAEb7O,yBAAyB,GAAGjwB,iBAAiB,KAAK++B,IAAI,SAAS7qC,EAAQnB,EAAOD,GASjF,SAASsQ,IACR8wB,EAAKrB,MAAM37B,KAAMkgC,WATlB,IAAInZ,EAAkB/pB,EAAQ,gCAC1BggC,EAAOhgC,EAAQ,UAEnBnB,EAAOD,QAAUsQ,GAQjBA,EAAoB9L,UAAY,IAAI48B,GACNryB,YAAcuB,EAM5CA,EAAoB9L,UAAUsG,OAAS,WACtC,OAAO,IAAIqgB,GAQZ7a,EAAoB9L,UAAU0nC,QAAU,SAAUC,GAEjD,OADAA,EAASv+B,MAAQu+B,EAASt+B,MAAQ,KAC3BzJ,QAGL2e,+BAA+B,GAAGqpB,SAAS,KAAKC,IAAI,SAASjrC,EAAQnB,EAAOD,GAS/E,SAASyQ,IACR2wB,EAAKrB,MAAM37B,KAAMkgC,WATlB,IAAI9T,EAAmBpvB,EAAQ,iCAC3BggC,EAAOhgC,EAAQ,UAEnBnB,EAAOD,QAAUyQ,GAQjBA,EAAqBjM,UAAY,IAAI48B,GACNryB,YAAc0B,EAM7CA,EAAqBjM,UAAUsG,OAAS,WACvC,OAAO,IAAI0lB,GAQZ/f,EAAqBjM,UAAU0nC,QAAU,SAAUC,GAElD,OADAA,EAASv+B,MAAQu+B,EAASt+B,MAAQ,KAC3BzJ,QAGL6e,gCAAgC,GAAGmpB,SAAS,KAAKE,IAAI,SAASlrC,EAAQnB,EAAOD,GAShF,SAASusC,IACRnL,EAAKrB,MAAM37B,KAAMkgC,WATlB,IAAIkI,EAAaprC,EAAQ,uBACrBggC,EAAOhgC,EAAQ,UAEnBnB,EAAOD,QAAUusC,GAQjBA,EAAe/nC,UAAY,IAAI48B,GACNryB,YAAcw9B,EAMvCA,EAAe/nC,UAAUsG,OAAS,WACjC,OAAO,IAAI0hC,GAQZD,EAAe/nC,UAAU0nC,QAAU,SAAUziC,GAE5C,OADAA,EAAK2L,QACEhR,QAGLqoC,sBAAsB,GAAGL,SAAS,KAAKM,IAAI,SAAStrC,EAAQnB,EAAOD,GAStE,SAAS2sC,IACRvL,EAAKrB,MAAM37B,KAAMkgC,WATlB,IAAIsI,EAASxrC,EAAQ,mBACjBggC,EAAOhgC,EAAQ,UAEnBnB,EAAOD,QAAU2sC,GAQjBA,EAAWnoC,UAAY,IAAI48B,GACNryB,YAAc49B,EAMnCA,EAAWnoC,UAAUsG,OAAS,WAC7B,OAAO,IAAI8hC,GAQZD,EAAWnoC,UAAU0nC,QAAU,SAAUT,GAExC,OADAA,EAAOr2B,QACAhR,QAGLyoC,kBAAkB,GAAGT,SAAS,KAAKU,IAAI,SAAS1rC,EAAQnB,EAAOD,GAalE,SAAS+sC,IACL3oC,KAAK4oC,2BAA6B,IAAI57B,EACtChN,KAAK6oC,8BAAgC,IAAI77B,EACzChN,KAAK8oC,WAAa,IAAIC,GAA0B58B,KAAM,KACtDnM,KAAKgpC,QAAU,IAAIh8B,EACnBhN,KAAKipC,aAjBT,IAAIj8B,EAAkBhQ,EAAQ,qBAE1B+rC,GADsB/rC,EAAQ,yBACJA,EAAQ,8BAC1BA,EAAQ,WAEpBnB,EAAOD,QAAU+sC,EAmBjBA,EAAcvoC,UAAU8oC,KAAO,WAM3B,IALA,IAAI1oC,EAAOR,KAAK4oC,2BACZO,EAAUnpC,KAAK6oC,8BAGf5hC,EAAIzG,EAAK4oC,KAAKtsC,OACZmK,KAAI,CACN,IAAIm8B,EAAM5iC,EAAK4oC,KAAKniC,GAChBoiC,EAAa7oC,EAAK8oC,SAASlG,GACX+F,EAAQG,SAASlG,GAClCiG,GAECrpC,KAAK8oC,WAAW13B,QAAQi4B,GAKhC7oC,EAAKwQ,QAGLxQ,EAAKmB,KAAKwnC,GAGVA,EAAQn4B,SAUZ23B,EAAcvoC,UAAUmpC,eAAiB,SAAS//B,EAAO+G,EAAQ9G,EAAOiH,GACzD1Q,KAAK4oC,2BAAhB,IACIO,EAAUnpC,KAAK6oC,8BAGnB,IAAIM,EAAQp4B,IAAIR,EAAOM,GAAIH,EAAOG,IAAI,CAClC,IAAI4M,EAAOzd,KAAK8oC,WAAW/3B,MAC3B0M,EAAKpQ,IAAI7D,EAAO+G,EAAQ9G,EAAOiH,GAC/By4B,EAAQ97B,IAAIkD,EAAOM,GAAIH,EAAOG,GAAI4M,KAI1CkrB,EAAcvoC,UAAUopC,eAAiB,SAAS1mC,GAC9C,OAAO9C,KAAKypC,QAAQzpC,KAAK4oC,2BAA4B5oC,KAAK6oC,8BAA+B/lC,IAG7F6lC,EAAcvoC,UAAUspC,eAAiB,SAAS5mC,GAC9C,OAAO9C,KAAKypC,QAAQzpC,KAAK6oC,8BAA+B7oC,KAAK4oC,2BAA4B9lC,IAU7F6lC,EAAcvoC,UAAU03B,qBAAuB,SAAStuB,EAAOC,GAG3D,IAFA,IAAI0/B,EAAUnpC,KAAK6oC,8BACf5hC,EAAIkiC,EAAQC,KAAKtsC,OACfmK,KAAI,CACN,IAAIm8B,EAAM+F,EAAQC,KAAKniC,GACnBwW,EAAO0rB,EAAQ1rB,KAAK2lB,GACxB,GAAI3lB,EAAKjU,QAAUA,GAASiU,EAAKhU,QAAUA,GAAUgU,EAAKjU,QAAUC,GAASgU,EAAKhU,QAAUD,EACxF,OAAO,EAGf,OAAO,GAGXm/B,EAAcvoC,UAAUqpC,QAAU,SAASE,EAAOC,EAAO9mC,GACrD,IACItC,EAAOmpC,EACPR,EAAUS,GAFV9mC,EAASA,OAINhG,OAAS,EAGhB,IADA,IAAImK,EAAIkiC,EAAQC,KAAKtsC,OACfmK,KAAI,CACN,IAAIm8B,EAAM+F,EAAQC,KAAKniC,GACnBwW,EAAO0rB,EAAQ1rB,KAAK2lB,GAExB,IAAI3lB,EACA,MAAM,IAAI7gB,MAAM,OAAOwmC,EAAI,iBAGhB5iC,EAAKid,KAAK2lB,IAGrBtgC,EAAOhC,KAAK2c,GAIpB,OAAO3a,GAGX6lC,EAAcvoC,UAAUypC,aAAe,SAASt5B,EAAQG,GACpD,IAAIo5B,EAAgB,EAAVv5B,EAAOM,GACbk5B,EAAgB,EAAVr5B,EAAOG,GACbrQ,EAAOR,KAAK4oC,2BACZO,EAAUnpC,KAAK6oC,8BAEnB,OAAUroC,EAAKuQ,IAAI+4B,EAAKC,MAAUZ,EAAQp4B,IAAI+4B,EAAKC,IAGvDpB,EAAcvoC,UAAU4pC,mBAAqB,SAASlnC,GAClD9C,KAAKipC,UAAUnsC,OAAS,EACxB,IAAI8K,EAAW5H,KAAKwpC,eAAexpC,KAAKipC,WACxC,OAAOjpC,KAAKiqC,YAAYriC,EAAU9E,IAGtC6lC,EAAcvoC,UAAU8pC,mBAAqB,SAASpnC,GAClD9C,KAAKipC,UAAUnsC,OAAS,EACxB,IAAI8K,EAAW5H,KAAK0pC,eAAe1pC,KAAKipC,WACxC,OAAOjpC,KAAKiqC,YAAYriC,EAAU9E,IAGtC6lC,EAAcvoC,UAAU6pC,YAAc,SAASriC,EAAU9E,GACrDA,EAASA,MAKT,IAJA,IAAIqnC,EAAcnqC,KAAKgpC,QAEnB/hC,EAAIW,EAAS9K,OAEXmK,KAAI,CACN,IAAIwW,EAAO7V,EAASX,GAGpBkjC,EAAY98B,IAAkB,EAAdoQ,EAAKjU,MAAMqH,GAAoB,EAAd4M,EAAKhU,MAAMoH,GAAM4M,GAItD,IADAxW,EAAIkjC,EAAYf,KAAKtsC,OACfmK,MACEwW,EAAO0sB,EAAYb,SAASa,EAAYf,KAAKniC,MAE7CnE,EAAOhC,KAAK2c,EAAKjU,MAAOiU,EAAKhU,OAMrC,OAFA0gC,EAAYn5B,QAELlO,KAGRsnC,wBAAwB,GAAGC,4BAA4B,GAAGC,oBAAoB,GAAGC,UAAU,KAAKC,IAAI,SAASxtC,EAAQnB,EAAOD,GAY/H,SAAS6uC,EAAoBjhC,EAAO+G,EAAQ9G,EAAOiH,GAI/C1Q,KAAKuQ,OAASA,EAIdvQ,KAAK0Q,OAASA,EAId1Q,KAAKwJ,MAAQA,EAIbxJ,KAAKyJ,MAAQA,EA3BjB5N,EAAOD,QAAU6uC,EAsCjBA,EAAoBrqC,UAAUiN,IAAM,SAAS7D,EAAO+G,EAAQ9G,EAAOiH,GAC/D+5B,EAAoB5tC,KAAKmD,KAAMwJ,EAAO+G,EAAQ9G,EAAOiH,SAGnDg6B,IAAI,SAAS1tC,EAAQnB,EAAOD,GASlC,SAASmtC,IACR/L,EAAKrB,MAAM37B,KAAMkgC,WATlB,IAAIuK,EAAsBztC,EAAQ,yBAC9BggC,EAAOhgC,EAAQ,UAEnBnB,EAAOD,QAAUmtC,GAQjBA,EAAwB3oC,UAAY,IAAI48B,GACNryB,YAAco+B,EAMhDA,EAAwB3oC,UAAUsG,OAAS,WAC1C,OAAO,IAAI+jC,GAQZ1B,EAAwB3oC,UAAU0nC,QAAU,SAAU6C,GAErD,OADAA,EAAOnhC,MAAQmhC,EAAOlhC,MAAQkhC,EAAOp6B,OAASo6B,EAAOj6B,OAAS,KACvD1Q,QAGLoqC,wBAAwB,GAAGpC,SAAS,KAAK4C,IAAI,SAAS5tC,EAAQnB,EAAOD,GAMxE,SAASohC,EAAKz2B,GACbA,EAAUA,MAMVvG,KAAK6qC,gBAEevrB,IAAjB/Y,EAAQ4F,MACVnM,KAAK8qC,OAAOvkC,EAAQ4F,MAftBtQ,EAAOD,QAAUohC,EAwBjBA,EAAK58B,UAAU0qC,OAAS,SAAU3+B,GAGjC,IAFA,IAAI0+B,EAAU7qC,KAAK6qC,QAEZA,EAAQ/tC,OAASqP,GACvB0+B,EAAQzpC,MAGT,KAAOypC,EAAQ/tC,OAASqP,GACvB0+B,EAAQ/pC,KAAKd,KAAK0G,UAGnB,OAAO1G,MAQRg9B,EAAK58B,UAAU2Q,IAAM,WACpB,IAAI85B,EAAU7qC,KAAK6qC,QACnB,OAAOA,EAAQ/tC,OAAS+tC,EAAQzpC,MAAQpB,KAAK0G,UAS9Cs2B,EAAK58B,UAAUgR,QAAU,SAAU25B,GAGlC,OAFA/qC,KAAK8nC,QAAQiD,GACb/qC,KAAK6qC,QAAQ/pC,KAAKiqC,GACX/qC,WAGFgrC,IAAI,SAAShuC,EAAQnB,EAAOD,GASlC,SAASoR,IAOLhN,KAAKyd,QAMLzd,KAAKopC,QArBT,IAAI5mB,EAAQxlB,EAAQ,WAEpBnB,EAAOD,QAAUoR,EA6BjBA,EAAgB5M,UAAU6qC,OAAS,SAASr6B,EAAKE,GAI7C,OAHAF,GAAU,EACVE,GAAU,GAEA,EAAJF,KAAgB,EAAJE,IACN,EAMsB,IAFrB,EAAJF,IAAc,EAAJE,GACdF,GAAO,GAAa,MAANE,EACdA,GAAO,GAAa,MAANF,IASvB5D,EAAgB5M,UAAUkpC,SAAW,SAASlG,GAE1C,OADAA,GAAU,EACHpjC,KAAKyd,KAAK2lB,IASrBp2B,EAAgB5M,UAAU2Q,IAAM,SAASpU,EAAGiF,GACxC,OAAO5B,KAAKyd,KAAKzd,KAAKirC,OAAOtuC,EAAGiF,KAUpCoL,EAAgB5M,UAAUiN,IAAM,SAAS1Q,EAAGiF,EAAGuZ,GAC3C,IAAIA,EACA,MAAM,IAAIve,MAAM,YAGpB,IAAIwmC,EAAMpjC,KAAKirC,OAAOtuC,EAAGiF,GASzB,OANI5B,KAAKyd,KAAK2lB,IACVpjC,KAAKopC,KAAKtoC,KAAKsiC,GAGnBpjC,KAAKyd,KAAK2lB,GAAOjoB,EAEVioB,GAOXp2B,EAAgB5M,UAAU4Q,MAAQ,WAK9B,IAJA,IAAIyM,EAAOzd,KAAKyd,KACZ2rB,EAAOppC,KAAKopC,KAEZniC,EAAImiC,EAAKtsC,OACPmK,YACKwW,EAAK2rB,EAAKniC,IAGrBmiC,EAAKtsC,OAAS,GAQlBkQ,EAAgB5M,UAAUuB,KAAO,SAASupC,GACtClrC,KAAKgR,QACLwR,EAAMC,YAAYziB,KAAKopC,KAAM8B,EAAK9B,MAElC,IADA,IAAIniC,EAAIikC,EAAK9B,KAAKtsC,OACZmK,KAAI,CACN,IAAIm8B,EAAM8H,EAAK9B,KAAKniC,GACpBjH,KAAKyd,KAAK2lB,GAAO8H,EAAKztB,KAAK2lB,OAIhCmH,UAAU,KAAKY,IAAI,SAASnuC,EAAQnB,EAAOD,GAU9C,SAAS4mB,KAPT3mB,EAAOD,QAAU4mB,EAgBjBA,EAAMC,YAAc,SAAShmB,EAAEkC,GAC3B,GAAIA,EAAE7B,OAAS,KACXL,EAAEqE,KAAK66B,MAAMl/B,EAAGkC,QAEhB,IAAK,IAAIhC,EAAI,EAAG20B,EAAM3yB,EAAE7B,OAAQH,IAAM20B,IAAO30B,EACzCF,EAAEqE,KAAKnC,EAAEhC,KAarB6lB,EAAMzf,OAAS,SAASgjC,EAAM7Y,EAAMke,GAChCA,EAAUA,GAAW,EACrB,IAAK,IAAIzuC,EAAEuwB,EAAOoE,EAAIyU,EAAMjpC,OAAOsuC,EAASzuC,EAAI20B,EAAK30B,IACjDopC,EAAMppC,GAAKopC,EAAMppC,EAAIyuC,GAEzBrF,EAAMjpC,OAASw0B,GAef9O,EAAMyH,WADkB,oBAAlBohB,cACaA,cACY,oBAAjBC,aACKA,aAEA3oC,MAUvB6f,EAAM7a,OAAS,SAASlL,EAAEkC,GACtB,IAAI,IAAIykC,KAAOzkC,EACXlC,EAAE2mC,GAAOzkC,EAAEykC,IAYnB5gB,EAAMQ,SAAW,SAASzc,EAASyc,GAC/Bzc,EAAUA,MACV,IAAI,IAAI68B,KAAOpgB,EACNogB,KAAO78B,IACRA,EAAQ68B,GAAOpgB,EAASogB,IAGhC,OAAO78B,QAGLglC,IAAI,SAASvuC,EAAQnB,EAAOD,GAUlC,SAAS4sC,IAOLxoC,KAAKmjB,aAOLnjB,KAAK4K,UAvBT,IAAIzB,EAAOnM,EAAQ,mBAEnBnB,EAAOD,QAAU4sC,EA4BjBA,EAAOpoC,UAAU4Q,MAAQ,WACrBhR,KAAKmjB,UAAUrmB,OAASkD,KAAK4K,OAAO9N,OAAS,GAGjD,IAAI0uC,KAOJhD,EAAOpoC,UAAUonC,UAAY,SAAS1kC,GAClC,IAAI8H,EAAS9H,MACTmO,EAAMjR,KAAKmjB,UACfqoB,EAAQ1uC,OAAS,EACjB,IAAI,IAAIH,EAAE,EAAGA,IAAIsU,EAAInU,OAAQH,IAAI,CAC7B,IAAImB,EAAKmT,EAAItU,IACsB,IAAhC6uC,EAAQxoC,QAAQlF,EAAG0L,MAAMqH,MACxBjG,EAAO9J,KAAKhD,EAAG0L,OACfgiC,EAAQ1qC,KAAKhD,EAAG0L,MAAMqH,MAES,IAAhC26B,EAAQxoC,QAAQlF,EAAG2L,MAAMoH,MACxBjG,EAAO9J,KAAKhD,EAAG2L,OACf+hC,EAAQ1qC,KAAKhD,EAAG2L,MAAMoH,KAG9B,OAAOjG,GAQX49B,EAAOpoC,UAAUizB,aAAe,WAC5B,IAAI,IAAI12B,EAAE,EAAGA,EAAEqD,KAAK4K,OAAO9N,OAAQH,IAAI,CACnC,IAAIgC,EAAIqB,KAAK4K,OAAOjO,GACpB,GAAGgC,EAAE4G,OAAS4D,EAAKgqB,UAAYx0B,EAAE00B,aAC7B,OAAO,EAGf,OAAO,GAOXmV,EAAOpoC,UAAUm3B,MAAQ,WACrB,IAAI,IAAI56B,EAAE,EAAGA,EAAEqD,KAAK4K,OAAO9N,OAAQH,IACvBqD,KAAK4K,OAAOjO,GAClB46B,QAEN,OAAO,KAGR/sB,kBAAkB,KAAKihC,IAAI,SAASzuC,EAAQnB,EAAOD,GAkBtD,SAAS8vC,EAAcnlC,GAMnBvG,KAAK2rC,SAAW,IAAIxD,GAAiBh8B,KAAM,KAM3CnM,KAAK4rC,WAAa,IAAIrD,GAAap8B,KAAM,IAMzCnM,KAAKmjB,aAMLnjB,KAAK6rC,WAML7rC,KAAK8rC,SAOL9rC,KAAK+rC,SAtDE/uC,EAAQ,gBACNA,EAAQ,YACJA,EAAQ,gBAFzB,IAGImrC,EAAiBnrC,EAAQ,6BACzBurC,EAAavrC,EAAQ,yBACrBmM,EAAOnM,EAAQ,mBAEnBnB,EAAOD,QAAU8vC,EAyDjBA,EAAcM,iBAAmB,SAASF,GAEtC,IAAI,IADAG,EAASH,EAAMhvC,OACXH,EAAE,EAAGA,IAAIsvC,EAAQtvC,IAAI,CACzB,IAAI0I,EAAOymC,EAAMnvC,GACjB,IAAI0I,EAAK6mC,SAAW7mC,EAAKgb,KAAK9a,OAAS4D,EAAKgqB,QACxC,OAAO9tB,EAGf,OAAO,GAUXqmC,EAActrC,UAAU+rC,MAAQ,SAAU9mC,EAAK+mC,EAAIn7B,GAC/Cm7B,EAAItrC,KAAKuE,EAAKgb,MAEd,IAAI,IADAgsB,EAAOhnC,EAAK8d,UAAUrmB,OAClBH,EAAE,EAAGA,IAAI0vC,EAAM1vC,IAAI,CACvB,IAAImB,EAAKuH,EAAK8d,UAAUxmB,IACA,IAArBsU,EAAIjO,QAAQlF,IACXmT,EAAInQ,KAAKhD,KAYrB4tC,EAActrC,UAAUksC,IAAM,SAASC,EAAKH,EAAIn7B,GAG5C,IAAI86B,EAAQ/rC,KAAK+rC,MASjB,IARAA,EAAMjvC,OAAS,EAGfivC,EAAMjrC,KAAKyrC,GACXA,EAAKL,SAAU,EACflsC,KAAKmsC,MAAMI,EAAKH,EAAIn7B,GAGd86B,EAAMjvC,QAOR,IAJA,IAGI0vC,EAHAnnC,EAAO0mC,EAAM3qC,MAIVorC,EAAQd,EAAcM,iBAAiB3mC,EAAKonC,YAC/CD,EAAMN,SAAU,EAChBlsC,KAAKmsC,MAAMK,EAAMJ,EAAIn7B,GAGlBu7B,EAAMnsB,KAAK9a,OAAS4D,EAAKgqB,SACxB4Y,EAAMjrC,KAAK0rC,IAY3Bd,EAActrC,UAAUssC,MAAQ,SAASzjC,GAMrC,IALA,IAAI2B,EAAS3B,EAAM2B,OACfkhC,EAAQ9rC,KAAK8rC,MACb3oB,EAAYnjB,KAAKmjB,UAGf2oB,EAAMhvC,QACRkD,KAAK2rC,SAASv6B,QAAQ06B,EAAM1qC,OAIhC,IAAQzE,EAAE,EAAGA,IAAIiO,EAAO9N,OAAQH,IAAI,CAChC,IAAI0I,EAAOrF,KAAK2rC,SAAS56B,MACzB1L,EAAKgb,KAAOzV,EAAOjO,GACnBmvC,EAAMhrC,KAAKuE,GAYf,IAAI,IAAIvD,EAAE,EAAGA,IAAIqhB,EAAUrmB,OAAQgF,IAAI,CACnC,IAAIhE,EAAGqlB,EAAUrhB,GACbnF,EAAEiO,EAAO5H,QAAQlF,EAAG0L,OACpB5H,EAAEgJ,EAAO5H,QAAQlF,EAAG2L,OACpBkjC,EAAGb,EAAMnvC,GACTiwC,EAAGd,EAAMlqC,GACb+qC,EAAGF,UAAU3rC,KAAK8rC,GAClBA,EAAGH,UAAU3rC,KAAK6rC,GAClBA,EAAGxpB,UAAUriB,KAAKhD,GAClB8uC,EAAGzpB,UAAUriB,KAAKhD,GAKtB,IAAI,IADA+tC,EAAU7rC,KAAK6rC,QACXlvC,EAAE,EAAGA,EAAEkvC,EAAQ/uC,OAAQH,IAC3BqD,KAAK4rC,WAAWx6B,QAAQy6B,EAAQlvC,IAEpCkvC,EAAQ/uC,OAAS,EAIjB,IADA,IAAI0vC,EACGA,EAAQd,EAAcM,iBAAiBF,IAAQ,CAGlD,IAAIzE,EAASrnC,KAAK4rC,WAAW76B,MAG7B/Q,KAAKssC,IAAIE,EAAOnF,EAAOz8B,OAAQy8B,EAAOlkB,WAEtC0oB,EAAQ/qC,KAAKumC,GAGjB,OAAOwE,KAGRhjC,eAAe,GAAG2B,kBAAkB,GAAGqiC,4BAA4B,GAAGC,wBAAwB,GAAGC,WAAW,GAAGC,eAAe,KAAKC,IAAI,SAASjwC,EAAQnB,EAAOD,GASlK,SAASwsC,EAAW/nB,GAMhBrgB,KAAKqgB,KAAOA,EAMZrgB,KAAKysC,aAMLzsC,KAAKmjB,aAOLnjB,KAAKksC,SAAU,EAjCnBrwC,EAAOD,QAAUwsC,EAwCjBA,EAAWhoC,UAAU4Q,MAAQ,WACzBhR,KAAKmjB,UAAUrmB,OAAS,EACxBkD,KAAKysC,UAAU3vC,OAAS,EACxBkD,KAAKksC,SAAU,EACflsC,KAAKqgB,KAAO,WAGV6sB,IAAI,SAASlwC,EAAQnB,EAAOD,GAsDlC,SAASshC,EAAM32B,GACXqmB,EAAa+O,MAAM37B,MAEnBuG,EAAUA,MAQVvG,KAAKmtC,WAMLntC,KAAK4K,UAOL5K,KAAKotC,8BAMLptC,KAAKqtC,OAAS9mC,EAAQ8mC,QAAU,IAAIzQ,EAQpC58B,KAAK64B,YAAc,IAAIptB,EAAYzL,MAMnCA,KAAKstC,cAAgB,IAAI5B,EAQzB1rC,KAAKutC,QAAU9mC,EAAKqI,WAAW,GAAI,MAChCvI,EAAQgnC,SACP9mC,EAAK9E,KAAK3B,KAAKutC,QAAShnC,EAAQgnC,SAOpCvtC,KAAKwtC,gBAAkB/mC,EAAK3J,OAAOkD,KAAKutC,UAAY,GAOpDvtC,KAAKytC,kCAAmC,EAOxCztC,KAAK0tC,iCAAkC,EAQvC1tC,KAAK2tC,WAAapnC,EAAQonC,YAAc,IAAI1rB,EAC5CjiB,KAAK2tC,WAAWtkC,SAASrJ,MAQzBA,KAAK4tC,eAML5tC,KAAK6tC,gBAAkB,IAAIlgB,EAM3B3tB,KAAK8tC,uBAAyB,IAAItgB,EAAgBxtB,KAAK6tC,gBAAgB7tC,KAAK6tC,iBAO5E7tC,KAAK+tC,aAAe,EAAE,GAQtB/tC,KAAKguC,mBAAoB,EAQzBhuC,KAAKo3B,cAAe,EAQpBp3B,KAAKiuC,cAAe,EAQpBjuC,KAAKkuC,kBAAmB,EAOxBluC,KAAKmuC,oBAOLnuC,KAAK03B,KAAO,EACZ13B,KAAKmqC,YAAc,EAMnBnqC,KAAKouC,UAAW,EAOhBpuC,KAAKquC,qBAOLruC,KAAKsuC,iBAA4C,IAAvB/nC,EAAmB,eAAoBA,EAAQ+nC,YAQzEtuC,KAAKuuC,iBAAkB,EAGvBvuC,KAAKwuC,qBAAuB,EAC5BxuC,KAAKyuC,eAAiB,EAMtBzuC,KAAK0uC,eACDnpC,KAAO,YAQXvF,KAAK2uC,cACDppC,KAAO,UACP8a,KAAO,MAQXrgB,KAAK4uC,iBACDrpC,KAAO,aACP8a,KAAO,MAQXrgB,KAAK6uC,gBACDtpC,KAAO,YACPupC,OAAS,MASb9uC,KAAK+uC,aACDxpC,KAAM,SACNiE,MAAQ,KACRC,MAAQ,KACR8G,OAAS,KACTG,OAAS,KACTs+B,gBAAkB,MAUtBhvC,KAAKivC,qBACD1pC,KAAM,iBACN2pC,MAAO,MAUXlvC,KAAKmvC,UAAYjS,EAAMkS,YAWvBpvC,KAAKqvC,mBACD9pC,KAAM,eACNgL,OAAQ,KACRG,OAAQ,KACRlH,MAAO,KACPC,MAAO,KACPiC,qBAWJ1L,KAAKsvC,iBACD/pC,KAAM,aACNgL,OAAQ,KACRG,OAAQ,KACRlH,MAAO,KACPC,MAAO,MASXzJ,KAAKuvC,eACDhqC,KAAM,WACNmG,iBAAkB,KAClBC,kBAAmB,MAIvB3L,KAAK4oC,4BAA+BQ,SACpCppC,KAAK6oC,+BAAkCO,SAKvCppC,KAAK63B,cAAgB,IAAI8Q,EApX7B,IAAK/L,EAAW5/B,EAAQ,sBAGnByJ,GAFSzJ,EAAQ,oBACXA,EAAQ,oBACPA,EAAQ,iBACfyR,EAASzR,EAAQ,oBACjB0R,EAAS1R,EAAQ,oBAEjB+/B,GADO//B,EAAQ,kBACPA,EAAQ,oBAChB2/B,EAAU3/B,EAAQ,qBAClB8/B,EAAW9/B,EAAQ,sBACnB4vB,EAAe5vB,EAAQ,0BACvBmM,EAAOnM,EAAQ,mBAGf2wB,GAFQ3wB,EAAQ,mBACDA,EAAQ,2BACZA,EAAQ,yBACnBwwB,EAAkBxwB,EAAQ,+BAS1BsJ,GARqBtJ,EAAQ,qCAChBA,EAAQ,6BACJA,EAAQ,iCACJA,EAAQ,qCACPA,EAAQ,sCACbA,EAAQ,iCACnBA,EAAQ,sBACDA,EAAQ,2BACdA,EAAQ,sBACfilB,EAAgBjlB,EAAQ,8BACxByO,EAAczO,EAAQ,4BACtBwlB,EAAQxlB,EAAQ,kBAChB2rC,EAAgB3rC,EAAQ,0BACxB0uC,EAAgB1uC,EAAQ,mBACLA,EAAQ,+BAEhCnB,EAAOD,QAAUshC,EAsVjBA,EAAM98B,UAAY,IAAI+8B,OAAOvQ,EAAaxsB,WAC1C88B,EAAM98B,UAAUuK,YAAcuyB,EAO9BA,EAAMkS,YAAc,EAOpBlS,EAAMsS,cAAgB,EAOtBtS,EAAMuS,gBAAkB,EAWxBvS,EAAM98B,UAAU47B,cAAgB,SAAS0T,GACrC1vC,KAAK4tC,YAAY9sC,KAAK4uC,IAQ1BxS,EAAM98B,UAAUuvC,mBAAqB,SAASC,GAC1C5vC,KAAKmuC,iBAAiBrtC,KAAK8uC,IAS/B1S,EAAM98B,UAAUyvC,sBAAwB,SAASrZ,GAC7C,IAAIjU,EAAMviB,KAAKmuC,iBAAiBnrC,QAAQwzB,IAC9B,IAAPjU,GACCC,EAAMzf,OAAO/C,KAAKmuC,iBAAiB5rB,EAAI,IAY/C2a,EAAM98B,UAAU0vC,mBAAqB,SAASriB,EAAUC,GAEpD,IAAI,IADAqiB,EAAQ/vC,KAAKmuC,iBACTxxC,EAAE,EAAGwE,EAAE4uC,EAAMjzC,OAAQH,IAAIwE,EAAGxE,IAAI,CACpC,IAAI65B,EAAKuZ,EAAMpzC,GACf,GAAK65B,EAAG/I,UAAU5c,KAAO4c,EAAU5c,IAAQ2lB,EAAG9I,UAAU7c,KAAO6c,EAAU7c,IACpE2lB,EAAG/I,UAAU5c,KAAO6c,EAAU7c,IAAQ2lB,EAAG9I,UAAU7c,KAAO4c,EAAU5c,GACrE,OAAO2lB,EAGf,OAAO,GASX0G,EAAM98B,UAAU+7B,iBAAmB,SAASuT,GACxC,IAAIntB,EAAMviB,KAAK4tC,YAAY5qC,QAAQ0sC,IACzB,IAAPntB,GACCC,EAAMzf,OAAO/C,KAAK4tC,YAAYrrB,EAAI,IAI7B9b,EAAKC,SACDD,EAAKC,SACTD,EAAKC,SACLD,EAAKC,SACAD,EAAKC,SACLD,EAAKC,SALvB,IAMIspC,EAAUvpC,EAAKC,SACfupC,EAAMxpC,EAAKqI,WAAW,EAAE,GACxBohC,EAAMzpC,EAAKqI,WAAW,EAAE,GACjBrI,EAAKqI,WAAW,EAAE,GACZrI,EAAKqI,WAAW,EAAE,GAiDnCouB,EAAM98B,UAAU+vC,KAAO,SAAS9Y,EAAG+Y,EAAoBC,GAInD,GAHAA,EAAcA,GAAe,GAGF,KAF3BD,EAAsBA,GAAuB,GAIzCpwC,KAAKswC,aAAajZ,GAGlBr3B,KAAK03B,MAAQL,MAEV,CAEHr3B,KAAKmqC,aAAeiG,EAEpB,IADA,IAAIG,EAAW,EACRvwC,KAAKmqC,aAAe9S,GAAMkZ,EAAWF,GAExCrwC,KAAKswC,aAAajZ,GAClBr3B,KAAK03B,MAAQL,EACbr3B,KAAKmqC,aAAe9S,EACpBkZ,IAIJ,IAAI,IADAp0C,EAAK6D,KAAKmqC,YAAc9S,EAAMA,EAC1Bz1B,EAAE,EAAGA,IAAI5B,KAAK4K,OAAO9N,OAAQ8E,IAAI,CACrC,IAAIjD,EAAIqB,KAAK4K,OAAOhJ,GACpB6E,EAAKob,KAAKljB,EAAEk0B,qBAAsBl0B,EAAEo0B,iBAAkBp0B,EAAEmI,SAAU3K,GAClEwC,EAAEm0B,kBAAoBn0B,EAAEq0B,cAAgB72B,GAAKwC,EAAEoI,MAAQpI,EAAEq0B,kBAKrE,IAAIwd,KAQJtT,EAAM98B,UAAUkwC,aAAe,SAASjZ,GACpCr3B,KAAKouC,UAAW,EAEhB,IACIqC,EAAWzwC,KAAKmtC,QAAQrwC,OACxBqwC,EAAUntC,KAAKmtC,QACfviC,EAAS5K,KAAK4K,OACdqb,EAAIjmB,KAAKutC,QACTF,EAASrtC,KAAKqtC,OACd/G,EAAUtmC,KAAK4K,OAAO9N,OACtB6wC,EAAa3tC,KAAK2tC,WAClB+C,EAAK1wC,KAAK64B,YACV+U,EAAc5tC,KAAK4tC,YAInB+C,EAAKX,EAELvoC,GADQhB,EAAK4L,MACP5L,EAAKgB,KAEX6lC,GADS7mC,EAAKS,OACElH,KAAKstC,eAOzB,GALAttC,KAAK63B,cAAcqR,OAEnBlpC,KAAK+tC,aAAe1W,EAGjBr3B,KAAKytC,iCAAiC,CACrC,IAAImD,EAAanqC,EAAK3J,OAAOkD,KAAKutC,SACd,IAAfqD,GAAoB5wC,KAAK0tC,kCAE1B1tC,KAAKwtC,gBAAkBoD,GAK/B,GAAG5wC,KAAKiuC,aACJ,IAAQtxC,EAAE,EAAGA,IAAI2pC,EAAS3pC,IAAI,CAC1B,IACIiuB,GADAjsB,EAAIiM,EAAOjO,IACJwpB,MACRxnB,EAAE4G,OAAS4D,EAAKgqB,SAAWx0B,EAAEyL,aAAejB,EAAKkB,WAGpD5D,EAAK4L,MAAMs+B,EAAG1qB,EAAEtnB,EAAE2zB,KAAK3zB,EAAE80B,cACzBhsB,EAAImjB,EAAGA,EAAG+lB,IAKlB,GAAG3wC,KAAKguC,kBACJ,IAAQrxC,EAAE,EAAGA,IAAI8zC,EAAU9zC,IACfwwC,EAAQxwC,GACdq4B,aAIV,GAAGh1B,KAAKo3B,aACJ,IAAQz6B,EAAE,EAAGA,IAAI2pC,EAAS3pC,IAAI,CAC1B,IAAIgC,EAAIiM,EAAOjO,GACZgC,EAAE4G,OAAS4D,EAAKgqB,SACfx0B,EAAEy4B,aAAaC,GAU3B,IAAI,IAJAv0B,EAAS6qC,EAAWrkC,kBAAkBtJ,MAGtC6wC,EAAe7wC,KAAKotC,2BAChBzwC,EAAEk0C,EAAa/zC,OAAO,EAAGH,GAAG,EAAGA,GAAG,EACtC,IAAQiF,EAAEkB,EAAOhG,OAAO,EAAG8E,GAAG,EAAGA,GAAG,GAC3BivC,EAAal0C,KAASmG,EAAOlB,IAAMivC,EAAal0C,EAAE,KAAOmG,EAAOlB,EAAE,IAClEivC,EAAal0C,EAAE,KAAOmG,EAAOlB,IAAMivC,EAAal0C,KAASmG,EAAOlB,EAAE,KACnEkB,EAAOC,OAAOnB,EAAE,GAMxBkvC,EAAelD,EAAY9wC,OAC/B,IAAIH,EAAE,EAAGA,IAAIm0C,EAAcn0C,IAAI,CAC3B,IAAIiC,EAAIgvC,EAAYjxC,GACpB,IAAIiC,EAAEqkB,iBACF,IAAI,IAAIrhB,EAAEkB,EAAOhG,OAAO,EAAG8E,GAAG,EAAGA,GAAG,GAC3BhD,EAAE4K,QAAU1G,EAAOlB,IAAMhD,EAAE6K,QAAU3G,EAAOlB,EAAE,IAC9ChD,EAAE6K,QAAU3G,EAAOlB,IAAMhD,EAAE4K,QAAU1G,EAAOlB,EAAE,KAC/CkB,EAAOC,OAAOnB,EAAE,GAOhC5B,KAAKivC,oBAAoBC,MAAQpsC,EACjC9C,KAAKmtB,KAAKntB,KAAKivC,qBACfjvC,KAAKivC,oBAAoBC,MAAQ,KAGjCwB,EAAG1/B,MAAMhR,MACT,IAAI,IAAIrD,EAAE,EAAGo0C,EAASjuC,EAAOhG,OAAQH,IAAIo0C,EAAUp0C,GAAG,EAKlD,IAAI,IAJAmO,EAAKhI,EAAOnG,GACZoO,EAAKjI,EAAOnG,EAAE,GAGVmF,EAAE,EAAGuO,EAASvF,EAAGwF,OAAOxT,OAAQgF,IAAIuO,EAAUvO,IAMlD,IAAI,IALA6S,EAAK7J,EAAGwF,OAAOxO,GACf8S,EAAKD,EAAG7N,SACR+N,EAAKF,EAAG5N,MAGJE,EAAE,EAAGwJ,EAAS1F,EAAGuF,OAAOxT,OAAQmK,IAAIwJ,EAAUxJ,IAAI,CACtD,IAAI6N,EAAK/J,EAAGuF,OAAOrJ,GACf8N,EAAKD,EAAGhO,SACRkO,EAAKF,EAAG/N,MAERyvB,EAAKx2B,KAAK8tC,uBACd,GAAGn5B,EAAGswB,UAAYnwB,EAAGmwB,SAAS,CAC1B,IAAI/jC,EAAMlB,KAAK8vC,mBAAmBn7B,EAAGswB,SAASnwB,EAAGmwB,UAC9C/jC,IACCs1B,EAAKt1B,GAIblB,KAAKgxC,eAAeN,EAAG5lC,EAAG6J,EAAGC,EAAGC,EAAG9J,EAAG+J,EAAGC,EAAGC,EAAGwhB,EAAGx2B,KAAKwtC,iBAMnE,IAAQ7wC,EAAE,EAAGA,IAAI2pC,EAAS3pC,KAClB0jB,EAAOzV,EAAOjO,IACVo3B,0BACJ1T,EAAK+C,SACL/C,EAAK0T,yBAA0B,GAKvC,GAAG/zB,KAAKitB,IAAI,cAAc,CACtBjtB,KAAK63B,cAAc6R,eAAe8G,GAGlC,IAFA,IAAI70C,EAAIqE,KAAKsvC,gBACTroC,EAAIupC,EAAY1zC,OACdmK,KAAI,CACN,IAAIwW,EAAO+yB,EAAYvpC,GACvBtL,EAAE4U,OAASkN,EAAKlN,OAChB5U,EAAE+U,OAAS+M,EAAK/M,OAChB/U,EAAE6N,MAAQiU,EAAKjU,MACf7N,EAAE8N,MAAQgU,EAAKhU,MACfzJ,KAAKmtB,KAAKxxB,GAEd60C,EAAY1zC,OAAS,EAGzB,IAAIyyC,EAAgBvvC,KAAKuvC,cACzBA,EAAc7jC,iBAAmBglC,EAAGhlC,iBACpC6jC,EAAc5jC,kBAAoB+kC,EAAG/kC,kBACrC3L,KAAKmtB,KAAKoiB,GACVA,EAAc7jC,iBAAmB6jC,EAAc5jC,kBAAoB,KAGnE,IAAImlC,EAAelD,EAAY9wC,OAC/B,IAAIH,EAAE,EAAGA,IAAIm0C,EAAcn0C,IACvBixC,EAAYjxC,GAAGkjB,SAGnB,GAAG6wB,EAAGhlC,iBAAiB5O,QAAU4zC,EAAG/kC,kBAAkB7O,QAAUg0C,EAC5D,GAAG9wC,KAAKsuC,YAAY,CAKhB,IAHAhB,EAAcnqB,UAAUrmB,OAAS,EACjC0lB,EAAMC,YAAY6qB,EAAcnqB,UAAWutB,EAAGhlC,kBAC9C8W,EAAMC,YAAY6qB,EAAcnqB,UAAWutB,EAAG/kC,mBAC1ChP,EAAE,EAAGA,IAAIm0C,EAAcn0C,IACvB6lB,EAAMC,YAAY6qB,EAAcnqB,UAAWyqB,EAAYjxC,GAAGwmB,WAE9DmqB,EAAcZ,MAAM1sC,MAEpB,IAAQrD,EAAE,EAAGA,IAAI2wC,EAAczB,QAAQ/uC,OAAQH,KACvC0qC,EAASiG,EAAczB,QAAQlvC,IACzBwmB,UAAUrmB,QAChBuwC,EAAOjG,YAAY/P,EAAGgQ,OAI3B,CAOH,IAJAgG,EAAO9F,aAAamJ,EAAGhlC,kBACvB2hC,EAAO9F,aAAamJ,EAAG/kC,mBAGnBhP,EAAE,EAAGA,IAAIm0C,EAAcn0C,IACvB0wC,EAAO9F,aAAaqG,EAAYjxC,GAAGwmB,WAGpCnjB,KAAKkuC,kBACJb,EAAOrH,MAAM3O,EAAGr3B,MAGpBqtC,EAAO/F,qBAKf,IAAQ3qC,EAAE,EAAGA,IAAI2pC,EAAS3pC,IAAI,CAC1B,IAAI0jB,EAAOzV,EAAOjO,GAGlB0jB,EAAK4X,UAAUZ,GAKnB,IAAQ16B,EAAE,EAAGA,IAAI2pC,EAAS3pC,IACtBiO,EAAOjO,GAAGs6B,eAId,GAAGj3B,KAAKuuC,iBAAmBvuC,KAAKitB,IAAI,UAEhC,IAAI,IADAgkB,EAAKjxC,KAAK+uC,YACNpyC,EAAE,EAAGA,IAAI+zC,EAAGhlC,iBAAiB5O,OAAQH,IAAI,CAC7C,IAAImB,EAAK4yC,EAAGhlC,iBAAiB/O,GAC1BmB,EAAGwT,cACF2/B,EAAGznC,MAAQ1L,EAAG0L,MACdynC,EAAGxnC,MAAQ3L,EAAG2L,MACdwnC,EAAG1gC,OAASzS,EAAGyS,OACf0gC,EAAGvgC,OAAS5S,EAAG4S,OACfugC,EAAGjC,gBAAkBlxC,EACrBkC,KAAKmtB,KAAK8jB,IAMtB,GAAGjxC,KAAKmvC,YAAcjS,EAAMsS,cACxB,IAAI7yC,EAAE,EAAGA,IAAI2pC,EAAS3pC,IAClBiO,EAAOjO,GAAG86B,UAAUz3B,KAAK03B,MAAM,EAAOL,QAEvC,GAAGr3B,KAAKmvC,YAAcjS,EAAMuS,iBAAmBzvC,KAAKsuC,YAAY,CAGnE,IAAI3xC,EAAE,EAAGA,IAAI2pC,EAAS3pC,IAClBiO,EAAOjO,GAAG86B,UAAUz3B,KAAK03B,MAAM,EAAML,GAIzC,IAAQ16B,EAAE,EAAGA,EAAEqD,KAAKstC,cAAczB,QAAQ/uC,OAAQH,IAAI,CAClD,IAAI0qC,EAASrnC,KAAKstC,cAAczB,QAAQlvC,GACrC0qC,EAAOhU,gBACNgU,EAAO9P,SAKnBv3B,KAAKouC,UAAW,EAIhB,IAAI,IADAC,EAAoBruC,KAAKquC,kBACrB1xC,EAAE,EAAGA,IAAI0xC,EAAkBvxC,OAAQH,IACvCqD,KAAKk8B,WAAWmS,EAAkB1xC,IAEtC0xC,EAAkBvxC,OAAS,EAE3BkD,KAAKmtB,KAAKntB,KAAK0uC,gBAiBnBxR,EAAM98B,UAAU4wC,eAAiB,SAASN,EAAG5lC,EAAG6J,EAAGC,EAAGC,EAAG9J,EAAG+J,EAAGC,EAAGC,EAAGwhB,EAAG0a,GAGpE,GAAgD,IAA1Cv8B,EAAG8K,eAAiB3K,EAAG0K,gBAAmE,IAA1C1K,EAAG2K,eAAiB9K,EAAG6K,eAA7E,CAKA/Y,EAAKS,OAAO+oC,EAAKr7B,EAAI9J,EAAG/D,OACxBN,EAAKS,OAAOgpC,EAAKn7B,EAAIhK,EAAGhE,OACxBN,EAAKgB,IAAIwoC,EAAKA,EAAKnlC,EAAGhE,UACtBL,EAAKgB,IAAIyoC,EAAKA,EAAKnlC,EAAGjE,UACtB,IAAIqqC,EAAMt8B,EAAK/J,EAAG/D,MACdqqC,EAAMp8B,EAAKjK,EAAGhE,MAElB2pC,EAAG9kC,eAAiB4qB,EAAG3I,SAAW,EAClC6iB,EAAG3kC,oBAAsByqB,EAAG3I,SAC5B,IAAIwjB,EAEAA,EADDvmC,EAAGvF,OAAS4D,EAAKgB,QAAUW,EAAGvF,OAAS4D,EAAKe,UAC7Ba,EAAGunB,KACXvnB,EAAGxF,OAAS4D,EAAKgB,QAAUY,EAAGxF,OAAS4D,EAAKe,UACpCY,EAAGwnB,KAEFxnB,EAAGwnB,KAAKvnB,EAAGunB,MAAOxnB,EAAGwnB,KAAKvnB,EAAGunB,MAEhDoe,EAAG5kC,UAAY0qB,EAAG3I,SAASqjB,EAAKG,EAChCX,EAAGpkC,YAAckqB,EAAGlqB,YACpBokC,EAAG1kC,gBAAkBwqB,EAAGxqB,gBACxB0kC,EAAG9jC,kBAAoB4pB,EAAG5pB,kBAC1B8jC,EAAG7jC,mBAAqB2pB,EAAG3pB,mBAC3B6jC,EAAGnkC,UAAYiqB,EAAGjqB,UAClBmkC,EAAGhkC,WAAa8pB,EAAG9pB,WACnBgkC,EAAGzjC,gBAAkBupB,EAAGvpB,gBACxByjC,EAAG7kC,iBAAmBf,EAAG0V,mBAAqBzV,EAAGyV,mBAAqB7L,EAAG6L,mBAAqB1L,EAAG0L,kBAEjG,IAAI8wB,EAAWZ,EAAG/7B,EAAGpP,KAAOuP,EAAGvP,MAC3B4M,EAAc,EAClB,GAAIm/B,EAAU,CACV,IAAIpM,EAASvwB,EAAGuwB,QAAUpwB,EAAGowB,OACzBqM,EAAoBb,EAAG/kC,kBAAkB7O,OAEzCqV,EADAwC,EAAGpP,KAAOuP,EAAGvP,KACC+rC,EAASz0C,KAAK6zC,EAAI5lC,EAAG6J,EAAGs7B,EAAIkB,EAAKpmC,EAAG+J,EAAGo7B,EAAIkB,EAAKlM,GAEhDoM,EAASz0C,KAAK6zC,EAAI3lC,EAAG+J,EAAGo7B,EAAIkB,EAAKtmC,EAAG6J,EAAGs7B,EAAIkB,EAAKjM,GAElE,IAAIsM,EAAuBd,EAAG/kC,kBAAkB7O,OAASy0C,EAEzD,GAAGp/B,EAAY,CA6BX,GA3BIrH,EAAGsoB,YACHtoB,EAAGvF,OAAS4D,EAAKgqB,SACjBroB,EAAGV,aAAgBjB,EAAKkB,UACxBU,EAAGX,aAAgBjB,EAAKmqB,OACxBvoB,EAAGxF,OAAS4D,EAAKgB,QAEG1D,EAAKmD,cAAcmB,EAAG8b,UAAYpnB,KAAKsY,IAAIhN,EAAGyc,gBAAgB,IAE3C,EADd/nB,KAAKsY,IAAIhN,EAAGwoB,gBAAgB,KAEjDzoB,EAAGipB,yBAA0B,GAIjChpB,EAAGqoB,YACHroB,EAAGxF,OAAS4D,EAAKgqB,SACjBpoB,EAAGX,aAAgBjB,EAAKkB,UACxBS,EAAGV,aAAgBjB,EAAKmqB,OACxBxoB,EAAGvF,OAAS4D,EAAKgB,QAEG1D,EAAKmD,cAAckB,EAAG+b,UAAYpnB,KAAKsY,IAAIjN,EAAG0c,gBAAgB,IAE3C,EADd/nB,KAAKsY,IAAIjN,EAAGyoB,gBAAgB,KAEjDxoB,EAAGgpB,yBAA0B,GAIrC/zB,KAAK63B,cAAc0R,eAAez+B,EAAI6J,EAAI5J,EAAI+J,GAC3C9U,KAAKitB,IAAI,iBAAmBjtB,KAAK63B,cAAcgS,aAAal1B,EAAIG,GAAI,CAGnE,IAAInZ,EAAIqE,KAAKqvC,kBASb,GARA1zC,EAAE4U,OAASoE,EACXhZ,EAAE+U,OAASoE,EACXnZ,EAAE6N,MAAQsB,EACVnP,EAAE8N,MAAQsB,EAGVpP,EAAE+P,iBAAiB5O,OAAS,EAEH,iBAAhB,EACL,IAAQH,EAAE+zC,EAAGhlC,iBAAiB5O,OAAOqV,EAAaxV,EAAE+zC,EAAGhlC,iBAAiB5O,OAAQH,IAC5EhB,EAAE+P,iBAAiB5K,KAAK4vC,EAAGhlC,iBAAiB/O,IAIpDqD,KAAKmtB,KAAKxxB,GAId,GAAyB,iBAAhB,GAA4B61C,EAAuB,EACxD,IAAI,IAAI70C,EAAE+zC,EAAG/kC,kBAAkB7O,OAAO00C,EAAsB70C,EAAE+zC,EAAG/kC,kBAAkB7O,OAAQH,IAAI,CAC3F,IAAIb,EAAI40C,EAAG/kC,kBAAkBhP,GAC7Bb,EAAE6V,aAAa7V,EAAEuwB,eAAiBmlB,QActDtU,EAAM98B,UAAUqxC,UAAY,SAAS3C,GACjC9uC,KAAKmtC,QAAQrsC,KAAKguC,GAClB,IAAI4C,EAAM1xC,KAAK6uC,eACf6C,EAAI5C,OAASA,EACb9uC,KAAKmtB,KAAKukB,GACVA,EAAI5C,OAAS,MASjB5R,EAAM98B,UAAUuxC,aAAe,SAAS7C,GACpC,IAAIvsB,EAAMviB,KAAKmtC,QAAQnqC,QAAQ8rC,IACnB,IAATvsB,GACCC,EAAMzf,OAAO/C,KAAKmtC,QAAQ5qB,EAAI,IAgBtC2a,EAAM98B,UAAU07B,QAAU,SAASzb,GAC/B,IAAkC,IAA/BrgB,KAAK4K,OAAO5H,QAAQqd,GAAa,CAChCrgB,KAAK4K,OAAO9J,KAAKuf,GACjBA,EAAKpX,MAAQjJ,KACb,IAAI0xC,EAAM1xC,KAAK2uC,aACf+C,EAAIrxB,KAAOA,EACXrgB,KAAKmtB,KAAKukB,GACVA,EAAIrxB,KAAO,OAUnB6c,EAAM98B,UAAU87B,WAAa,SAAS7b,GAClC,GAAGrgB,KAAKouC,SACJpuC,KAAKquC,kBAAkBvtC,KAAKuf,OACzB,CACHA,EAAKpX,MAAQ,KACb,IAAIsZ,EAAMviB,KAAK4K,OAAO5H,QAAQqd,IACpB,IAAPkC,IACCC,EAAMzf,OAAO/C,KAAK4K,OAAO2X,EAAI,GAC7BviB,KAAK4uC,gBAAgBvuB,KAAOA,EAC5BA,EAAK6W,0BACLl3B,KAAKmtB,KAAKntB,KAAK4uC,iBACf5uC,KAAK4uC,gBAAgBvuB,KAAO,QAWxC6c,EAAM98B,UAAUwxC,YAAc,SAAS/gC,GAEnC,IAAI,IADAjG,EAAS5K,KAAK4K,OACVjO,EAAE,EAAGA,EAAEiO,EAAO9N,OAAQH,IAAI,CAC9B,IAAIgC,EAAIiM,EAAOjO,GACf,GAAGgC,EAAEkS,KAAOA,EACR,OAAOlS,EAGf,OAAO,GASXu+B,EAAM98B,UAAUyxC,qBAAuB,SAASroC,EAAMC,GAClDzJ,KAAKotC,2BAA2BtsC,KAAK0I,EAAMC,IAS/CyzB,EAAM98B,UAAU0xC,oBAAsB,SAAStoC,EAAMC,GAEjD,IAAI,IADAylC,EAAQlvC,KAAKotC,2BACTzwC,EAAE,EAAGA,EAAEuyC,EAAMpyC,OAAQH,GAAG,EAC5B,GAAIuyC,EAAMvyC,KAAO6M,GAAS0lC,EAAMvyC,EAAE,KAAO8M,GAAWylC,EAAMvyC,EAAE,KAAO6M,GAAS0lC,EAAMvyC,KAAO8M,EAErF,YADAylC,EAAMnsC,OAAOpG,EAAE,IAW3BugC,EAAM98B,UAAUK,MAAQ,WAEpBT,KAAK03B,KAAO,EAGT13B,KAAKqtC,QAAUrtC,KAAKqtC,OAAOlqB,UAAUrmB,QACpCkD,KAAKqtC,OAAO/F,qBAKhB,IAAI,IADAyK,EAAK/xC,KAAK4tC,YACNjxC,EAAEo1C,EAAGj1C,OAAO,EAAGH,GAAG,EAAGA,IACzBqD,KAAKm8B,iBAAiB4V,EAAGp1C,IAK7B,IAAI,IADAiO,EAAS5K,KAAK4K,OACVjO,EAAEiO,EAAO9N,OAAO,EAAGH,GAAG,EAAGA,IAC7BqD,KAAKk8B,WAAWtxB,EAAOjO,IAK3B,IAAI,IADAwwC,EAAUntC,KAAKmtC,QACXxwC,EAAEwwC,EAAQrwC,OAAO,EAAGH,GAAG,EAAGA,IAC9BqD,KAAK2xC,aAAaxE,EAAQxwC,IAK9B,IAAI,IADAq1C,EAAMhyC,KAAKmuC,iBACPxxC,EAAEq1C,EAAIl1C,OAAO,EAAGH,GAAG,EAAGA,IAC1BqD,KAAK6vC,sBAAsBmC,EAAIr1C,IAGnCugC,EAAMvB,MAAM37B,OAGhB,IAAIiyC,EAAexrC,EAAKC,SAEpBwrC,GADezrC,EAAKqI,WAAW,EAAE,GAClBrI,EAAKqI,WAAW,EAAE,IAarCouB,EAAM98B,UAAU+xC,QAAU,SAAS3kC,EAAW5C,EAAOtN,GACjDA,EAAYA,GAAa,EAGzB,IAAI80C,EAAK,IAAIjpC,GAAOrC,SAAS0G,IACzB6kC,EAAK,IAAIvV,EACT1N,EAAK5hB,EAELjG,EAAI0qC,EAEJ/wC,EAAMgxC,EACVE,EAAG1d,SAAS2d,GAMZ,IAAI,IAJAj2C,EAAI4D,KAAK64B,YACT/1B,KAGInG,EAAE,EAAGwE,EAAEyJ,EAAO9N,OAAQH,IAAIwE,EAAGxE,IAGjC,IAAI,IAFAgC,EAAIiM,EAAOjO,GAEPiF,EAAE,EAAG0wC,EAAG3zC,EAAE2R,OAAOxT,OAAQ8E,IAAI0wC,EAAI1wC,IAAI,CACzC,IAAItF,EAAIqC,EAAE2R,OAAO1O,GAGjB6E,EAAKS,OAAOK,EAAGjL,EAAEwK,SAAUnI,EAAEoI,OAC7BN,EAAKgB,IAAIF,EAAGA,EAAG5I,EAAEmI,UACjB,IAAIrK,EAAIH,EAAEyK,MAAQpI,EAAEoI,OAEfzK,aAAamS,GAAarS,EAAEid,eAAiB1a,EAAErC,EAAEiL,EAAE9K,EAAO21C,EAAGC,EAAGjjB,EArBpE,GAqB2E,IACvE9yB,aAAaoS,GAAatS,EAAEsc,eAAiB05B,EAAGC,EAAGjjB,EAtBvD,EAsB8DzwB,EAAErC,EAAEiL,EAAE9K,GAAO,IACvEH,aAAaygC,GAAa3gC,EAAEgd,cAAiBg5B,EAAGC,EAAGjjB,EAvBvD,EAuB8DzwB,EAAErC,EAAEiL,EAAE9K,GAAO,IACvEH,aAAaqgC,GAAavgC,EAAEoa,gBAAiB47B,EAAGC,EAAGjjB,EAxBvD,EAwB8DzwB,EAAErC,EAAEiL,EAAE9K,GAAO,IACvEH,aAAawgC,GAAar2B,EAAKmD,cAAcnD,EAAKiD,IAAIxI,EAAIqG,EAAEiG,IAAelQ,EAAUA,IAEtFwF,EAAOhC,KAAKnC,GAKxB,OAAOmE,GAQXo6B,EAAM98B,UAAUmyC,mBAAqB,SAAShmC,GAI1C,IAAI,IADAqhC,EAAc5tC,KAAK4tC,YACfjxC,EAAE,EAAGA,IAAMixC,EAAY9wC,OAAQH,IAEnC,IAAI,IADAiC,EAAIgvC,EAAYjxC,GACZiF,EAAE,EAAGA,IAAMhD,EAAEukB,UAAUrmB,OAAQ8E,IAAI,CACvC,IAAI9D,EAAKc,EAAEukB,UAAUvhB,GACrB9D,EAAGyO,UAAYA,EACfzO,EAAGyT,aAAc,EAMzB,IAAI,IADA48B,EAAmBnuC,KAAKmuC,iBACpBxxC,EAAE,EAAGA,IAAMwxC,EAAiBrxC,OAAQH,KACpCiC,EAAIuvC,EAAiBxxC,IACvB4P,UAAY3N,EAAEgO,kBAAoBL,GAIpC3N,EAAIoB,KAAK8tC,wBACXvhC,UAAY3N,EAAEgO,kBAAoBL,GAQxC2wB,EAAM98B,UAAUoyC,oBAAsB,SAAS9lC,GAG3C,IAAQ/P,EAAE,EAAGA,IAAMqD,KAAK4tC,YAAY9wC,OAAQH,IAExC,IAAI,IADAiC,EAAIoB,KAAK4tC,YAAYjxC,GACjBiF,EAAE,EAAGA,IAAMhD,EAAEukB,UAAUrmB,OAAQ8E,IAAI,CACvC,IAAI9D,EAAKc,EAAEukB,UAAUvhB,GACrB9D,EAAG4O,WAAaA,EAChB5O,EAAGyT,aAAc,EAKzB,IAAI,IAAI5U,EAAE,EAAGA,IAAMqD,KAAKmuC,iBAAiBrxC,OAAQH,KACzCiC,EAAIoB,KAAKmuC,iBAAiBxxC,IAC5B+P,WAAa9N,EAAEiO,mBAAqBH,GAItC9N,EAAIoB,KAAK8tC,wBACXphC,WAAa9N,EAAEiO,mBAAqBH,GAG1C,IAAI+lC,EAAU,IAAInsC,EACdyJ,KA6CJmtB,EAAM98B,UAAU2gB,QAAU,SAASje,EAAQoF,GAQvC,OALAA,EAAI6B,QAAQ0oC,GACZzyC,KAAK2tC,WAAW3iC,UAAUhL,KAAMyyC,EAAS1iC,GACzC7H,EAAIiY,gBAAgBrd,EAAQiN,GAC5BA,EAASjT,OAAS,EAEXgG,EAAOqe,YAGfuxB,qBAAqB,EAAEtxB,oBAAoB,EAAEjW,0BAA0B,EAAEwnC,2BAA2B,GAAG5wB,mBAAmB,GAAG6wB,6BAA6B,GAAGnW,4BAA4B,GAAGoW,oCAAoC,GAAGC,gCAAgC,GAAGC,gCAAgC,GAAGC,qCAAqC,GAAGC,oCAAoC,GAAGla,yBAAyB,GAAGma,8BAA8B,GAAGC,uBAAuB,GAAGtqC,eAAe,GAAG2B,kBAAkB,GAAG4oC,0BAA0B,GAAGC,8BAA8B,GAAGC,oBAAoB,GAAGloC,mBAAmB,GAAG2T,mBAAmB,GAAGw0B,iBAAiB,GAAGloC,qBAAqB,GAAGC,kBAAkB,GAAGC,kBAAkB,GAAGioC,qBAAqB,GAAGC,mBAAmB,GAAGC,yBAAyB,GAAG5qC,iBAAiB,GAAG6qC,kBAAkB,UAAU,KACz0B","file":"p2.min.js"} \ No newline at end of file diff --git a/build/custom/p2.min.js b/build/custom/p2.min.js index 25e1ece14..3117018aa 100644 --- a/build/custom/p2.min.js +++ b/build/custom/p2.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 P2.JS Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,o,i){function n(a,r){if(!o[a]){if(!e[a]){var c="function"==typeof require&&require;if(!r&&c)return c(a,!0);if(s)return s(a,!0);throw new Error("Cannot find module '"+a+"'")}var h=o[a]={exports:{}};e[a][0].call(h.exports,function(t){var o=e[a][1][t];return n(o||t)},h,h.exports,t,e,o,i)}return o[a].exports}for(var s="function"==typeof require&&require,a=0;a=0&&c<=1&&h>=0&&h<=1}},{"./Scalar":4}],2:[function(t,e,o){function i(){}e.exports=i,i.area=function(t,e,o){return(e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1])},i.left=function(t,e,o){return i.area(t,e,o)>0},i.leftOn=function(t,e,o){return i.area(t,e,o)>=0},i.right=function(t,e,o){return i.area(t,e,o)<0},i.rightOn=function(t,e,o){return i.area(t,e,o)<=0};var n=[],s=[];i.collinear=function(t,e,o,a){if(a){var r=n,c=s;r[0]=e[0]-t[0],r[1]=e[1]-t[1],c[0]=o[0]-e[0],c[1]=o[1]-e[1];var h=r[0]*c[0]+r[1]*c[1],l=Math.sqrt(r[0]*r[0]+r[1]*r[1]),p=Math.sqrt(c[0]*c[0]+c[1]*c[1]);return Math.acos(h/(l*p))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var i=e;ie[t][0])&&(t=o);a.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},i.prototype.reverse=function(){for(var t=[],e=0,o=this.vertices.length;e!==o;e++)t.push(this.vertices.pop());this.vertices=t},i.prototype.isReflex=function(t){return a.right(this.at(t-1),this.at(t),this.at(t+1))};var c=[],h=[];i.prototype.canSee=function(t,e){var o,i,n=c,r=h;if(a.leftOn(this.at(t+1),this.at(t),this.at(e))&&a.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;i=a.sqdist(this.at(t),this.at(e));for(var l=0;l!==this.vertices.length;++l)if((l+1)%this.vertices.length!==t&&l!==t&&a.leftOn(this.at(t),this.at(e),this.at(l+1))&&a.rightOn(this.at(t),this.at(e),this.at(l))&&(n[0]=this.at(t),n[1]=this.at(e),r[0]=this.at(l),r[1]=this.at(l+1),o=s.lineInt(n,r),a.sqdist(this.at(t),o)0?this.slice(t):[this]},i.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],o=0;or)return console.warn("quickDecomp: max level ("+r+") reached."),t;for(var q=0;qy&&(y+=this.vertices.length),v=Number.MAX_VALUE,y3&&o>=0;--o)a.collinear(this.at(o-1),this.at(o),this.at(o+1),t)&&(this.vertices.splice(o%this.vertices.length,1),o--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,o){function i(){}e.exports=i,i.eq=function(t,e,o){return o=o||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,o){function i(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=i;var s=n.create();i.prototype.setFromPoints=function(t,e,o,i){var a=this.lowerBound,r=this.upperBound;"number"!=typeof o&&(o=0),0!==o?n.rotate(a,t[0],o):n.copy(a,t[0]),n.copy(r,a);for(var c=Math.cos(o),h=Math.sin(o),l=1;lr[f]&&(r[f]=p[f]),p[f]o&&(this.lowerBound[e]=o);var i=t.upperBound[e];this.upperBound[e]c?-1:r}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,o){function i(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=i.AABB}var n=t("../math/vec2"),s=t("../objects/Body");e.exports=i,i.AABB=1,i.BOUNDING_CIRCLE=2,i.prototype.setWorld=function(t){this.world=t},i.prototype.getCollisionPairs=function(t){};var a=n.create();i.boundingRadiusCheck=function(t,e){n.sub(a,t.position,e.position);var o=n.squaredLength(a),i=t.boundingRadius+e.boundingRadius;return o<=i*i},i.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},i.prototype.boundingVolumeCheck=function(t,e){var o;switch(this.boundingVolumeType){case i.BOUNDING_CIRCLE:o=i.boundingRadiusCheck(t,e);break;case i.AABB:o=i.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return o},i.canCollide=function(t,e){var o=s.KINEMATIC,i=s.STATIC;return(t.type!==i||e.type!==i)&&(!(t.type===o&&e.type===i||t.type===i&&e.type===o)&&((t.type!==o||e.type!==o)&&((t.sleepState!==s.SLEEPING||e.sleepState!==s.SLEEPING)&&!(t.sleepState===s.SLEEPING&&e.type===i||e.sleepState===s.SLEEPING&&t.type===i))))},i.NAIVE=1,i.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,o){function i(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.getCollisionPairs=function(t){var e=t.bodies,o=this.result;o.length=0;for(var i=0,s=e.length;i!==s;i++)for(var a=e[i],r=0;rK&&Y0)for(U=0;UMath.pow(v,2))return 0;if(p)return!0;var y=this.createContactEquation(t,n,e,s);return r(y.normalA,h,o),a.normalize(y.normalA,y.normalA),a.scale(y.contactPointA,y.normalA,u),a.scale(y.contactPointB,y.normalA,-d),c(y.contactPointA,y.contactPointA,o),r(y.contactPointA,y.contactPointA,t.position),c(y.contactPointB,y.contactPointB,h),r(y.contactPointB,y.contactPointB,n.position),this.contactEquations.push(y),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(y)),1},i.prototype[y.PLANE|y.CONVEX]=i.prototype[y.PLANE|y.BOX]=i.prototype.planeConvex=function(t,e,o,i,n,s,l,p,u){var d=A,f=b,v=E,y=0;a.rotate(f,g,i);for(var m=0;m!==s.vertices.length;m++){var B=s.vertices[m];if(a.rotate(d,B,p),c(d,d,l),r(v,d,o),h(v,f)<=0){if(u)return!0;y++;var q=this.createContactEquation(t,n,e,s);r(v,d,o),a.copy(q.normalA,f);var P=h(v,q.normalA);a.scale(v,q.normalA,P),r(q.contactPointB,d,n.position),r(q.contactPointA,d,v),r(q.contactPointA,q.contactPointA,t.position),this.contactEquations.push(q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(q))}}return this.enableFrictionReduction&&this.enableFriction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},i.prototype[y.PARTICLE|y.PLANE]=i.prototype.particlePlane=function(t,e,o,i,n,s,c,l,p){var u=A,d=b;l=l||0,r(u,o,c),a.rotate(d,g,l);var f=h(u,d);if(f>0)return 0;if(p)return!0;var v=this.createContactEquation(n,t,s,e);return a.copy(v.normalA,d),a.scale(u,v.normalA,f),r(v.contactPointA,o,u),r(v.contactPointA,v.contactPointA,n.position),r(v.contactPointB,o,t.position),this.contactEquations.push(v),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(v)),1},i.prototype[y.CIRCLE|y.PARTICLE]=i.prototype.circleParticle=function(t,e,o,i,n,s,h,l,p){var u=A;if(r(u,h,o),a.squaredLength(u)>Math.pow(e.radius,2))return 0;if(p)return!0;var d=this.createContactEquation(t,n,e,s);return a.copy(d.normalA,u),a.normalize(d.normalA,d.normalA),a.scale(d.contactPointA,d.normalA,e.radius),c(d.contactPointA,d.contactPointA,o),r(d.contactPointA,d.contactPointA,t.position),r(d.contactPointB,h,n.position),this.contactEquations.push(d),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(d)),1};var H=new f({radius:1}),Z=a.create(),J=a.create();a.create();i.prototype[y.PLANE|y.CAPSULE]=i.prototype.planeCapsule=function(t,e,o,i,n,s,r,h,l){var p=Z,u=J,d=H;a.set(p,-s.length/2,0),a.rotate(p,p,h),c(p,p,r),a.set(u,s.length/2,0),a.rotate(u,u,h),c(u,u,r),d.radius=s.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var v=this.circlePlane(n,d,p,0,t,e,o,i,l),y=this.circlePlane(n,d,u,0,t,e,o,i,l);if(this.enableFrictionReduction&&(this.enableFriction=f),l)return v||y;var m=v+y;return this.enableFrictionReduction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},i.prototype[y.CIRCLE|y.PLANE]=i.prototype.circlePlane=function(t,e,o,i,n,s,l,p,u){var d=t,f=e,v=o,y=n,m=l,B=p;B=B||0;var q=A,P=b,w=E;r(q,v,m),a.rotate(P,g,B);var S=h(P,q);if(S>f.radius)return 0;if(u)return!0;var C=this.createContactEquation(y,d,s,e);return a.copy(C.normalA,P),a.scale(C.contactPointB,C.normalA,-f.radius),c(C.contactPointB,C.contactPointB,v),r(C.contactPointB,C.contactPointB,d.position),a.scale(w,C.normalA,S),r(C.contactPointA,q,w),c(C.contactPointA,C.contactPointA,m),r(C.contactPointA,C.contactPointA,y.position),this.contactEquations.push(C),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(C)),1},i.prototype[y.CONVEX]=i.prototype[y.CONVEX|y.BOX]=i.prototype[y.BOX]=i.prototype.convexConvex=function(t,e,o,n,s,l,p,u,d,f){var v=A,y=b,m=E,g=B,P=q,L=w,x=S,F=C,M=0,f="number"==typeof f?f:0;if(!i.findSeparatingAxis(e,o,n,l,p,u,v))return 0;r(x,p,o),h(v,x)>0&&a.scale(v,v,-1);var I=i.getClosestEdge(e,n,v,!0),R=i.getClosestEdge(l,u,v);if(-1===I||-1===R)return 0;for(var V=0;V<2;V++){var T=I,N=R,G=e,O=l,U=o,k=p,_=n,D=u,W=t,j=s;if(0===V){var X;X=T,T=N,N=X,X=G,G=O,O=X,X=U,U=k,k=X,X=_,_=D,D=X,X=W,W=j,j=X}for(var z=N;z=3){if(d)return!0;var Q=this.createContactEquation(W,j,G,O);M++;var Z=G.vertices[T%G.vertices.length],J=G.vertices[(T+1)%G.vertices.length];a.rotate(m,Z,_),a.rotate(g,J,_),c(m,m,U),c(g,g,U),r(P,g,m),a.rotate90cw(Q.normalA,P),a.normalize(Q.normalA,Q.normalA),r(x,y,m);var $=h(Q.normalA,x);a.scale(L,Q.normalA,$),r(Q.contactPointA,y,U),r(Q.contactPointA,Q.contactPointA,L),c(Q.contactPointA,Q.contactPointA,U),r(Q.contactPointA,Q.contactPointA,W.position),r(Q.contactPointB,y,k),c(Q.contactPointB,Q.contactPointB,k),r(Q.contactPointB,Q.contactPointB,j.position),this.contactEquations.push(Q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Q))}}}return this.enableFrictionReduction&&this.enableFriction&&M&&this.frictionEquations.push(this.createFrictionFromAverage(M)),M};var Q=a.fromValues(0,0);i.projectConvexOntoAxis=function(t,e,o,i,n){var s,r,c=null,l=null,p=Q;a.rotate(p,i,-o);for(var u=0;uc)&&(c=r),(null===l||rc){var d=l;l=c,c=d}var f=h(e,i);a.set(n,l+f,c+f)};var $=a.fromValues(0,0),tt=a.fromValues(0,0),et=a.fromValues(0,0),ot=a.fromValues(0,0),it=a.fromValues(0,0),nt=a.fromValues(0,0);i.findSeparatingAxis=function(t,e,o,n,s,c,h){var l=null,p=!1,u=!1,d=$,f=tt,v=et,y=ot,g=it,A=nt;if(t instanceof m&&n instanceof m)for(P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(w=0;2!==w;w++){0===w?a.set(y,0,1):1===w&&a.set(y,1,0),0!==E&&a.rotate(y,y,E),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0),p=(S=q[0]-B[1])<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}else for(var P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(var w=0;w!==b.vertices.length;w++){a.rotate(f,b.vertices[w],E),a.rotate(v,b.vertices[(w+1)%b.vertices.length],E),r(d,v,f),a.rotate90cw(y,d),a.normalize(y,y),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0);var S=q[0]-B[1];p=S<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}return u};var st=a.fromValues(0,0),at=a.fromValues(0,0),rt=a.fromValues(0,0);i.getClosestEdge=function(t,e,o,i){var n=st,s=at,c=rt;a.rotate(n,o,-e),i&&a.scale(n,n,-1);for(var l=-1,p=t.vertices.length,u=-1,d=0;d!==p;d++){r(s,t.vertices[(d+1)%p],t.vertices[d%p]),a.rotate90cw(c,s),a.normalize(c,c);var f=h(c,n);(-1===l||f>u)&&(l=d%p,u=f)}return l};var ct=a.create(),ht=a.create(),lt=a.create(),pt=a.create(),ut=a.create(),dt=a.create(),ft=a.create();i.prototype[y.CIRCLE|y.HEIGHTFIELD]=i.prototype.circleHeightfield=function(t,e,o,i,n,s,h,l,p,u){var d=s.heights,u=u||e.radius,f=s.elementWidth,v=ht,y=ct,m=ut,g=ft,A=dt,b=lt,E=pt,B=Math.floor((o[0]-u-h[0])/f),q=Math.ceil((o[0]+u-h[0])/f);B<0&&(B=0),q>=d.length&&(q=d.length-1);for(var P=d[B],w=d[q],S=B;SP&&(P=d[S]);if(o[1]-u>P)return!p&&0;for(var C=!1,S=B;S=b[0]&&y[0]0)for(S=B;S<=q;S++)if(a.set(b,S*f,d[S]),a.add(b,b,h),a.sub(v,o,b),a.squaredLength(v)=l.length&&(m=l.length-1);for(var g=l[y],A=l[m],b=y;bg&&(g=l[b]);if(t.aabb.lowerBound[1]>g)return!h&&0;for(var E=0,b=y;b=0||s.containsPoint(this.from))&&this.intersectBody(t,n)}};var a=s.create();i.prototype.intersectBody=function(t,e){var o=this.checkCollisionResponse;if(!o||e.collisionResponse)for(var i=a,n=0,r=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=s,this._currentShape=e,e.raycast(t,this,i,o),this._currentBody=this._currentShape=null)},i.prototype.getAABB=function(t){var e=this.to,o=this.from;s.set(t.lowerBound,Math.min(e[0],o[0]),Math.min(e[1],o[1])),s.set(t.upperBound,Math.max(e[0],o[0]),Math.max(e[1],o[1]))};s.create();i.prototype.reportIntersection=function(t,e,o,n){this.from,this.to;var a=this._currentShape,r=this._currentBody;if(!(this.skipBackfaces&&s.dot(o,this.direction)>0))switch(this.mode){case i.ALL:t.set(o,a,r,e,n),this.callback(t);break;case i.CLOSEST:(e=0&&!(t[s].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);s--)t[s+1]=t[s];t[s+1]=n}return t},i.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;i.sortAxisList(t,e)},i.prototype.getCollisionPairs=function(t){var e=this.axisList,o=this.result,i=this.axisIndex;o.length=0;for(var n=e.length;n--;){var a=e[n];a.aabbNeedsUpdate&&a.updateAABB()}this.sortList();for(var r=0,c=0|e.length;r!==c;r++)for(var h=e[r],l=r+1;lthis.upperLimit&&(s.maxForce=0,s.minForce=-this.maxForce,this.distance=this.upperLimit,p=!0),this.lowerLimitEnabled&&this.positiono?(r.scale(n.normalA,h,-1),r.sub(n.contactPointA,l,a.position),r.sub(n.contactPointB,p,c.position),r.scale(f,h,o),r.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&gr?(f.angle=r,-1===n.indexOf(f)&&n.push(f)):-1!==(m=n.indexOf(f))&&n.splice(m,1),this.lowerLimitEnabled&&y>1;if(e<3)return[];for(var o=[],n=[],s=0;s3;){var r=n[(s+0)%a],c=n[(s+1)%a],h=n[(s+2)%a],l=t[2*r],p=t[2*r+1],u=t[2*c],d=t[2*c+1],f=t[2*h],v=t[2*h+1],y=!1;if(i._convex(l,p,u,d,f,v)){y=!0;for(var m=0;m3*a)break}return o.push(n[0],n[1],n[2]),o},i._PointInTriangle=function(t,e,o,i,n,s,a,r){var c=a-o,h=r-i,l=n-o,p=s-i,u=t-o,d=e-i,f=c*c+h*h,v=c*l+h*p,y=c*u+h*d,m=l*l+p*p,g=l*u+p*d,A=1/(f*m-v*v),b=(m*y-v*g)*A,E=(f*g-v*y)*A;return b>=0&&E>=0&&b+E<1},i._convex=function(t,e,o,i,n,s){return(e-i)*(n-o)+(o-t)*(s-i)>=0},e.exports=i},{}],30:[function(t,e,o){var i=e.exports={},n=t("../utils/Utils");i.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},i.crossVZ=function(t,e,o){return i.rotate(t,e,-Math.PI/2),i.scale(t,t,o),t},i.crossZV=function(t,e,o){return i.rotate(t,o,Math.PI/2),i.scale(t,t,e),t},i.rotate=function(t,e,o){if(0!==o){var i=Math.cos(o),n=Math.sin(o),s=e[0],a=e[1];t[0]=i*s-n*a,t[1]=n*s+i*a}else t[0]=e[0],t[1]=e[1]},i.rotate90cw=function(t,e){var o=e[0],i=e[1];t[0]=i,t[1]=-o},i.toLocalFrame=function(t,e,o,n){i.copy(t,e),i.sub(t,t,o),i.rotate(t,t,-n)},i.toGlobalFrame=function(t,e,o,n){i.copy(t,e),i.rotate(t,t,n),i.add(t,t,o)},i.vectorToLocalFrame=function(t,e,o){i.rotate(t,e,-o)},i.vectorToGlobalFrame=function(t,e,o){i.rotate(t,e,o)},i.centroid=function(t,e,o,n){return i.add(t,e,o),i.add(t,t,n),i.scale(t,t,1/3),t},i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var o=new n.ARRAY_TYPE(2);return o[0]=t,o[1]=e,o},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,o){return t[0]=e,t[1]=o,t},i.add=function(t,e,o){return t[0]=e[0]+o[0],t[1]=e[1]+o[1],t},i.subtract=function(t,e,o){return t[0]=e[0]-o[0],t[1]=e[1]-o[1],t},i.sub=i.subtract,i.multiply=function(t,e,o){return t[0]=e[0]*o[0],t[1]=e[1]*o[1],t},i.mul=i.multiply,i.divide=function(t,e,o){return t[0]=e[0]/o[0],t[1]=e[1]/o[1],t},i.div=i.divide,i.scale=function(t,e,o){return t[0]=e[0]*o,t[1]=e[1]*o,t},i.distance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return Math.sqrt(o*o+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return o*o+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],o=t[1];return Math.sqrt(e*e+o*o)},i.len=i.length,i.squaredLength=function(t){var e=t[0],o=t[1];return e*e+o*o},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.normalize=function(t,e){var o=e[0],i=e[1],n=o*o+i*i;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},i.lerp=function(t,e,o,i){var n=e[0],s=e[1];return t[0]=n+i*(o[0]-n),t[1]=s+i*(o[1]-s),t},i.reflect=function(t,e,o){var i=e[0]*o[0]+e[1]*o[1];t[0]=e[0]-2*o[0]*i,t[1]=e[1]-2*o[1]*i},i.getLineSegmentsIntersection=function(t,e,o,n,s){var a=i.getLineSegmentsIntersectionFraction(e,o,n,s);return!(a<0)&&(t[0]=e[0]+a*(o[0]-e[0]),t[1]=e[1]+a*(o[1]-e[1]),!0)},i.getLineSegmentsIntersectionFraction=function(t,e,o,i){var n,s,a=e[0]-t[0],r=e[1]-t[1],c=i[0]-o[0],h=i[1]-o[1];return n=(-r*(t[0]-o[0])+a*(t[1]-o[1]))/(-c*r+a*h),s=(c*(t[1]-o[1])-h*(t[0]-o[0]))/(-c*r+a*h),n>=0&&n<=1&&s>=0&&s<=1?s:-1}},{"../utils/Utils":57}],31:[function(t,e,o){function i(t){t=t||{},l.call(this),this.id=t.id||++i._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=i.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=i.DYNAMIC:this.type=i.STATIC,this.boundingRadius=0,this.aabb=new h,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=i.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),s=t("poly-decomp"),a=t("../shapes/Convex"),r=t("../collision/RaycastResult"),c=t("../collision/Ray"),h=t("../collision/AABB"),l=t("../events/EventEmitter");e.exports=i,i.prototype=new l,i.prototype.constructor=i,i._idCounter=0,i.prototype.updateSolveMassProperties=function(){this.sleepState===i.SLEEPING||this.type===i.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},i.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},i.prototype.getArea=function(){for(var t=0,e=0;eo&&(o=a+r)}this.boundingRadius=o},i.prototype.addShape=function(t,e,o){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=o||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},i.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},i.prototype.updateMassProperties=function(){if(this.type===i.STATIC||this.type===i.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,o=this.mass/e,s=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var a=0;a0?1/s:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();i.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var o=n.crossLength(e,t);this.angularForce+=o}};var d=n.create(),f=n.create(),v=n.create();i.prototype.applyForceLocal=function(t,e){e=e||v;var o=d,i=f;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyForce(o,i)};var y=n.create();i.prototype.applyImpulse=function(t,e){if(this.type===i.DYNAMIC){var o=y;if(n.scale(o,t,this.invMass),n.multiply(o,this.massMultiplier,o),n.add(this.velocity,o,this.velocity),e){var s=n.crossLength(e,t);s*=this.invInertia,this.angularVelocity+=s}}};var m=n.create(),g=n.create(),A=n.create();i.prototype.applyImpulseLocal=function(t,e){e=e||A;var o=m,i=g;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyImpulse(o,i)},i.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},i.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},i.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},i.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},i.prototype.fromPolygon=function(t,e){e=e||{};for(c=this.shapes.length;c>=0;--c)this.removeShape(this.shapes[c]);var o=new s.Polygon;if(o.vertices=t,o.makeCCW(),"number"==typeof e.removeCollinearPoints&&o.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!o.isSimple())return!1;this.concavePath=o.vertices.slice(0);for(c=0;c=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=i.AWAKE):(this.idleTime+=o,this.sleepState=i.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},i.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var q=n.create(),P=n.create();i.prototype.integrate=function(t){var e=this.invMass,o=this.force,i=this.position,s=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(q,o,t*e),n.multiply(q,this.massMultiplier,q),n.add(s,q,s),this.integrateToTimeOfImpact(t)||(n.scale(P,s,t),n.add(i,i,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var w=new r,S=new c({mode:c.ALL}),C=n.create(),L=n.create(),x=n.create(),F=n.create();i.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=h&&c=0&&(s.rotate(d,p,i),s.scale(d,d,2*m-1),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}for(var A=Math.pow(this.radius,2)+Math.pow(y,2),m=0;m<2;m++){s.set(f,y*(2*m-1),0),s.toGlobalFrame(f,f,o,i);var b=Math.pow(a[0]-n[0],2)+Math.pow(a[1]-n[1],2),E=2*((a[0]-n[0])*(n[0]-f[0])+(a[1]-n[1])*(n[1]-f[1])),B=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),q=Math.pow(E,2)-4*b*B;if(!(q<0))if(0===q){if(s.lerp(u,n,a,q),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(q),w=1/(2*b),S=(-E-P)*w,C=(-E+P)*w;if(S>=0&&S<=1&&(s.lerp(u,n,a,S),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,S,d,-1),t.shouldStop(e))))return;if(C>=0&&C<=1&&(s.lerp(u,n,a,C),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,C,d,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},i.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},i.prototype.computeAABB=function(t,e,o){var i=this.radius;s.set(t.upperBound,i,i),s.set(t.lowerBound,-i,-i),e&&(s.add(t.lowerBound,t.lowerBound,e),s.add(t.upperBound,t.upperBound,e))};var a=s.create(),r=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,c=e.to,h=this.radius,l=Math.pow(c[0]-n[0],2)+Math.pow(c[1]-n[1],2),p=2*((c[0]-n[0])*(n[0]-o[0])+(c[1]-n[1])*(n[1]-o[1])),u=Math.pow(n[0]-o[0],2)+Math.pow(n[1]-o[1],2)-Math.pow(h,2),d=Math.pow(p,2)-4*l*u,f=a,v=r;if(!(d<0))if(0===d)s.lerp(f,n,c,d),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,d,v,-1);else{var y=Math.sqrt(d),m=1/(2*l),g=(-p-y)*m,A=(-p+y)*m;if(g>=0&&g<=1&&(s.lerp(f,n,c,g),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,g,v,-1),t.shouldStop(e)))return;A>=0&&A<=1&&(s.lerp(f,n,c,A),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,A,v,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,o){function i(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],o=0;on)&&(n=i),(null===a||in){var h=a;a=n,n=h}s.set(e,a,n)},i.prototype.projectOntoWorldAxis=function(t,e,o,i){var n=c;this.projectOntoLocalAxis(t,i),0!==o?s.rotate(n,t,o):n=t;var a=s.dot(e,n);s.set(i,i[0]+a,i[1]+a)},i.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=i)}this.boundingRadius=Math.sqrt(e)},i.triangleArea=function(t,e,o){return.5*((e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1]))},i.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,o=0;o!==t.length;o++){var n=t[o],s=e[n[0]],a=e[n[1]],r=e[n[2]],c=i.triangleArea(s,a,r);this.area+=c}},i.prototype.computeAABB=function(t,e,o){t.setFromPoints(this.vertices,e,o,0)};var f=s.create(),v=s.create(),y=s.create();i.prototype.raycast=function(t,e,o,i){var n=f,a=v,r=y,c=this.vertices;s.toLocalFrame(n,e.from,o,i),s.toLocalFrame(a,e.to,o,i);for(var h=c.length,l=0;l=0&&(s.sub(r,u,p),s.rotate(r,r,-Math.PI/2+i),s.normalize(r,r),e.reportIntersection(t,d,r,l))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,o){function i(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],o=t[0],i=0;i!==t.length;i++){var n=t[i];n>e&&(e=n),ng){var A=m;m=g,g=A}for(var b=0;b=0&&(s.sub(u,f,d),s.rotate(u,u,i+Math.PI/2),s.normalize(u,u),e.reportIntersection(t,E,u,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var a=[s.create(),s.create()];i.prototype.computeAABB=function(t,e,o){var i=this.length/2;s.set(a[0],-i,0),s.set(a[1],i,0),t.setFromPoints(a,e,o,0)};s.create();var r=s.create(),c=s.create(),h=s.create(),l=s.fromValues(0,1);i.prototype.raycast=function(t,e,o,i){var n=e.from,a=e.to,p=c,u=h,d=this.length/2;s.set(p,-d,0),s.set(u,d,0),s.toGlobalFrame(p,p,o,i),s.toGlobalFrame(u,u,o,i);var f=s.getLineSegmentsIntersectionFraction(p,u,n,a);if(f>=0){var v=r;s.rotate(v,l,i),e.reportIntersection(t,f,v,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,o){function i(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=0},i.prototype.computeAABB=function(t,e,o){s.copy(t.lowerBound,e),s.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,o){function i(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},i.prototype.computeAABB=function(t,e,o){var i=o%(2*Math.PI),n=s.set,a=t.lowerBound,r=t.upperBound;n(a,-1e7,-1e7),n(r,1e7,1e7),0===i?r[1]=0:i===Math.PI/2?a[0]=0:i===Math.PI?a[1]=0:i===3*Math.PI/2&&(r[0]=0)},i.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var a=s.create(),r=(s.create(),s.create(),s.create()),c=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,h=e.to,l=e.direction,p=a,u=r,d=c;s.set(u,0,1),s.rotate(u,u,i),s.sub(d,n,o);var f=s.dot(d,u);if(s.sub(d,h,o),!(f*s.dot(d,u)>0||s.squaredDistance(n,h)d*r&&(v=d*r-p),s[t]+=v,e.addToWlambda(v),v}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,o){function i(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var s={bodies:[]};i.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),s.bodies.length=0,e.getBodies(s.bodies),s.bodies.length&&this.solve(t,s))},i.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},i.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},i.prototype.addEquations=function(t){for(var e=0,o=t.length;e!==o;e++){var i=t[e];i.enabled&&this.equations.push(i)}},i.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},i.prototype.removeAllEquations=function(){this.equations.length=0},i.GS=1,i.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/ContactEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/FrictionEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/IslandNode"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/Island"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,o){function i(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new s({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),s=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=i,i.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,o=t.keys.length;o--;){var i=t.keys[o],n=t.getByKey(i);e.getByKey(i);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},i.prototype.setOverlapping=function(t,e,o,i){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,i.id)){var s=this.recordPool.get();s.set(t,e,o,i),n.set(e.id,i.id,s)}},i.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},i.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},i.prototype.bodiesAreOverlapping=function(t,e){for(var o=this.overlappingShapesCurrentState,i=o.keys.length;i--;){var n=o.keys[i],s=o.data[n];if(s.bodyA===t&&s.bodyB===e||s.bodyA===e&&s.bodyB===t)return!0}return!1},i.prototype.getDiff=function(t,e,o){var i=t,n=e;(o=o||[]).length=0;for(var s=n.keys.length;s--;){var a=n.keys[s],r=n.data[a];if(!r)throw new Error("Key "+a+" had no data!");i.data[a]||o.push(r)}return o},i.prototype.isNewOverlap=function(t,e){var o=0|t.id,i=0|e.id,n=this.overlappingShapesLastState,s=this.overlappingShapesCurrentState;return!n.get(o,i)&&!!s.get(o,i)},i.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getBodyDiff=function(t,e){e=e||[];for(var o=this.tmpDict,i=t.length;i--;){var n=t[i];o.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(i=o.keys.length;i--;)(n=o.getByKey(o.keys[i]))&&e.push(n.bodyA,n.bodyB);return o.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,o){function i(t,e,o,i){this.shapeA=e,this.shapeB=i,this.bodyA=t,this.bodyB=o}e.exports=i,i.prototype.set=function(t,e,o,n){i.call(this,t,e,o,n)}},{}],54:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,o){function i(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=i,i.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},i.prototype.getByKey=function(t){return t|=0,this.data[t]},i.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},i.prototype.set=function(t,e,o){if(!o)throw new Error("No data!");var i=this.getKey(t,e);return this.data[i]||this.keys.push(i),this.data[i]=o,i},i.prototype.reset=function(){for(var t=this.data,e=this.keys,o=e.length;o--;)delete t[e[o]];e.length=0},i.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var o=t.keys[e];this.data[o]=t.data[o]}}},{"./Utils":57}],57:[function(t,e,o){function i(){}e.exports=i,i.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var o=0,i=e.length;o!==i;++o)t.push(e[o])},i.splice=function(t,e,o){o=o||1;for(var i=e,n=t.length-o;i=t&&i=0;q-=2)for(S=b.length-2;S>=0;S-=2)(B[q]===b[S]&&B[q+1]===b[S+1]||B[q+1]===b[S]&&B[q]===b[S+1])&&b.splice(S,2);X=p.length;for(q=0;q!==X;q++){var w=p[q];if(!w.collideConnected)for(var S=b.length-2;S>=0;S-=2)(w.bodyA===b[S]&&w.bodyB===b[S+1]||w.bodyB===b[S]&&w.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,l.reset(this);for(var q=0,C=b.length;q!==C;q+=2)for(var L=b[q],x=b[q+1],F=0,M=L.shapes.length;F!==M;F++)for(var I=L.shapes[F],R=I.position,V=I.angle,T=0,N=x.shapes.length;T!==N;T++){var G=x.shapes[T],O=G.position,U=G.angle,k=this.defaultContactMaterial;if(I.material&&G.material){var _=this.getContactMaterial(I.material,G.material);_&&(k=_)}this.runNarrowphase(l,L,I,R,V,x,G,O,U,k,this.frictionGravity)}for(q=0;q!==c;q++)(z=n[q])._wakeUpAfterNarrowphase&&(z.wakeUp(),z._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var D=this.endContactEvent,T=P.length;T--;){var W=P[T];D.shapeA=W.shapeA,D.shapeB=W.shapeB,D.bodyA=W.bodyA,D.bodyB=W.bodyB,this.emit(D)}P.length=0}var j=this.preSolveEvent;j.contactEquations=l.contactEquations,j.frictionEquations=l.frictionEquations,this.emit(j),j.contactEquations=j.frictionEquations=null;var X=p.length;for(q=0;q!==X;q++)p[q].update();if(l.contactEquations.length||l.frictionEquations.length||X)if(this.islandSplit){for(v.equations.length=0,g.appendArray(v.equations,l.contactEquations),g.appendArray(v.equations,l.frictionEquations),q=0;q!==X;q++)g.appendArray(v.equations,p[q].equations);v.split(this);for(q=0;q!==v.islands.length;q++)(H=v.islands[q]).equations.length&&r.solveIsland(t,H)}else{for(r.addEquations(l.contactEquations),r.addEquations(l.frictionEquations),q=0;q!==X;q++)r.addEquations(p[q].equations);this.solveConstraints&&r.solve(t,this),r.removeAllEquations()}for(q=0;q!==c;q++){var z=n[q];z.integrate(t)}for(q=0;q!==c;q++)n[q].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,q=0;q!==l.contactEquations.length;q++){var K=l.contactEquations[q];K.firstImpact&&(Y.bodyA=K.bodyA,Y.bodyB=K.bodyB,Y.shapeA=K.shapeA,Y.shapeB=K.shapeB,Y.contactEquation=K,this.emit(Y))}if(this.sleepMode===i.BODY_SLEEPING)for(q=0;q!==c;q++)n[q].sleepTick(this.time,!1,t);else if(this.sleepMode===i.ISLAND_SLEEPING&&this.islandSplit){for(q=0;q!==c;q++)n[q].sleepTick(this.time,!0,t);for(q=0;q0,t.frictionCoefficient=l.friction;var v;v=e.type===u.STATIC||e.type===u.KINEMATIC?a.mass:a.type===u.STATIC||a.type===u.KINEMATIC?e.mass:e.mass*a.mass/(e.mass+a.mass),t.slipForce=l.friction*p*v,t.restitution=l.restitution,t.surfaceVelocity=l.surfaceVelocity,t.frictionStiffness=l.frictionStiffness,t.frictionRelaxation=l.frictionRelaxation,t.stiffness=l.stiffness,t.relaxation=l.relaxation,t.contactSkinSize=l.contactSkinSize,t.enabledEquations=e.collisionResponse&&a.collisionResponse&&o.collisionResponse&&r.collisionResponse;var y=t[o.type|r.type],m=0;if(y){var g=o.sensor||r.sensor,A=t.frictionEquations.length;m=o.type=2*Math.pow(a.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),a.allowSleep&&a.type===u.DYNAMIC&&a.sleepState===u.SLEEPING&&e.sleepState===u.AWAKE&&e.type!==u.STATIC&&s.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(a._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,o,a,r),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(o,r)){var E=this.beginContactEvent;if(E.shapeA=o,E.shapeB=r,E.bodyA=e,E.bodyB=a,E.contactEquations.length=0,"number"==typeof m)for(P=t.contactEquations.length-m;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var o=this.bodies,e=o.length-1;e>=0;e--)this.removeBody(o[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var s=this.contactMaterials,e=s.length-1;e>=0;e--)this.removeContactMaterial(s[e]);i.apply(this)};var w=s.create(),S=(s.fromValues(0,0),s.fromValues(0,0));i.prototype.hitTest=function(t,e,o){o=o||0;var i=new u({position:t}),n=new l,p=t,d=w,f=S;i.addShape(n);for(var v=this.narrowphase,y=[],m=0,g=e.length;m!==g;m++)for(var A=e[m],b=0,E=A.shapes.length;b!==E;b++){var B=A.shapes[b];s.rotate(d,B.position,A.angle),s.add(d,d,A.position);var q=B.angle+A.angle;(B instanceof a&&v.circleParticle(A,B,d,q,i,n,p,0,!0)||B instanceof r&&v.particleConvex(i,n,p,0,A,B,d,q,!0)||B instanceof c&&v.particlePlane(i,n,p,0,A,B,d,q,!0)||B instanceof h&&v.particleCapsule(i,n,p,0,A,B,d,q,!0)||B instanceof l&&s.squaredLength(s.sub(f,d,t))=0&&c<=1&&h>=0&&h<=1}},{"./Scalar":4}],2:[function(t,e,o){function i(){}e.exports=i,i.area=function(t,e,o){return(e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1])},i.left=function(t,e,o){return i.area(t,e,o)>0},i.leftOn=function(t,e,o){return i.area(t,e,o)>=0},i.right=function(t,e,o){return i.area(t,e,o)<0},i.rightOn=function(t,e,o){return i.area(t,e,o)<=0};var n=[],s=[];i.collinear=function(t,e,o,a){if(a){var r=n,c=s;r[0]=e[0]-t[0],r[1]=e[1]-t[1],c[0]=o[0]-e[0],c[1]=o[1]-e[1];var h=r[0]*c[0]+r[1]*c[1],l=Math.sqrt(r[0]*r[0]+r[1]*r[1]),p=Math.sqrt(c[0]*c[0]+c[1]*c[1]);return Math.acos(h/(l*p))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var i=e;ie[t][0])&&(t=o);a.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},i.prototype.reverse=function(){for(var t=[],e=0,o=this.vertices.length;e!==o;e++)t.push(this.vertices.pop());this.vertices=t},i.prototype.isReflex=function(t){return a.right(this.at(t-1),this.at(t),this.at(t+1))};var c=[],h=[];i.prototype.canSee=function(t,e){var o,i,n=c,r=h;if(a.leftOn(this.at(t+1),this.at(t),this.at(e))&&a.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;i=a.sqdist(this.at(t),this.at(e));for(var l=0;l!==this.vertices.length;++l)if((l+1)%this.vertices.length!==t&&l!==t&&a.leftOn(this.at(t),this.at(e),this.at(l+1))&&a.rightOn(this.at(t),this.at(e),this.at(l))&&(n[0]=this.at(t),n[1]=this.at(e),r[0]=this.at(l),r[1]=this.at(l+1),o=s.lineInt(n,r),a.sqdist(this.at(t),o)0?this.slice(t):[this]},i.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],o=0;or)return console.warn("quickDecomp: max level ("+r+") reached."),t;for(var q=0;qy&&(y+=this.vertices.length),v=Number.MAX_VALUE,y3&&o>=0;--o)a.collinear(this.at(o-1),this.at(o),this.at(o+1),t)&&(this.vertices.splice(o%this.vertices.length,1),o--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,o){function i(){}e.exports=i,i.eq=function(t,e,o){return o=o||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,o){function i(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=i;var s=n.create();i.prototype.setFromPoints=function(t,e,o,i){var a=this.lowerBound,r=this.upperBound;"number"!=typeof o&&(o=0),0!==o?n.rotate(a,t[0],o):n.copy(a,t[0]),n.copy(r,a);for(var c=Math.cos(o),h=Math.sin(o),l=1;lr[f]&&(r[f]=p[f]),p[f]o&&(this.lowerBound[e]=o);var i=t.upperBound[e];this.upperBound[e]c?-1:r}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,o){function i(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=i.AABB}var n=t("../math/vec2"),s=t("../objects/Body");e.exports=i,i.AABB=1,i.BOUNDING_CIRCLE=2,i.prototype.setWorld=function(t){this.world=t},i.prototype.getCollisionPairs=function(t){};var a=n.create();i.boundingRadiusCheck=function(t,e){n.sub(a,t.position,e.position);var o=n.squaredLength(a),i=t.boundingRadius+e.boundingRadius;return o<=i*i},i.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},i.prototype.boundingVolumeCheck=function(t,e){var o;switch(this.boundingVolumeType){case i.BOUNDING_CIRCLE:o=i.boundingRadiusCheck(t,e);break;case i.AABB:o=i.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return o},i.canCollide=function(t,e){var o=s.KINEMATIC,i=s.STATIC;return(t.type!==i||e.type!==i)&&(!(t.type===o&&e.type===i||t.type===i&&e.type===o)&&((t.type!==o||e.type!==o)&&((t.sleepState!==s.SLEEPING||e.sleepState!==s.SLEEPING)&&!(t.sleepState===s.SLEEPING&&e.type===i||e.sleepState===s.SLEEPING&&t.type===i))))},i.NAIVE=1,i.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,o){function i(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.getCollisionPairs=function(t){var e=t.bodies,o=this.result;o.length=0;for(var i=0,s=e.length;i!==s;i++)for(var a=e[i],r=0;rK&&Y0)for(U=0;UMath.pow(v,2))return 0;if(p)return!0;var y=this.createContactEquation(t,n,e,s);return r(y.normalA,h,o),a.normalize(y.normalA,y.normalA),a.scale(y.contactPointA,y.normalA,u),a.scale(y.contactPointB,y.normalA,-d),c(y.contactPointA,y.contactPointA,o),r(y.contactPointA,y.contactPointA,t.position),c(y.contactPointB,y.contactPointB,h),r(y.contactPointB,y.contactPointB,n.position),this.contactEquations.push(y),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(y)),1},i.prototype[y.PLANE|y.CONVEX]=i.prototype[y.PLANE|y.BOX]=i.prototype.planeConvex=function(t,e,o,i,n,s,l,p,u){var d=A,f=b,v=E,y=0;a.rotate(f,g,i);for(var m=0;m!==s.vertices.length;m++){var B=s.vertices[m];if(a.rotate(d,B,p),c(d,d,l),r(v,d,o),h(v,f)<=0){if(u)return!0;y++;var q=this.createContactEquation(t,n,e,s);r(v,d,o),a.copy(q.normalA,f);var P=h(v,q.normalA);a.scale(v,q.normalA,P),r(q.contactPointB,d,n.position),r(q.contactPointA,d,v),r(q.contactPointA,q.contactPointA,t.position),this.contactEquations.push(q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(q))}}return this.enableFrictionReduction&&this.enableFriction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},i.prototype[y.PARTICLE|y.PLANE]=i.prototype.particlePlane=function(t,e,o,i,n,s,c,l,p){var u=A,d=b;l=l||0,r(u,o,c),a.rotate(d,g,l);var f=h(u,d);if(f>0)return 0;if(p)return!0;var v=this.createContactEquation(n,t,s,e);return a.copy(v.normalA,d),a.scale(u,v.normalA,f),r(v.contactPointA,o,u),r(v.contactPointA,v.contactPointA,n.position),r(v.contactPointB,o,t.position),this.contactEquations.push(v),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(v)),1},i.prototype[y.CIRCLE|y.PARTICLE]=i.prototype.circleParticle=function(t,e,o,i,n,s,h,l,p){var u=A;if(r(u,h,o),a.squaredLength(u)>Math.pow(e.radius,2))return 0;if(p)return!0;var d=this.createContactEquation(t,n,e,s);return a.copy(d.normalA,u),a.normalize(d.normalA,d.normalA),a.scale(d.contactPointA,d.normalA,e.radius),c(d.contactPointA,d.contactPointA,o),r(d.contactPointA,d.contactPointA,t.position),r(d.contactPointB,h,n.position),this.contactEquations.push(d),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(d)),1};var H=new f({radius:1}),Z=a.create(),J=a.create();a.create();i.prototype[y.PLANE|y.CAPSULE]=i.prototype.planeCapsule=function(t,e,o,i,n,s,r,h,l){var p=Z,u=J,d=H;a.set(p,-s.length/2,0),a.rotate(p,p,h),c(p,p,r),a.set(u,s.length/2,0),a.rotate(u,u,h),c(u,u,r),d.radius=s.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var v=this.circlePlane(n,d,p,0,t,e,o,i,l),y=this.circlePlane(n,d,u,0,t,e,o,i,l);if(this.enableFrictionReduction&&(this.enableFriction=f),l)return v||y;var m=v+y;return this.enableFrictionReduction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},i.prototype[y.CIRCLE|y.PLANE]=i.prototype.circlePlane=function(t,e,o,i,n,s,l,p,u){var d=t,f=e,v=o,y=n,m=l,B=p;B=B||0;var q=A,P=b,w=E;r(q,v,m),a.rotate(P,g,B);var S=h(P,q);if(S>f.radius)return 0;if(u)return!0;var C=this.createContactEquation(y,d,s,e);return a.copy(C.normalA,P),a.scale(C.contactPointB,C.normalA,-f.radius),c(C.contactPointB,C.contactPointB,v),r(C.contactPointB,C.contactPointB,d.position),a.scale(w,C.normalA,S),r(C.contactPointA,q,w),c(C.contactPointA,C.contactPointA,m),r(C.contactPointA,C.contactPointA,y.position),this.contactEquations.push(C),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(C)),1},i.prototype[y.CONVEX]=i.prototype[y.CONVEX|y.BOX]=i.prototype[y.BOX]=i.prototype.convexConvex=function(t,e,o,n,s,l,p,u,d,f){var v=A,y=b,m=E,g=B,P=q,L=w,x=S,F=C,M=0,f="number"==typeof f?f:0;if(!i.findSeparatingAxis(e,o,n,l,p,u,v))return 0;r(x,p,o),h(v,x)>0&&a.scale(v,v,-1);var I=i.getClosestEdge(e,n,v,!0),R=i.getClosestEdge(l,u,v);if(-1===I||-1===R)return 0;for(var V=0;V<2;V++){var T=I,N=R,G=e,O=l,U=o,k=p,_=n,D=u,W=t,j=s;if(0===V){var X;X=T,T=N,N=X,X=G,G=O,O=X,X=U,U=k,k=X,X=_,_=D,D=X,X=W,W=j,j=X}for(var z=N;z=3){if(d)return!0;var Q=this.createContactEquation(W,j,G,O);M++;var Z=G.vertices[T%G.vertices.length],J=G.vertices[(T+1)%G.vertices.length];a.rotate(m,Z,_),a.rotate(g,J,_),c(m,m,U),c(g,g,U),r(P,g,m),a.rotate90cw(Q.normalA,P),a.normalize(Q.normalA,Q.normalA),r(x,y,m);var $=h(Q.normalA,x);a.scale(L,Q.normalA,$),r(Q.contactPointA,y,U),r(Q.contactPointA,Q.contactPointA,L),c(Q.contactPointA,Q.contactPointA,U),r(Q.contactPointA,Q.contactPointA,W.position),r(Q.contactPointB,y,k),c(Q.contactPointB,Q.contactPointB,k),r(Q.contactPointB,Q.contactPointB,j.position),this.contactEquations.push(Q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Q))}}}return this.enableFrictionReduction&&this.enableFriction&&M&&this.frictionEquations.push(this.createFrictionFromAverage(M)),M};var Q=a.fromValues(0,0);i.projectConvexOntoAxis=function(t,e,o,i,n){var s,r,c=null,l=null,p=Q;a.rotate(p,i,-o);for(var u=0;uc)&&(c=r),(null===l||rc){var d=l;l=c,c=d}var f=h(e,i);a.set(n,l+f,c+f)};var $=a.fromValues(0,0),tt=a.fromValues(0,0),et=a.fromValues(0,0),ot=a.fromValues(0,0),it=a.fromValues(0,0),nt=a.fromValues(0,0);i.findSeparatingAxis=function(t,e,o,n,s,c,h){var l=null,p=!1,u=!1,d=$,f=tt,v=et,y=ot,g=it,A=nt;if(t instanceof m&&n instanceof m)for(P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(w=0;2!==w;w++){0===w?a.set(y,0,1):1===w&&a.set(y,1,0),0!==E&&a.rotate(y,y,E),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0),p=(S=q[0]-B[1])<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}else for(var P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(var w=0;w!==b.vertices.length;w++){a.rotate(f,b.vertices[w],E),a.rotate(v,b.vertices[(w+1)%b.vertices.length],E),r(d,v,f),a.rotate90cw(y,d),a.normalize(y,y),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0);var S=q[0]-B[1];p=S<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}return u};var st=a.fromValues(0,0),at=a.fromValues(0,0),rt=a.fromValues(0,0);i.getClosestEdge=function(t,e,o,i){var n=st,s=at,c=rt;a.rotate(n,o,-e),i&&a.scale(n,n,-1);for(var l=-1,p=t.vertices.length,u=-1,d=0;d!==p;d++){r(s,t.vertices[(d+1)%p],t.vertices[d%p]),a.rotate90cw(c,s),a.normalize(c,c);var f=h(c,n);(-1===l||f>u)&&(l=d%p,u=f)}return l};var ct=a.create(),ht=a.create(),lt=a.create(),pt=a.create(),ut=a.create(),dt=a.create(),ft=a.create();i.prototype[y.CIRCLE|y.HEIGHTFIELD]=i.prototype.circleHeightfield=function(t,e,o,i,n,s,h,l,p,u){var d=s.heights,u=u||e.radius,f=s.elementWidth,v=ht,y=ct,m=ut,g=ft,A=dt,b=lt,E=pt,B=Math.floor((o[0]-u-h[0])/f),q=Math.ceil((o[0]+u-h[0])/f);B<0&&(B=0),q>=d.length&&(q=d.length-1);for(var P=d[B],w=d[q],S=B;SP&&(P=d[S]);if(o[1]-u>P)return!p&&0;for(var C=!1,S=B;S=b[0]&&y[0]0)for(S=B;S<=q;S++)if(a.set(b,S*f,d[S]),a.add(b,b,h),a.sub(v,o,b),a.squaredLength(v)=l.length&&(m=l.length-1);for(var g=l[y],A=l[m],b=y;bg&&(g=l[b]);if(t.aabb.lowerBound[1]>g)return!h&&0;for(var E=0,b=y;b=0||s.containsPoint(this.from))&&this.intersectBody(t,n)}};var a=s.create();i.prototype.intersectBody=function(t,e){var o=this.checkCollisionResponse;if(!o||e.collisionResponse)for(var i=a,n=0,r=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=s,this._currentShape=e,e.raycast(t,this,i,o),this._currentBody=this._currentShape=null)},i.prototype.getAABB=function(t){var e=this.to,o=this.from;s.set(t.lowerBound,Math.min(e[0],o[0]),Math.min(e[1],o[1])),s.set(t.upperBound,Math.max(e[0],o[0]),Math.max(e[1],o[1]))};s.create();i.prototype.reportIntersection=function(t,e,o,n){this.from,this.to;var a=this._currentShape,r=this._currentBody;if(!(this.skipBackfaces&&s.dot(o,this.direction)>0))switch(this.mode){case i.ALL:t.set(o,a,r,e,n),this.callback(t);break;case i.CLOSEST:(e=0&&!(t[s].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);s--)t[s+1]=t[s];t[s+1]=n}return t},i.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;i.sortAxisList(t,e)},i.prototype.getCollisionPairs=function(t){var e=this.axisList,o=this.result,i=this.axisIndex;o.length=0;for(var n=e.length;n--;){var a=e[n];a.aabbNeedsUpdate&&a.updateAABB()}this.sortList();for(var r=0,c=0|e.length;r!==c;r++)for(var h=e[r],l=r+1;lthis.upperLimit&&(s.maxForce=0,s.minForce=-this.maxForce,this.distance=this.upperLimit,p=!0),this.lowerLimitEnabled&&this.positiono?(r.scale(n.normalA,h,-1),r.sub(n.contactPointA,l,a.position),r.sub(n.contactPointB,p,c.position),r.scale(f,h,o),r.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&gr?(f.angle=r,-1===n.indexOf(f)&&n.push(f)):-1!==(m=n.indexOf(f))&&n.splice(m,1),this.lowerLimitEnabled&&y>1;if(e<3)return[];for(var o=[],n=[],s=0;s3;){var r=n[(s+0)%a],c=n[(s+1)%a],h=n[(s+2)%a],l=t[2*r],p=t[2*r+1],u=t[2*c],d=t[2*c+1],f=t[2*h],v=t[2*h+1],y=!1;if(i._convex(l,p,u,d,f,v)){y=!0;for(var m=0;m3*a)break}return o.push(n[0],n[1],n[2]),o},i._PointInTriangle=function(t,e,o,i,n,s,a,r){var c=a-o,h=r-i,l=n-o,p=s-i,u=t-o,d=e-i,f=c*c+h*h,v=c*l+h*p,y=c*u+h*d,m=l*l+p*p,g=l*u+p*d,A=1/(f*m-v*v),b=(m*y-v*g)*A,E=(f*g-v*y)*A;return b>=0&&E>=0&&b+E<1},i._convex=function(t,e,o,i,n,s){return(e-i)*(n-o)+(o-t)*(s-i)>=0},e.exports=i},{}],30:[function(t,e,o){var i=e.exports={},n=t("../utils/Utils");i.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},i.crossVZ=function(t,e,o){return i.rotate(t,e,-Math.PI/2),i.scale(t,t,o),t},i.crossZV=function(t,e,o){return i.rotate(t,o,Math.PI/2),i.scale(t,t,e),t},i.rotate=function(t,e,o){if(0!==o){var i=Math.cos(o),n=Math.sin(o),s=e[0],a=e[1];t[0]=i*s-n*a,t[1]=n*s+i*a}else t[0]=e[0],t[1]=e[1]},i.rotate90cw=function(t,e){var o=e[0],i=e[1];t[0]=i,t[1]=-o},i.toLocalFrame=function(t,e,o,n){i.copy(t,e),i.sub(t,t,o),i.rotate(t,t,-n)},i.toGlobalFrame=function(t,e,o,n){i.copy(t,e),i.rotate(t,t,n),i.add(t,t,o)},i.vectorToLocalFrame=function(t,e,o){i.rotate(t,e,-o)},i.vectorToGlobalFrame=function(t,e,o){i.rotate(t,e,o)},i.centroid=function(t,e,o,n){return i.add(t,e,o),i.add(t,t,n),i.scale(t,t,1/3),t},i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var o=new n.ARRAY_TYPE(2);return o[0]=t,o[1]=e,o},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,o){return t[0]=e,t[1]=o,t},i.add=function(t,e,o){return t[0]=e[0]+o[0],t[1]=e[1]+o[1],t},i.subtract=function(t,e,o){return t[0]=e[0]-o[0],t[1]=e[1]-o[1],t},i.sub=i.subtract,i.multiply=function(t,e,o){return t[0]=e[0]*o[0],t[1]=e[1]*o[1],t},i.mul=i.multiply,i.divide=function(t,e,o){return t[0]=e[0]/o[0],t[1]=e[1]/o[1],t},i.div=i.divide,i.scale=function(t,e,o){return t[0]=e[0]*o,t[1]=e[1]*o,t},i.distance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return Math.sqrt(o*o+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return o*o+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],o=t[1];return Math.sqrt(e*e+o*o)},i.len=i.length,i.squaredLength=function(t){var e=t[0],o=t[1];return e*e+o*o},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.normalize=function(t,e){var o=e[0],i=e[1],n=o*o+i*i;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},i.lerp=function(t,e,o,i){var n=e[0],s=e[1];return t[0]=n+i*(o[0]-n),t[1]=s+i*(o[1]-s),t},i.reflect=function(t,e,o){var i=e[0]*o[0]+e[1]*o[1];t[0]=e[0]-2*o[0]*i,t[1]=e[1]-2*o[1]*i},i.getLineSegmentsIntersection=function(t,e,o,n,s){var a=i.getLineSegmentsIntersectionFraction(e,o,n,s);return!(a<0)&&(t[0]=e[0]+a*(o[0]-e[0]),t[1]=e[1]+a*(o[1]-e[1]),!0)},i.getLineSegmentsIntersectionFraction=function(t,e,o,i){var n,s,a=e[0]-t[0],r=e[1]-t[1],c=i[0]-o[0],h=i[1]-o[1];return n=(-r*(t[0]-o[0])+a*(t[1]-o[1]))/(-c*r+a*h),s=(c*(t[1]-o[1])-h*(t[0]-o[0]))/(-c*r+a*h),n>=0&&n<=1&&s>=0&&s<=1?s:-1}},{"../utils/Utils":57}],31:[function(t,e,o){function i(t){t=t||{},l.call(this),this.id=t.id||++i._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=i.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=i.DYNAMIC:this.type=i.STATIC,this.boundingRadius=0,this.aabb=new h,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=i.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),s=t("poly-decomp"),a=t("../shapes/Convex"),r=t("../collision/RaycastResult"),c=t("../collision/Ray"),h=t("../collision/AABB"),l=t("../events/EventEmitter");e.exports=i,i.prototype=new l,i.prototype.constructor=i,i._idCounter=0,i.prototype.updateSolveMassProperties=function(){this.sleepState===i.SLEEPING||this.type===i.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},i.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},i.prototype.getArea=function(){for(var t=0,e=0;eo&&(o=a+r)}this.boundingRadius=o},i.prototype.addShape=function(t,e,o){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=o||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},i.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},i.prototype.updateMassProperties=function(){if(this.type===i.STATIC||this.type===i.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,o=this.mass/e,s=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var a=0;a0?1/s:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();i.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var o=n.crossLength(e,t);this.angularForce+=o}};var d=n.create(),f=n.create(),v=n.create();i.prototype.applyForceLocal=function(t,e){e=e||v;var o=d,i=f;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyForce(o,i)};var y=n.create();i.prototype.applyImpulse=function(t,e){if(this.type===i.DYNAMIC){var o=y;if(n.scale(o,t,this.invMass),n.multiply(o,this.massMultiplier,o),n.add(this.velocity,o,this.velocity),e){var s=n.crossLength(e,t);s*=this.invInertia,this.angularVelocity+=s}}};var m=n.create(),g=n.create(),A=n.create();i.prototype.applyImpulseLocal=function(t,e){e=e||A;var o=m,i=g;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyImpulse(o,i)},i.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},i.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},i.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},i.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},i.prototype.fromPolygon=function(t,e){e=e||{};for(c=this.shapes.length;c>=0;--c)this.removeShape(this.shapes[c]);var o=new s.Polygon;if(o.vertices=t,o.makeCCW(),"number"==typeof e.removeCollinearPoints&&o.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!o.isSimple())return!1;this.concavePath=o.vertices.slice(0);for(c=0;c=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=i.AWAKE):(this.idleTime+=o,this.sleepState=i.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},i.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var q=n.create(),P=n.create();i.prototype.integrate=function(t){var e=this.invMass,o=this.force,i=this.position,s=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(q,o,t*e),n.multiply(q,this.massMultiplier,q),n.add(s,q,s),this.integrateToTimeOfImpact(t)||(n.scale(P,s,t),n.add(i,i,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var w=new r,S=new c({mode:c.ALL}),C=n.create(),L=n.create(),x=n.create(),F=n.create();i.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=h&&c=0&&(s.rotate(d,p,i),s.scale(d,d,2*m-1),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}for(var A=Math.pow(this.radius,2)+Math.pow(y,2),m=0;m<2;m++){s.set(f,y*(2*m-1),0),s.toGlobalFrame(f,f,o,i);var b=Math.pow(a[0]-n[0],2)+Math.pow(a[1]-n[1],2),E=2*((a[0]-n[0])*(n[0]-f[0])+(a[1]-n[1])*(n[1]-f[1])),B=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),q=Math.pow(E,2)-4*b*B;if(!(q<0))if(0===q){if(s.lerp(u,n,a,q),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(q),w=1/(2*b),S=(-E-P)*w,C=(-E+P)*w;if(S>=0&&S<=1&&(s.lerp(u,n,a,S),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,S,d,-1),t.shouldStop(e))))return;if(C>=0&&C<=1&&(s.lerp(u,n,a,C),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,C,d,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},i.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},i.prototype.computeAABB=function(t,e,o){var i=this.radius;s.set(t.upperBound,i,i),s.set(t.lowerBound,-i,-i),e&&(s.add(t.lowerBound,t.lowerBound,e),s.add(t.upperBound,t.upperBound,e))};var a=s.create(),r=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,c=e.to,h=this.radius,l=Math.pow(c[0]-n[0],2)+Math.pow(c[1]-n[1],2),p=2*((c[0]-n[0])*(n[0]-o[0])+(c[1]-n[1])*(n[1]-o[1])),u=Math.pow(n[0]-o[0],2)+Math.pow(n[1]-o[1],2)-Math.pow(h,2),d=Math.pow(p,2)-4*l*u,f=a,v=r;if(!(d<0))if(0===d)s.lerp(f,n,c,d),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,d,v,-1);else{var y=Math.sqrt(d),m=1/(2*l),g=(-p-y)*m,A=(-p+y)*m;if(g>=0&&g<=1&&(s.lerp(f,n,c,g),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,g,v,-1),t.shouldStop(e)))return;A>=0&&A<=1&&(s.lerp(f,n,c,A),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,A,v,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,o){function i(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],o=0;on)&&(n=i),(null===a||in){var h=a;a=n,n=h}s.set(e,a,n)},i.prototype.projectOntoWorldAxis=function(t,e,o,i){var n=c;this.projectOntoLocalAxis(t,i),0!==o?s.rotate(n,t,o):n=t;var a=s.dot(e,n);s.set(i,i[0]+a,i[1]+a)},i.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=i)}this.boundingRadius=Math.sqrt(e)},i.triangleArea=function(t,e,o){return.5*((e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1]))},i.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,o=0;o!==t.length;o++){var n=t[o],s=e[n[0]],a=e[n[1]],r=e[n[2]],c=i.triangleArea(s,a,r);this.area+=c}},i.prototype.computeAABB=function(t,e,o){t.setFromPoints(this.vertices,e,o,0)};var f=s.create(),v=s.create(),y=s.create();i.prototype.raycast=function(t,e,o,i){var n=f,a=v,r=y,c=this.vertices;s.toLocalFrame(n,e.from,o,i),s.toLocalFrame(a,e.to,o,i);for(var h=c.length,l=0;l=0&&(s.sub(r,u,p),s.rotate(r,r,-Math.PI/2+i),s.normalize(r,r),e.reportIntersection(t,d,r,l))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,o){function i(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],o=t[0],i=0;i!==t.length;i++){var n=t[i];n>e&&(e=n),ng){var A=m;m=g,g=A}for(var b=0;b=0&&(s.sub(u,f,d),s.rotate(u,u,i+Math.PI/2),s.normalize(u,u),e.reportIntersection(t,E,u,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var a=[s.create(),s.create()];i.prototype.computeAABB=function(t,e,o){var i=this.length/2;s.set(a[0],-i,0),s.set(a[1],i,0),t.setFromPoints(a,e,o,0)};s.create();var r=s.create(),c=s.create(),h=s.create(),l=s.fromValues(0,1);i.prototype.raycast=function(t,e,o,i){var n=e.from,a=e.to,p=c,u=h,d=this.length/2;s.set(p,-d,0),s.set(u,d,0),s.toGlobalFrame(p,p,o,i),s.toGlobalFrame(u,u,o,i);var f=s.getLineSegmentsIntersectionFraction(p,u,n,a);if(f>=0){var v=r;s.rotate(v,l,i),e.reportIntersection(t,f,v,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,o){function i(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=0},i.prototype.computeAABB=function(t,e,o){s.copy(t.lowerBound,e),s.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,o){function i(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},i.prototype.computeAABB=function(t,e,o){var i=o%(2*Math.PI),n=s.set,a=t.lowerBound,r=t.upperBound;n(a,-1e7,-1e7),n(r,1e7,1e7),0===i?r[1]=0:i===Math.PI/2?a[0]=0:i===Math.PI?a[1]=0:i===3*Math.PI/2&&(r[0]=0)},i.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var a=s.create(),r=(s.create(),s.create(),s.create()),c=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,h=e.to,l=e.direction,p=a,u=r,d=c;s.set(u,0,1),s.rotate(u,u,i),s.sub(d,n,o);var f=s.dot(d,u);if(s.sub(d,h,o),!(f*s.dot(d,u)>0||s.squaredDistance(n,h)d*r&&(v=d*r-p),s[t]+=v,e.addToWlambda(v),v}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,o){function i(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var s={bodies:[]};i.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),s.bodies.length=0,e.getBodies(s.bodies),s.bodies.length&&this.solve(t,s))},i.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},i.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},i.prototype.addEquations=function(t){for(var e=0,o=t.length;e!==o;e++){var i=t[e];i.enabled&&this.equations.push(i)}},i.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},i.prototype.removeAllEquations=function(){this.equations.length=0},i.GS=1,i.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/ContactEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/FrictionEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/IslandNode"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/Island"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,o){function i(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new s({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),s=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=i,i.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,o=t.keys.length;o--;){var i=t.keys[o],n=t.getByKey(i);e.getByKey(i);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},i.prototype.setOverlapping=function(t,e,o,i){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,i.id)){var s=this.recordPool.get();s.set(t,e,o,i),n.set(e.id,i.id,s)}},i.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},i.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},i.prototype.bodiesAreOverlapping=function(t,e){for(var o=this.overlappingShapesCurrentState,i=o.keys.length;i--;){var n=o.keys[i],s=o.data[n];if(s.bodyA===t&&s.bodyB===e||s.bodyA===e&&s.bodyB===t)return!0}return!1},i.prototype.getDiff=function(t,e,o){var i=t,n=e;(o=o||[]).length=0;for(var s=n.keys.length;s--;){var a=n.keys[s],r=n.data[a];if(!r)throw new Error("Key "+a+" had no data!");i.data[a]||o.push(r)}return o},i.prototype.isNewOverlap=function(t,e){var o=0|t.id,i=0|e.id,n=this.overlappingShapesLastState,s=this.overlappingShapesCurrentState;return!n.get(o,i)&&!!s.get(o,i)},i.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getBodyDiff=function(t,e){e=e||[];for(var o=this.tmpDict,i=t.length;i--;){var n=t[i];o.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(i=o.keys.length;i--;)(n=o.getByKey(o.keys[i]))&&e.push(n.bodyA,n.bodyB);return o.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,o){function i(t,e,o,i){this.shapeA=e,this.shapeB=i,this.bodyA=t,this.bodyB=o}e.exports=i,i.prototype.set=function(t,e,o,n){i.call(this,t,e,o,n)}},{}],54:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,o){function i(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=i,i.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},i.prototype.getByKey=function(t){return t|=0,this.data[t]},i.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},i.prototype.set=function(t,e,o){if(!o)throw new Error("No data!");var i=this.getKey(t,e);return this.data[i]||this.keys.push(i),this.data[i]=o,i},i.prototype.reset=function(){for(var t=this.data,e=this.keys,o=e.length;o--;)delete t[e[o]];e.length=0},i.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var o=t.keys[e];this.data[o]=t.data[o]}}},{"./Utils":57}],57:[function(t,e,o){function i(){}e.exports=i,i.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var o=0,i=e.length;o!==i;++o)t.push(e[o])},i.splice=function(t,e,o){o=o||1;for(var i=e,n=t.length-o;i=t&&i=0;q-=2)for(S=b.length-2;S>=0;S-=2)(B[q]===b[S]&&B[q+1]===b[S+1]||B[q+1]===b[S]&&B[q]===b[S+1])&&b.splice(S,2);X=p.length;for(q=0;q!==X;q++){var w=p[q];if(!w.collideConnected)for(var S=b.length-2;S>=0;S-=2)(w.bodyA===b[S]&&w.bodyB===b[S+1]||w.bodyB===b[S]&&w.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,l.reset(this);for(var q=0,C=b.length;q!==C;q+=2)for(var L=b[q],x=b[q+1],F=0,M=L.shapes.length;F!==M;F++)for(var I=L.shapes[F],R=I.position,V=I.angle,T=0,N=x.shapes.length;T!==N;T++){var G=x.shapes[T],O=G.position,U=G.angle,k=this.defaultContactMaterial;if(I.material&&G.material){var _=this.getContactMaterial(I.material,G.material);_&&(k=_)}this.runNarrowphase(l,L,I,R,V,x,G,O,U,k,this.frictionGravity)}for(q=0;q!==c;q++)(z=n[q])._wakeUpAfterNarrowphase&&(z.wakeUp(),z._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var D=this.endContactEvent,T=P.length;T--;){var W=P[T];D.shapeA=W.shapeA,D.shapeB=W.shapeB,D.bodyA=W.bodyA,D.bodyB=W.bodyB,this.emit(D)}P.length=0}var j=this.preSolveEvent;j.contactEquations=l.contactEquations,j.frictionEquations=l.frictionEquations,this.emit(j),j.contactEquations=j.frictionEquations=null;var X=p.length;for(q=0;q!==X;q++)p[q].update();if(l.contactEquations.length||l.frictionEquations.length||X)if(this.islandSplit){for(v.equations.length=0,g.appendArray(v.equations,l.contactEquations),g.appendArray(v.equations,l.frictionEquations),q=0;q!==X;q++)g.appendArray(v.equations,p[q].equations);v.split(this);for(q=0;q!==v.islands.length;q++)(H=v.islands[q]).equations.length&&r.solveIsland(t,H)}else{for(r.addEquations(l.contactEquations),r.addEquations(l.frictionEquations),q=0;q!==X;q++)r.addEquations(p[q].equations);this.solveConstraints&&r.solve(t,this),r.removeAllEquations()}for(q=0;q!==c;q++){var z=n[q];z.integrate(t)}for(q=0;q!==c;q++)n[q].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,q=0;q!==l.contactEquations.length;q++){var K=l.contactEquations[q];K.firstImpact&&(Y.bodyA=K.bodyA,Y.bodyB=K.bodyB,Y.shapeA=K.shapeA,Y.shapeB=K.shapeB,Y.contactEquation=K,this.emit(Y))}if(this.sleepMode===i.BODY_SLEEPING)for(q=0;q!==c;q++)n[q].sleepTick(this.time,!1,t);else if(this.sleepMode===i.ISLAND_SLEEPING&&this.islandSplit){for(q=0;q!==c;q++)n[q].sleepTick(this.time,!0,t);for(q=0;q0,t.frictionCoefficient=l.friction;var v;v=e.type===u.STATIC||e.type===u.KINEMATIC?a.mass:a.type===u.STATIC||a.type===u.KINEMATIC?e.mass:e.mass*a.mass/(e.mass+a.mass),t.slipForce=l.friction*p*v,t.restitution=l.restitution,t.surfaceVelocity=l.surfaceVelocity,t.frictionStiffness=l.frictionStiffness,t.frictionRelaxation=l.frictionRelaxation,t.stiffness=l.stiffness,t.relaxation=l.relaxation,t.contactSkinSize=l.contactSkinSize,t.enabledEquations=e.collisionResponse&&a.collisionResponse&&o.collisionResponse&&r.collisionResponse;var y=t[o.type|r.type],m=0;if(y){var g=o.sensor||r.sensor,A=t.frictionEquations.length;m=o.type=2*Math.pow(a.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),a.allowSleep&&a.type===u.DYNAMIC&&a.sleepState===u.SLEEPING&&e.sleepState===u.AWAKE&&e.type!==u.STATIC&&s.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(a._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,o,a,r),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(o,r)){var E=this.beginContactEvent;if(E.shapeA=o,E.shapeB=r,E.bodyA=e,E.bodyB=a,E.contactEquations.length=0,"number"==typeof m)for(P=t.contactEquations.length-m;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var o=this.bodies,e=o.length-1;e>=0;e--)this.removeBody(o[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var s=this.contactMaterials,e=s.length-1;e>=0;e--)this.removeContactMaterial(s[e]);i.apply(this)};var w=s.create(),S=(s.fromValues(0,0),s.fromValues(0,0));i.prototype.hitTest=function(t,e,o){o=o||0;var i=new u({position:t}),n=new l,p=t,d=w,f=S;i.addShape(n);for(var v=this.narrowphase,y=[],m=0,g=e.length;m!==g;m++)for(var A=e[m],b=0,E=A.shapes.length;b!==E;b++){var B=A.shapes[b];s.rotate(d,B.position,A.angle),s.add(d,d,A.position);var q=B.angle+A.angle;(B instanceof a&&v.circleParticle(A,B,d,q,i,n,p,0,!0)||B instanceof r&&v.particleConvex(i,n,p,0,A,B,d,q,!0)||B instanceof c&&v.particlePlane(i,n,p,0,A,B,d,q,!0)||B instanceof h&&v.particleCapsule(i,n,p,0,A,B,d,q,!0)||B instanceof l&&s.squaredLength(s.sub(f,d,t))= slowStep) { this._deltaTime -= slowStep; @@ -22406,8 +22475,10 @@ Phaser.Game.prototype = { this._lastCount = count; - // call the game render update exactly once every frame unless we're playing catch-up from a spiral condition - this.updateRender(this._deltaTime / slowStep); + if (this.rendersThisFrame > 0) + { + this.updateRender(this._deltaTime / slowStep); + } } }, @@ -22428,6 +22499,8 @@ Phaser.Game.prototype = { this.pendingStep = true; } + this.time.countUpdate(); + this.scale.preUpdate(); this.debug.preUpdate(); this.camera.preUpdate(); @@ -22453,6 +22526,7 @@ Phaser.Game.prototype = { this.scale.pauseUpdate(); this.state.pauseUpdate(timeStep); this.debug.preUpdate(); + this.input.pauseUpdate(); } this.stage.updateTransform(); @@ -22481,6 +22555,8 @@ Phaser.Game.prototype = { return; } + this.time.countRender(); + this.state.preRender(elapsedTime); if (this.renderType !== Phaser.HEADLESS) @@ -22543,6 +22619,8 @@ Phaser.Game.prototype = { * Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM * and resets the PIXI default renderer. * + * To destroy the game during an update callback, set {@link #pendingDestroy} instead. + * * @method Phaser.Game#destroy */ destroy: function () { @@ -23460,6 +23538,21 @@ Phaser.Input.prototype = { }, + /** + * Update method while paused. + * + * @method Phaser.Input#pauseUpdate + * @private + */ + pauseUpdate: function () { + + if (this.gamepad && this.gamepad.active) + { + this.gamepad.update(); + } + + }, + /** * Reset all of the Pointers and Input states. * @@ -23487,11 +23580,6 @@ Phaser.Input.prototype = { this.keyboard.reset(hard); } - if (this.gamepad) - { - this.gamepad.reset(); - } - for (var i = 0; i < this.pointers.length; i++) { this.pointers[i].reset(); @@ -24474,6 +24562,8 @@ Phaser.Mouse.prototype = { this.input.mousePointer.stop(event); } + this.input.interactiveItems.callAll('_pointerOutHandler', this.input.mousePointer); + }, /** @@ -27007,22 +27097,6 @@ Phaser.Touch.prototype = { } } - /** - * Adds a callback that is fired when a browser touchstart or touchend event is received. - * - * @method Phaser.Touch#addTouchLockCallback - * @deprecated Use {@link Phaser.Input#addTouchLockCallback} instead. - */ - this.addTouchLockCallback = this.game.input.addTouchLockCallback.bind(this.game.input); - - /** - * Removes the callback at the defined index from the touchLockCallbacks array. - * - * @method Phaser.Touch#removeTouchLockCallback - * @deprecated Use {@link Phaser.Input#removeTouchLockCallback} instead. - */ - this.removeTouchLockCallback = this.game.input.removeTouchLockCallback.bind(this.game.input); - }, /** @@ -34622,6 +34696,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 0; + this.texture.baseTexture.dirty(); } } else @@ -34629,6 +34704,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 1; + this.texture.baseTexture.dirty(); } } } @@ -41279,7 +41355,7 @@ Phaser.Graphics = function (game, x, y) { this.graphicsData = []; /** - * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF to reset the tint. + * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF (Phaser.Color.WHITE) to reset the tint. * * @property tint * @type Number @@ -46221,6 +46297,7 @@ Object.defineProperty(Phaser.BitmapText.prototype, 'smoothed', { { this._data.base.scaleMode = 1; } + this._data.base.dirty(); } @@ -48814,17 +48891,11 @@ Phaser.Device = function () { this.canUseMultiply = false; /** - * @property {boolean} webGL - Is webGL (and stencil support) available? + * @property {boolean} webGL - Is webGL available? * @default */ this.webGL = false; - /** - * @property {?Error} webGLError - Any error raised while creating a test {@link #webGL} context. - * @default - */ - this.webGLError = null; - /** * @property {boolean} file - Is file available? * @default @@ -49441,30 +49512,7 @@ Phaser.Device._initialize = function () { device.file = !!window['File'] && !!window['FileReader'] && !!window['FileList'] && !!window['Blob']; device.fileSystem = !!window['requestFileSystem']; - device.webGL = !!(function () { - if (!window.WebGLRenderingContext) - { - return false; - } - - try { - var canvas = document.createElement('canvas'); - - // Force screencanvas to false - canvas.screencanvas = false; - - // See PIXI.WebGLRenderer#_contextOptions - var contextOptions = { stencil: true }; - - return canvas.getContext('webgl' , contextOptions) || - canvas.getContext('experimental-webgl', contextOptions); - - } catch (error) { - device.webGLError = error; - - return false; - } - })(); + device.webGL = !!window.WebGLRenderingContext; device.worker = !!window['Worker']; @@ -50058,22 +50106,6 @@ Phaser.Device.needsTouchUnlock = function () { return !!(!this.cocoonJS && (this.iOS || this.android) || (window.PhaserGlobal && window.PhaserGlobal.fakeiOSTouchLock)); }; -/** -* Returns false. -* -* @deprecated -* @method isConsoleOpen -* @memberof Phaser.Device.prototype -* @return false -*/ -Phaser.Device.isConsoleOpen = function () { - - console.warn('Phaser.Device.isConsoleOpen is deprecated and will be removed.'); - - return false; - -}; - /** * Detect if the host is a an Android Stock browser. * This is available before the device "ready" event. @@ -50100,7 +50132,7 @@ Phaser.Device.isAndroidStockBrowser = function () { */ /** -* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, +* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, * including styles, offset and aspect ratio. * * @class Phaser.Canvas @@ -50353,16 +50385,20 @@ Phaser.Canvas = { }, /** - * Sets the CSS image-rendering property on the given canvas to be 'crisp' (aka 'optimize contrast' on webkit). + * Sets the CSS image-rendering property to `pixelated` or `crisp-edges`. + * This can remove blurring when the game canvas is scaled up. + * In some browsers this has no visible effect in WEBGL mode. * Note that if this doesn't given the desired result then see the setSmoothingEnabled. * * @method Phaser.Canvas.setImageRenderingCrisp * @param {HTMLCanvasElement} canvas - The canvas to set image-rendering crisp on. * @return {HTMLCanvasElement} Returns the source canvas. + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering + * @see https://caniuse.com/#feat=css-crisp-edges */ setImageRenderingCrisp: function (canvas) { - var types = [ 'optimizeSpeed', 'crisp-edges', '-moz-crisp-edges', '-webkit-optimize-contrast', 'optimize-contrast', 'pixelated' ]; + var types = [ '-webkit-optimize-contrast', '-moz-crisp-edges', 'crisp-edges', 'pixelated' ]; for (var i = 0; i < types.length; i++) { @@ -53070,7 +53106,7 @@ Phaser.TweenManager.prototype = { * * @method Phaser.TweenManager#isTweening * @param {object} object - The object to check for tweens against. - * @param {boolean} [checkIsRunning] - Also check that the tween is running and is not marked for deletion. + * @param {boolean} [checkIsRunning=false] - Also check that the tween is running and is not marked for deletion. * @returns {boolean} Returns true if the object is currently being tweened, false if not. */ isTweening: function(object, checkIsRunning) { @@ -53078,7 +53114,7 @@ Phaser.TweenManager.prototype = { if (!checkIsRunning) { checkIsRunning = false; } return this._tweens.some(function(tween) { - return (tween.target === object) && !checkIsRunning || (tween.isRunning && !tween.pendingDelete); + return (tween.target === object) && (!checkIsRunning || (tween.isRunning && !tween.pendingDelete)); }); }, @@ -55339,6 +55375,8 @@ Phaser.Time = function (game) { * * This value _may_ include time that the game is paused/inactive. * + * While the game is active, this will be similar to (1000 / {@link #fps}). + * * _Note:_ This is updated only once per game loop - even if multiple logic update steps are done. * Use {@link Phaser.Timer#physicsTime physicsTime} as a basis of game/logic calculations instead. * @@ -55433,7 +55471,7 @@ Phaser.Time = function (game) { this.advancedTiming = false; /** - * Advanced timing result: The number of render frames record in the last second. + * Advanced timing result: The number of animation frames received from the browser in the last second. * * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. * @property {integer} frames @@ -55441,6 +55479,24 @@ Phaser.Time = function (game) { */ this.frames = 0; + /** + * Advanced timing result: The number of {@link Phaser.Game#updateLogic logic updates} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} updates + * @readonly + */ + this.updates = 0; + + /** + * Advanced timing result: The number of {@link Phaser.Game#updateRender renders} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} renders + * @readonly + */ + this.renders = 0; + /** * Advanced timing result: Frames per second. * @@ -55450,6 +55506,24 @@ Phaser.Time = function (game) { */ this.fps = 0; + /** + * Advanced timing result: Logic updates per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} ups + * @readonly + */ + this.ups = 0; + + /** + * Advanced timing result: Renders per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} rps + * @readonly + */ + this.rps = 0; + /** * Advanced timing result: The lowest rate the fps has dropped to. * @@ -55761,11 +55835,46 @@ Phaser.Time.prototype = { if (this.now > this._timeLastSecond + 1000) { - this.fps = Math.round((this.frames * 1000) / (this.now - this._timeLastSecond)); + var interval = this.now - this._timeLastSecond; + this.fps = Math.round((this.frames * 1000) / interval); + this.ups = Math.round((this.updates * 1000) / interval); + this.rps = Math.round((this.renders * 1000) / interval); this.fpsMin = Math.min(this.fpsMin, this.fps); this.fpsMax = Math.max(this.fpsMax, this.fps); this._timeLastSecond = this.now; this.frames = 0; + this.updates = 0; + this.renders = 0; + } + + }, + + /** + * Counts one logic update (if advanced timing is enabled). + * + * @method Phaser.Time#countUpdate + * @private + */ + countUpdate: function () { + + if (this.advancedTiming) + { + this.updates++; + } + + }, + + /** + * Counts one render (if advanced timing is enabled). + * + * @method Phaser.Time#countRender + * @private + */ + countRender: function () { + + if (this.advancedTiming) + { + this.renders++; } }, @@ -55862,12 +55971,15 @@ Phaser.Time.prototype = { }; /** -* The desired frame rate of the game. +* The number of logic updates per second. * * This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. * +* The render rate is unaffected unless you also turn off {@link Phaser.Game#forceSingleRender}. +* * @name Phaser.Time#desiredFps -* @property {integer} desiredFps - The desired frame rate of the game. Defaults to 60. +* @type {integer} +* @default 60 */ Object.defineProperty(Phaser.Time.prototype, "desiredFps", { @@ -61480,7 +61592,7 @@ Phaser.Loader = function (game) { }; /** - * This event is dispatched when the loading process starts: before the first file has been requested, + * This event is dispatched when the loading process starts: before the first file has been requested, * but after all the initial packs have been loaded. * * @property {Phaser.Signal} onLoadStart @@ -61539,22 +61651,6 @@ Phaser.Loader = function (game) { */ this.onFileError = new Phaser.Signal(); - /** - * If true and if the browser supports XDomainRequest, it will be used in preference for XHR. - * - * This is only relevant for IE 9 and should _only_ be enabled for IE 9 clients when required by the server/CDN. - * - * @property {boolean} useXDomainRequest - * @deprecated This is only relevant for IE 9. - */ - this.useXDomainRequest = false; - - /** - * @private - * @property {boolean} _warnedAboutXDomainRequest - Control number of warnings for using XDR outside of IE 9. - */ - this._warnedAboutXDomainRequest = false; - /** * If true (the default) then parallel downloading will be enabled. * @@ -63852,12 +63948,6 @@ Phaser.Loader.prototype = { */ xhrLoad: function (file, url, type, onload, onerror) { - if (this.useXDomainRequest && window.XDomainRequest) - { - this.xhrLoadWithXDR(file, url, type, onload, onerror); - return; - } - var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = type; @@ -63934,88 +64024,6 @@ Phaser.Loader.prototype = { }, - /** - * Starts the xhr loader - using XDomainRequest. - * This should _only_ be used with IE 9. Phaser does not support IE 8 and XDR is deprecated in IE 10. - * - * This is designed specifically to use with asset file processing. - * - * @method Phaser.Loader#xhrLoadWithXDR - * @private - * @param {object} file - The file/pack to load. - * @param {string} url - The URL of the file. - * @param {string} type - The xhr responseType. - * @param {function} onload - The function to call on success. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @param {function} [onerror=fileError] The function to call on error. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @deprecated This is only relevant for IE 9. - */ - xhrLoadWithXDR: function (file, url, type, onload, onerror) { - - // Special IE9 magic .. only - if (!this._warnedAboutXDomainRequest && - (!this.game.device.ie || this.game.device.ieVersion >= 10)) - { - this._warnedAboutXDomainRequest = true; - console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"); - } - - // Ref: http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx - var xhr = new window.XDomainRequest(); - xhr.open('GET', url, true); - xhr.responseType = type; - - // XDomainRequest has a few quirks. Occasionally it will abort requests - // A way to avoid this is to make sure ALL callbacks are set even if not used - // More info here: http://stackoverflow.com/questions/15786966/xdomainrequest-aborts-post-on-ie-9 - xhr.timeout = 3000; - - onerror = onerror || this.fileError; - - var _this = this; - - xhr.onerror = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.ontimeout = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.onprogress = function() {}; - - xhr.onload = function () { - try { - if (xhr.readyState === 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. - return onerror.call(_this, file, xhr); - } - else { - return onload.call(_this, file, xhr); - } - return onload.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - file.requestObject = xhr; - file.requestUrl = url; - - // Note: The xdr.send() call is wrapped in a timeout to prevent an issue with the interface where some requests are lost - // if multiple XDomainRequests are being sent at the same time. - setTimeout(function () { - xhr.send(); - }, 0); - - }, - /** * Give a bunch of URLs, return the first URL that has an extension this device thinks it can play. * @@ -64484,10 +64492,8 @@ Phaser.Loader.prototype = { /** * Update the loading sprite progress. * - * @method Phaser.Loader#nextFile + * @method Phaser.Loader#updateProgress * @private - * @param {object} previousFile - * @param {boolean} success - Whether the previous asset loaded successfully or not. */ updateProgress: function () { @@ -65475,7 +65481,7 @@ Phaser.Sound = function (game, key, volume, loop, connect) { this.gainNode = this.context.createGain(); } - this.gainNode.gain.value = volume * this.game.sound.volume; + this.gainNode.gain.value = volume; if (connect) { @@ -65501,47 +65507,47 @@ Phaser.Sound = function (game, key, volume, loop, connect) { } /** - * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files) + * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files). It passes one argument, this sound. */ this.onDecoded = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played. + * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played or a looping marker is restarted. It passes one argument, this sound. */ this.onPlay = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. + * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. It passes one argument, this sound. */ this.onPause = new Phaser.Signal(); /** - * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. + * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. It passes one argument, this sound. */ this.onResume = new Phaser.Signal(); /** - * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. + * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. It passes one argument, this sound. */ this.onLoop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback. + * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback or when a non-looping marker completes. It passes two arguments: this sound and any {@link #currentMarker marker} that was playing. */ this.onStop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. + * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. It passes one argument, this sound. */ this.onMute = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. + * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. It passes two arguments: the {@link #currentMarker} and this sound. */ this.onMarkerComplete = new Phaser.Signal(); /** - * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. + * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. It passes two arguments: this sound and its current {@link #volume}. */ this.onFadeComplete = new Phaser.Signal(); @@ -66567,6 +66573,13 @@ Phaser.SoundManager = function (game) { */ this.onUnMute = new Phaser.Signal(); + /** + * This signal is dispatched when the SoundManager is touch-unlocked. + * If the device doesn't {@link Phaser.Device.needsTouchUnlock need touch-unlocking}, the signal won't be dispatched. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -66688,16 +66701,19 @@ Phaser.SoundManager.prototype = { */ boot: function () { - if (this.game.device.iOS && this.game.device.webAudio === false) + var device = this.game.device; + var PhaserGlobal = window.PhaserGlobal; + + if (device.iOS && device.webAudio === false) { this.channels = 1; } // PhaserGlobal overrides - if (window['PhaserGlobal']) + if (PhaserGlobal) { // Check to see if all audio playback is disabled (i.e. handled by a 3rd party class) - if (window['PhaserGlobal'].disableAudio === true) + if (PhaserGlobal.disableAudio === true) { this.noAudio = true; this.touchLocked = false; @@ -66705,7 +66721,7 @@ Phaser.SoundManager.prototype = { } // Check if the Web Audio API is disabled (for testing Audio Tag playback during development) - if (window['PhaserGlobal'].disableWebAudio === true) + if (PhaserGlobal.disableWebAudio === true) { this.usingAudioTag = true; this.touchLocked = false; @@ -66713,9 +66729,9 @@ Phaser.SoundManager.prototype = { } } - if (window['PhaserGlobal'] && window['PhaserGlobal'].audioContext) + if (PhaserGlobal && PhaserGlobal.audioContext) { - this.context = window['PhaserGlobal'].audioContext; + this.context = PhaserGlobal.audioContext; } else { @@ -66767,19 +66783,24 @@ Phaser.SoundManager.prototype = { this.masterGain = this.context.createGain(); } - this._setGain(1); + this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); } if (!this.noAudio) { // On mobile we need a native touch event before we can play anything, so capture it here - if (this.game.device.needsTouchUnlock()) + if (device.needsTouchUnlock()) { this.setTouchLock(); } } + if (this.usingWebAudio && device.chrome && device.chromeVersion <= 65) + { + console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. '); + } + }, /** @@ -66790,7 +66811,7 @@ Phaser.SoundManager.prototype = { */ setTouchLock: function () { - if (this.noAudio || (window['PhaserGlobal'] && window['PhaserGlobal'].disableAudio === true)) + if (this.noAudio || (window.PhaserGlobal && window.PhaserGlobal.disableAudio === true)) { return; } @@ -66801,6 +66822,20 @@ Phaser.SoundManager.prototype = { }, + /** + * Turns off {@link #touchLocked} and dispatches {@link #onTouchUnlock}. + * + * @method Phaser.SoundManager#setTouchUnlock + * @private + */ + setTouchUnlock: function () { + + this.touchLocked = false; + this._unlockSource = null; + this.onTouchUnlock.dispatch(); + + }, + /** * Enables the audio, usually after the first touch. * @@ -66817,8 +66852,7 @@ Phaser.SoundManager.prototype = { // Global override (mostly for Audio Tag testing) if (this.usingAudioTag) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } else if (this.usingWebAudio) { @@ -67018,8 +67052,7 @@ Phaser.SoundManager.prototype = { if (this.touchLocked && this._unlockSource !== null && (this._unlockSource.playbackState === this._unlockSource.PLAYING_STATE || this._unlockSource.playbackState === this._unlockSource.FINISHED_STATE)) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } for (var i = 0; i < this._sounds.length; i++) @@ -67114,6 +67147,28 @@ Phaser.SoundManager.prototype = { }, + /** + * Removes all Sounds from the SoundManager. + * The removed Sounds are destroyed before removal. + * + * @method Phaser.SoundManager#removeAll + */ + removeAll: function () { + + this.stopAll(); + + for (var i = 0; i < this._sounds.length; i++) + { + if (this._sounds[i]) + { + this._sounds[i].destroy(); + } + } + + this._sounds.length = 0; + + }, + /** * Removes all Sounds from the SoundManager that have an asset key matching the given value. * The removed Sounds are destroyed before removal. @@ -67183,7 +67238,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { this._muteVolume = this.masterGain.gain.value; - this._setGain(0); + this.masterGain.gain.value = 0; } // Loop through sounds @@ -67216,7 +67271,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { - this._setGain(this._muteVolume); + this.masterGain.gain.value = this._muteVolume; } // Loop through sounds @@ -67239,26 +67294,16 @@ Phaser.SoundManager.prototype = { */ destroy: function () { - this.stopAll(); - - for (var i = 0; i < this._sounds.length; i++) - { - if (this._sounds[i]) - { - this._sounds[i].destroy(); - } - } - - this._sounds = []; + this.removeAll(); this.onSoundDecode.dispose(); if (this.context) { - if (window['PhaserGlobal']) + if (window.PhaserGlobal) { // Store this in the PhaserGlobal window var, if set, to allow for re-use if the game is created again without the page refreshing - window['PhaserGlobal'].audioContext = this.context; + window.PhaserGlobal.audioContext = this.context; } else { @@ -67269,12 +67314,6 @@ Phaser.SoundManager.prototype = { } } - }, - - _setGain: function (value) { - - this.masterGain.gain.setTargetAtTime(value, 0, 0.01); - } }; @@ -67350,7 +67389,7 @@ Object.defineProperty(Phaser.SoundManager.prototype, "volume", { if (this.usingWebAudio) { - this._setGain(value); + this.masterGain.gain.value = value; } else { @@ -68039,6 +68078,20 @@ Phaser.ScaleManager.RESIZE = 3; */ Phaser.ScaleManager.USER_SCALE = 4; +/** +* Names of the scale modes, indexed by value. +* +* @constant +* @type {string[]} +*/ +Phaser.ScaleManager.MODES = [ + 'EXACT_FIT', + 'NO_SCALE', + 'SHOW_ALL', + 'RESIZE', + 'USER_SCALE' +]; + Phaser.ScaleManager.prototype = { /** @@ -68175,6 +68228,14 @@ Phaser.ScaleManager.prototype = { this.fullScreenTarget = config['fullScreenTarget']; } + this.pageAlignHorizontally = config.alignH || false; + this.pageAlignVertically = config.alignV || false; + + if (config.scaleH && config.scaleV) + { + this.setUserScale(config.scaleH, config.scaleV, config.trimH, config.trimV); + } + }, /** @@ -70138,6 +70199,36 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Render Sound Manager information, including volume, mute, audio mode, and locked status. + * + * @method Phaser.Utils.Debug#sound + * @param {number} x - X position of the debug info to be rendered. + * @param {number} y - Y position of the debug info to be rendered. + * @param {string} [color='rgb(255,255,255)'] - color of the debug info to be rendered. (format is css color string). + */ + sound: function (x, y, color) { + + var sound = this.game.sound; + + this.start(x, y, color); + + if (sound.noAudio) + { + this.line('Audio is disabled'); + } + else + { + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Mute on pause: ' + sound.muteOnPause); + this.line('Using: ' + (sound.usingWebAudio ? ('Web Audio - ' + sound.context.state) : 'Audio Tag')); + this.line('Touch locked: ' + sound.touchLocked); + } + + this.stop(); + + }, + /** * Render Sound information, including decoded state, duration, volume and more. * @@ -70150,13 +70241,13 @@ Phaser.Utils.Debug.prototype = { soundInfo: function (sound, x, y, color) { this.start(x, y, color); - this.line('Sound: ' + sound.key + ' Locked: ' + sound.game.sound.touchLocked); + this.line('Sound: ' + sound.key + ' Touch locked: ' + sound.game.sound.touchLocked); this.line('Is Ready?: ' + this.game.cache.isSoundReady(sound.key) + ' Pending Playback: ' + sound.pendingPlayback); this.line('Decoded: ' + sound.isDecoded + ' Decoding: ' + sound.isDecoding); - this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying); + this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying + ' Loop: ' + sound.loop); this.line('Time: ' + sound.currentTime); - this.line('Volume: ' + sound.volume + ' Muted: ' + sound.mute); - this.line('WebAudio: ' + sound.usingWebAudio + ' Audio: ' + sound.usingAudioTag); + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Using: ' + (sound.usingWebAudio ? 'Web Audio' : 'Audio Tag')); if (sound.currentMarker !== '') { @@ -70217,17 +70308,12 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Camera (' + camera.width + ' x ' + camera.height + ')'); this.line('x: ' + camera.x + ' y: ' + camera.y); - - if (bounds) - { - this.line('Bounds x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height); - } - - this.line('View x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); + this.line('Bounds: ' + (bounds ? ('x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height) : 'none')); + this.line('View: x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); this.line('Deadzone: ' + (deadzone ? ('x: ' + deadzone.x + ' y: ' + deadzone.y + ' w: ' + deadzone.width + ' h: ' + deadzone.height) : deadzone)); this.line('Total in view: ' + camera.totalInView); this.line('At limit: x: ' + camera.atLimit.x + ' y: ' + camera.atLimit.y); - this.line('Target: ' + (target ? (target.name || target) : target)); + this.line('Target: ' + (target ? (target.name || target) : 'none')); this.stop(); }, @@ -70903,6 +70989,86 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Prints game/canvas dimensions and {@link Phaser.ScaleManager game scale} settings. + * + * @method Phaser.Utils.Debug#scale + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + scale: function (x, y, color) { + + this.start(x, y, color); + + var scale = this.game.scale; + var factor = scale.scaleFactorInversed; + var bounds = scale._parentBounds; + var x = ' x '; + + this.line('Game: ' + this.game.width + x + this.game.height); + this.line('Canvas: ' + scale.width + x + scale.height + + ' (' + factor.x.toFixed(2) + x + factor.y.toFixed(2) + ')' + + ' [' + scale.aspectRatio.toFixed(2) + ']'); + this.line('Mode: ' + Phaser.ScaleManager.MODES[scale.currentScaleMode] + + (scale.currentScaleMode === Phaser.ScaleManager.USER_SCALE ? + (' (' + scale._userScaleFactor.x + x + scale._userScaleFactor.y + ')') : + '')); + this.line('Parent: ' + (scale.parentIsWindow ? 'window' : scale.parentNode) + + (bounds.empty ? '' : (' (' + bounds.width + x + bounds.height + ')'))); + this.line('Screen: ' + scale.classifyOrientation(scale.screenOrientation) + + (scale.incorrectOrientation ? ' (incorrect)' : '')); + + this.stop(); + + }, + + /** + * Prints the progress of a {@link Phaser.Loader}. + * + * Typically you would call this within a {@link State#loadRender} callback and pass `game.load` ({@link Phaser.Game#load}). + * + * You can enable {@link Phaser.Loader#resetLocked} to temporarily hold the loader in its 'complete' state. + * Just remember to disable it before restarting the loader (such as when changing states). + * + * @method Phaser.Utils.Debug#loader + * @param {Phaser.Loader} loader - The loader. Usually `game.load` ({@link Phaser.Game#load}). + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + loader: function (loader, x, y, color) { + + var pad = Phaser.Utils.pad; + + this.start(x, y, color); + + if (loader.hasLoaded) + { + this.line('Complete' + (loader.resetLocked ? ' [locked]' : '')); + } + else if (loader.isLoading) + { + this.line('Loading'); + } + else + { + this.line('Not started'); + } + + if (!loader.hasLoaded || loader.resetLocked) + { + this.line('Progress: ' + (pad(loader.progress, 3) + '%')); + this.line('Files: ' + loader._loadedFileCount + ' of ' + + loader._totalFileCount); + this.line('Packs: ' + loader._loadedPackCount + ' of ' + + loader._loadedPackCount); + } + + this.stop(); + + }, + /** * Destroy this object. * @@ -71905,29 +72071,6 @@ Phaser.ArrayUtils = { }, - /** - * Moves the element from the start of the array to the end, shifting all items in the process. - * The "rotation" happens to the left. - * - * Before: `[ A, B, C, D, E, F ]` - * After: `[ B, C, D, E, F, A ]` - * - * See also Phaser.ArrayUtils.rotateRight - * - * @method Phaser.ArrayUtils.rotate - * @deprecated Please use Phaser.ArrayUtils.rotateLeft instead. - * @param {any[]} array - The array to rotate. The array is modified. - * @return {any} The rotated value. - */ - rotate: function (array) { - - var s = array.shift(); - array.push(s); - - return s; - - }, - /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]` (or `[0, start]`, if `end` is omitted). * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. @@ -72916,6 +73059,96 @@ Phaser.FlexLayer.prototype.debug = function () { */ Phaser.Color = { + /** + * Red (0xff0000) + * + * @type number + * @constant + * @default + */ + RED: 0xff0000, + + /** + * Orange (0xff9900) + * + * @type number + * @constant + * @default + */ + ORANGE: 0xff9900, + + /** + * Yellow (0xffff00) + * + * @type number + * @constant + * @default + */ + YELLOW: 0xffff00, + + /** + * Green (0x00ff00) + * + * @type number + * @constant + * @default + */ + GREEN: 0x00ff00, + + /** + * Aqua (0x00ffff) + * + * @type number + * @constant + * @default + */ + AQUA: 0x00ffff, + + /** + * Blue (0x0000ff) + * + * @type number + * @constant + * @default + */ + BLUE: 0x0000ff, + + /** + * Violet/purple (0xff00ff) + * + * @type number + * @constant + * @default + */ + VIOLET: 0xff00ff, + + /** + * White (0xffffff) + * + * @type number + * @constant + * @default + */ + WHITE: 0xffffff, + + /** + * Black (0x000000) + * + * @type number + * @constant + * @default + */ + BLACK: 0, + + /** + * Gray (0x666666) + * + * @type number + * @constant + * @default + */ + GRAY: 0x666666, + /** * Packs the r, g, b, a components into a single integer, for use with Int32Array. * If device is little endian then ABGR order is used. Otherwise RGBA order is used. @@ -74858,6 +75091,7 @@ Phaser.Physics.Arcade = function (game) { /** * @property {number} OVERLAP_BIAS - A value added to the delta values during collision checks. + * @default */ this.OVERLAP_BIAS = 4; @@ -79134,7 +79368,7 @@ Phaser.Tile = function (layer, index, x, y, width, height) { * @property {number} y - The y map coordinate of this tile. */ this.y = y; - + /** * @property {number} rotation - The rotation angle of this tile. */ @@ -79144,7 +79378,7 @@ Phaser.Tile = function (layer, index, x, y, width, height) { * @property {boolean} flipped - Whether this tile is flipped (mirrored) or not. */ this.flipped = false; - + /** * @property {number} x - The x map coordinate of this tile. */ @@ -79246,6 +79480,12 @@ Phaser.Tile = function (layer, index, x, y, width, height) { */ this.collisionCallbackContext = this; + /** + * @property {boolean} debug + * @default + */ + this.debug = false; + }; Phaser.Tile.prototype = { @@ -84116,7 +84356,7 @@ Phaser.Particle.prototype.reset = function(x, y, health) { */ /** -* Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it. +* Phaser.Particles tracks any Emitters attached to it. * * @class Phaser.Particles * @constructor @@ -84162,26 +84402,6 @@ Phaser.Particles.prototype = { */ remove: function (emitter) { delete this.emitters[emitter.id]; - }, - - /** - * Updates all Emitters who have their exists value set to true. - * - * Phaser no longer uses this method; Emitters receive updates via {@link Phaser.Stage#update} instead. - * - * @method Phaser.Particles#update - * @protected - * @deprecated - */ - update: function () { - for (var key in this.emitters) - { - if (this.emitters[key].exists) - { - this.emitters[key].update(); - } - } - } }; @@ -87138,6 +87358,19 @@ Phaser.Video = function (game, key, url) { */ this.onTimeout = new Phaser.Signal(); + /** + * This signal is dispatched when the Video is unlocked. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + + /** + * Start playing the video when it's unlocked. + * @property {boolean} playWhenUnlocked + * @default + */ + this.playWhenUnlocked = true; + /** * @property {integer} timeout - The amount of ms allowed to elapsed before the Video.onTimeout signal is dispatched while waiting for webcam access. * @default @@ -88097,9 +88330,12 @@ Phaser.Video.prototype = { this.touchLocked = false; - this.video.play(); + if (this.playWhenUnlocked) + { + this.video.play(); - this.onPlay.dispatch(this, this.loop, this.playbackRate); + this.onPlay.dispatch(this, this.loop, this.playbackRate); + } if (this.key) { @@ -88111,6 +88347,8 @@ Phaser.Video.prototype = { } } + this.onTouchUnlock.dispatch(this); + return true; }, diff --git a/build/custom/phaser-arcade-physics.map b/build/custom/phaser-arcade-physics.map index 1207a1756..34ce1cfd7 100644 --- a/build/custom/phaser-arcade-physics.map +++ b/build/custom/phaser-arcade-physics.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-arcade-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","webGLError","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","contextOptions","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","_setGain","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","setTargetAtTime","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","collides","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","collision","currentLayer","debugMap","_results","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","bodies","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","map","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","polyline","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","on","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-arcade-physics.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-arcade-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","collides","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","collision","currentLayer","debugMap","_results","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","bodies","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","map","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","polyline","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","on","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-arcade-physics.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-arcade-physics.min.js b/build/custom/phaser-arcade-physics.min.js index e3a2721b5..9d06fd19e 100644 --- a/build/custom/phaser-arcade-physics.min.js +++ b/build/custom/phaser-arcade-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),l=null,u=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),l=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,l,0),(u=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[u]),a.width=i,a.height=s,a.targetTexture=l,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),l.a=i*h.a+s*h.c,l.b=i*h.b+s*h.d,l.c=n*h.a+r*h.c,l.d=n*h.b+r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,l.a=i*h.a,l.b=i*h.b,l.c=r*h.c,l.d=r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty),i=l.a,s=l.b,n=l.c;var u=i*(r=l.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*m+T*v+C,E=w*v+_*m+S,A=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,L=w*y+_*g+S,I=b*m+T*y+C,O=w*y+_*m+S;c=P,d=E,u=E,l=I<(l=R<(l=A<(l=P)?A:l)?R:l)?I:l,u=O<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?I:c,d=O>(d=L>(d=M>d?M:d)?L:d)?O:d}if(f.x=l,f.y=u,f.width=c-l,f.height=d-u,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=b>g?b:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,u,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,u=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,u=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=l,R=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,b=S+6.123233995736766e-17*E,_=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=u,l=c,u=R,c=M}var L=this.colors,I=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(I[g++]=v*l+b*c+T|0,I[g++]=_*c+x*l+w|0,I[g++]=a.x0,I[g++]=a.y0,L[g++]=k,I[g++]=y,I[g++]=v*h+b*c+T|0,I[g++]=_*c+x*h+w|0,I[g++]=a.x1,I[g++]=a.y1,L[g++]=k,I[g++]=y,I[g++]=v*h+b*u+T|0,I[g++]=_*u+x*h+w|0,I[g++]=a.x2,I[g++]=a.y2,L[g++]=k,I[g++]=y,I[g++]=v*l+b*u+T|0,I[g++]=_*u+x*l+w|0,I[g++]=a.x3,I[g++]=a.y3,L[g++]=k,I[g++]=y):(I[g++]=v*l+b*c+T,I[g++]=_*c+x*l+w,I[g++]=a.x0,I[g++]=a.y0,L[g++]=k,I[g++]=y,I[g++]=v*h+b*c+T,I[g++]=_*c+x*h+w,I[g++]=a.x1,I[g++]=a.y1,L[g++]=k,I[g++]=y,I[g++]=v*h+b*u+T,I[g++]=_*u+x*h+w,I[g++]=a.x2,I[g++]=a.y2,L[g++]=k,I[g++]=y,I[g++]=v*l+b*u+T,I[g++]=_*u+x*l+w,I[g++]=a.x3,I[g++]=a.y3,L[g++]=k,I[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),u=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-u,o.x1=1*c-l,o.y1=0-u,o.x2=1*c-l,o.y2=1*d-u,o.x3=0-l,o.y3=1*d-u;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),T=y*-x,w=v*(1-b),C=v*-b,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,M=E.b/P,R=E.c/P,L=E.d/P,I=E.tx,O=E.ty;g[S++]=A*T+R*C+I,g[S++]=L*C+M*T+O,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*_+R*C+I,g[S++]=L*C+M*_+O,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*_+R*w+I,g[S++]=L*w+M*_+O,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+R*w+I,g[S++]=L*w+M*T+O,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,l,u),u=m,l=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,u=a+o*n,c=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(u-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=s+(r-s)*(o-i)/(n-i))>a&&u<=l)return!0}else if(i>h&&n<=h&&(u=s+(r-s)*(h-i)/(n-i))>=a&&u<=l)return!0;if(s=a){if((u=i+(n-i)*(a-s)/(r-s))>=o&&u<=h)return!0}else if(s>l&&r<=l&&(u=i+(n-i)*(l-s)/(r-s))>=o&&u<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,u=e.bottom,c=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,u,l,u),r[2].setTo(a,h,a,u),r[3].setTo(l,h,l,u);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,u){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,u),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,u,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var g=s;gu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(u,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,u=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,T=v-b,_/=R=Math.sqrt(_*_+T*T),T/=R,_*=F,T*=F,L.push(p-_,f-T),L.push(G,N,X,U),L.push(p+_,f+T),L.push(G,N,X,U),L.push(p-_,f-T),L.push(G,N,X,U),k++):(L.push(l,u),L.push(G,N,X,U),L.push(p-(l-p),f-(u-f)),L.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),I.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(_,T+S),e.lineTo(_,T+C-S),e.quadraticCurveTo(_,T+C,_+S,T+C),e.lineTo(_+w-S,T+C),e.quadraticCurveTo(_+w,T+C,_+w,T+C-S),e.lineTo(_+w,T+S),e.quadraticCurveTo(_+w,T,_+w-S,T),e.lineTo(_+S,T),e.quadraticCurveTo(_,T,_,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,b+w),e.lineTo(x,b+T-w),e.quadraticCurveTo(x,b+T,x+w,b+T),e.lineTo(x+_-w,b+T),e.quadraticCurveTo(x+_,b+T,x+_,b+T-w),e.lineTo(x+_,b+w),e.quadraticCurveTo(x+_,b,x+_-w,b),e.lineTo(x+w,b),e.quadraticCurveTo(x,b,x,b+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,u=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,u);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);c.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+u:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);u[c]=m,h+=g}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,u=n.getImageData(0,0,r,a).data,c=u.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:c,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=u.width),n+=t.lineHeight*i,e=e.substr(u.text.length+1)}while(!1===u.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=u||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(l+u+c)/3,C=(d+p+f)/3,S=l-w,P=d-C,E=Math.sqrt(S*S+P*P);l=w+S/E*(E+_),d=C+P/E*(E+T),P=p-C,u=w+(S=u-w)/(E=Math.sqrt(S*S+P*P))*(E+_),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+_),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=g*u+l*y+m*c-u*y-l*m-g*c,L=g*x*c+v*u*y+l*m*b-l*x*y-v*m*c-g*u*b,I=d*x+v*f+p*b-x*f-v*p-d*b,O=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,I/A,R/A,O/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(u===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=u,v.width=h-u,v.y=c,v.height=l-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,T=b>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!function(){if(!window.WebGLRenderingContext)return!1;try{var t=document.createElement("canvas");t.screencanvas=!1;var e={stencil:!0};return t.getContext("webgl",e)||t.getContext("experimental-webgl",e)}catch(t){return s.webGLError=t,!1}}(),s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&!e||i.isRunning&&!i.pendingDelete})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===u||0===c||uu&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(u,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var u={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(e,u)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),u=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this._setGain(1),this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this._setGain(t);else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,u=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return i.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,u)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var u={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},c={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*u.x+2*e.mass*c.x)/(t.mass+e.mass),p=(2*t.mass*u.x+(e.mass-t.mass)*c.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-u.y*Math.sin(o))*t.bounce.x,t.velocity.y=(u.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*e.bounce.x,e.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new i.Tileset(t,a,s,n,r,o,{});u.setImage(h),this.tilesets.push(u);for(var c=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(c=0;cthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],u=0;uthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=u){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var T=_[g];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,u=0,c=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(u=r+e,c=r-1):e>0&&(c=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),u=Math.floor((u+s)/a),c=Math.floor((c+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(u<=c){this.context.clearRect(0,u*a-s,n,(c-u+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,g,c)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var w=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var u,c,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(E>2147483648&&(E-=2147483648,d+=4),E>1073741824&&(E-=1073741824,d+=2),E>536870912&&(E-=536870912,d+=1),d){case 5:u=Math.PI/2;break;case 6:u=Math.PI;break;case 3:u=3*Math.PI/2;break;case 4:u=0,c=!0;break;case 7:u=Math.PI/2,c=!0;break;case 2:u=Math.PI,c=!0;break;case 1:u=3*Math.PI/2,c=!0}E>0?((F=new i.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var u=0,c=0;0===l||180===l?u=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?c=Math.sin(this.game.math.degToRad(l))*o:(u=Math.cos(this.game.math.degToRad(l))*o,c=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(u,c),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),l=null,u=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),l=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,l,0),(u=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[u]),a.width=i,a.height=s,a.targetTexture=l,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),l.a=i*h.a+s*h.c,l.b=i*h.b+s*h.d,l.c=n*h.a+r*h.c,l.d=n*h.b+r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,l.a=i*h.a,l.b=i*h.b,l.c=r*h.c,l.d=r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty),i=l.a,s=l.b,n=l.c;var u=i*(r=l.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*m+T*v+C,E=w*v+_*m+S,A=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,L=w*y+_*g+S,O=b*m+T*y+C,I=w*y+_*m+S;c=P,d=E,u=E,l=O<(l=R<(l=A<(l=P)?A:l)?R:l)?O:l,u=I<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?O:c,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=u,f.width=c-l,f.height=d-u,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=b>g?b:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,u,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,u=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,u=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=l,R=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,b=S+6.123233995736766e-17*E,_=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=u,l=c,u=R,c=M}var L=this.colors,O=this.positions,I=t.tint,k=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*l+b*c+T|0,O[g++]=_*c+x*l+w|0,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T|0,O[g++]=_*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T|0,O[g++]=_*u+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T|0,O[g++]=_*u+x*l+w|0,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y):(O[g++]=v*l+b*c+T,O[g++]=_*c+x*l+w,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T,O[g++]=_*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T,O[g++]=_*u+x*h+w,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T,O[g++]=_*u+x*l+w,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),u=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-u,o.x1=1*c-l,o.y1=0-u,o.x2=1*c-l,o.y2=1*d-u,o.x3=0-l,o.y3=1*d-u;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),T=y*-x,w=v*(1-b),C=v*-b,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,M=E.b/P,R=E.c/P,L=E.d/P,O=E.tx,I=E.ty;g[S++]=A*T+R*C+O,g[S++]=L*C+M*T+I,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*_+R*C+O,g[S++]=L*C+M*_+I,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*_+R*w+O,g[S++]=L*w+M*_+I,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+R*w+O,g[S++]=L*w+M*T+I,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,l,u),u=m,l=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,u=a+o*n,c=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(u-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=s+(r-s)*(o-i)/(n-i))>a&&u<=l)return!0}else if(i>h&&n<=h&&(u=s+(r-s)*(h-i)/(n-i))>=a&&u<=l)return!0;if(s=a){if((u=i+(n-i)*(a-s)/(r-s))>=o&&u<=h)return!0}else if(s>l&&r<=l&&(u=i+(n-i)*(l-s)/(r-s))>=o&&u<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,u=e.bottom,c=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,u,l,u),r[2].setTo(a,h,a,u),r[3].setTo(l,h,l,u);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,u){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,u),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,u,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var g=s;gu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(u,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,u=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,T=v-b,_/=R=Math.sqrt(_*_+T*T),T/=R,_*=F,T*=F,L.push(p-_,f-T),L.push(G,N,X,U),L.push(p+_,f+T),L.push(G,N,X,U),L.push(p-_,f-T),L.push(G,N,X,U),k++):(L.push(l,u),L.push(G,N,X,U),L.push(p-(l-p),f-(u-f)),L.push(G,N,X,U));for(c=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),O.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(_,T+S),e.lineTo(_,T+C-S),e.quadraticCurveTo(_,T+C,_+S,T+C),e.lineTo(_+w-S,T+C),e.quadraticCurveTo(_+w,T+C,_+w,T+C-S),e.lineTo(_+w,T+S),e.quadraticCurveTo(_+w,T,_+w-S,T),e.lineTo(_+S,T),e.quadraticCurveTo(_,T,_,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,b+w),e.lineTo(x,b+T-w),e.quadraticCurveTo(x,b+T,x+w,b+T),e.lineTo(x+_-w,b+T),e.quadraticCurveTo(x+_,b+T,x+_,b+T-w),e.lineTo(x+_,b+w),e.quadraticCurveTo(x+_,b,x+_-w,b),e.lineTo(x+w,b),e.quadraticCurveTo(x,b,x,b+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,u=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,u);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);c.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+u:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-le?a+l:e,s=h-un?h+u:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);u[c]=m,h+=g}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,u=n.getImageData(0,0,r,a).data,c=u.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:c,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=u.width),n+=t.lineHeight*i,e=e.substr(u.text.length+1)}while(!1===u.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=u||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(l+u+c)/3,C=(d+p+f)/3,S=l-w,P=d-C,E=Math.sqrt(S*S+P*P);l=w+S/E*(E+_),d=C+P/E*(E+T),P=p-C,u=w+(S=u-w)/(E=Math.sqrt(S*S+P*P))*(E+_),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+_),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=g*u+l*y+m*c-u*y-l*m-g*c,L=g*x*c+v*u*y+l*m*b-l*x*y-v*m*c-g*u*b,O=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,O/A,R/A,I/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(u===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=u,v.width=h-u,v.y=c,v.height=l-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,T=b>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===u||0===c||uu&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(u,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var u={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(e,u)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),u=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.onTouchUnlock=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,u=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return i.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,u)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var u={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},c={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*u.x+2*e.mass*c.x)/(t.mass+e.mass),p=(2*t.mass*u.x+(e.mass-t.mass)*c.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-u.y*Math.sin(o))*t.bounce.x,t.velocity.y=(u.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*e.bounce.x,e.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new i.Tileset(t,a,s,n,r,o,{});u.setImage(h),this.tilesets.push(u);for(var c=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(c=0;cthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],u=0;uthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=u){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var T=_[g];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,u=0,c=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(u=r+e,c=r-1):e>0&&(c=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),u=Math.floor((u+s)/a),c=Math.floor((c+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(u<=c){this.context.clearRect(0,u*a-s,n,(c-u+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,g,c)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var w=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,u=0;u>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var u,c,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(E>2147483648&&(E-=2147483648,d+=4),E>1073741824&&(E-=1073741824,d+=2),E>536870912&&(E-=536870912,d+=1),d){case 5:u=Math.PI/2;break;case 6:u=Math.PI;break;case 3:u=3*Math.PI/2;break;case 4:u=0,c=!0;break;case 7:u=Math.PI/2,c=!0;break;case 2:u=Math.PI,c=!0;break;case 1:u=3*Math.PI/2,c=!0}E>0?((F=new i.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var u=0,c=0;0===l||180===l?u=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?c=Math.sin(this.game.math.degToRad(l))*o:(u=Math.cos(this.game.math.degToRad(l))*o,c=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(u,c),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser-arcade-physics.map \ No newline at end of file diff --git a/build/custom/phaser-creature.js b/build/custom/phaser-creature.js index 75c698535..b128296ab 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.4 "2017-12-20" - Built: Wed Dec 20 2017 12:51:50 +* v2.10.0 "2018-01-18" - Built: Thu Jan 18 2018 16:35:44 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -53,7 +53,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.4', + VERSION: '2.10.0', /** * An array of Phaser game instances. @@ -4172,6 +4172,18 @@ Phaser.Point.prototype = { }, + /** + * Math.round() both the x and y properties of this Point. + * + * @method Phaser.Point#round + * @return {Phaser.Point} This Point object. + */ + round: function () { + + return this.setTo(Math.round(this.x), Math.round(this.y)); + + }, + /** * Returns a string representation of this object. * @@ -4738,7 +4750,7 @@ PIXI.Point = Phaser.Point; /** * Creates a new Polygon. -* +* * The points can be set from a variety of formats: * * - An array of Point objects: `[new Phaser.Point(x1, y1), ...]` @@ -5023,32 +5035,18 @@ Phaser.Polygon.prototype = { Phaser.Polygon.prototype.constructor = Phaser.Polygon; /** -* Sets and modifies the points of this polygon. +* The points of this polygon. * -* See {@link Phaser.Polygon#setTo setTo} for the different kinds of arrays formats that can be assigned. +* You can modify these with {@link Phaser.Polygon#setTo setTo}. * * @name Phaser.Polygon#points * @property {Phaser.Point[]} points - The array of vertex points. -* @deprecated Use `setTo`. +* @readonly */ Object.defineProperty(Phaser.Polygon.prototype, 'points', { get: function() { return this._points; - }, - - set: function(points) { - - if (points != null) - { - this.setTo(points); - } - else - { - // Clear the points - this.setTo(); - } - } }); @@ -7608,14 +7606,14 @@ Phaser.StateManager = function (game, pendingState) { /** * onStateChange is a Phaser.Signal that is dispatched whenever the game changes state. - * + * * It is dispatched only when the new state is started, which isn't usually at the same time as StateManager.start * is called because state swapping is done in sync with the game loop. It is dispatched *before* any of the new states * methods (such as preload and create) are called, and *after* the previous states shutdown method has been run. * - * The callback you specify is sent two parameters: the string based key of the new state, + * The callback you specify is sent two parameters: the string based key of the new state, * and the second parameter is the string based key of the old / previous state. - * + * * @property {Phaser.Signal} onStateChange */ this.onStateChange = new Phaser.Signal(); @@ -8006,25 +8004,27 @@ Phaser.StateManager.prototype = { */ link: function (key) { - this.states[key].game = this.game; - this.states[key].add = this.game.add; - this.states[key].make = this.game.make; - this.states[key].camera = this.game.camera; - this.states[key].cache = this.game.cache; - this.states[key].input = this.game.input; - this.states[key].load = this.game.load; - this.states[key].math = this.game.math; - this.states[key].sound = this.game.sound; - this.states[key].scale = this.game.scale; - this.states[key].state = this; - this.states[key].stage = this.game.stage; - this.states[key].time = this.game.time; - this.states[key].tweens = this.game.tweens; - this.states[key].world = this.game.world; - this.states[key].particles = this.game.particles; - this.states[key].rnd = this.game.rnd; - this.states[key].physics = this.game.physics; - this.states[key].key = key; + var state = this.states[key]; + + state.game = this.game; + state.add = this.game.add; + state.make = this.game.make; + state.camera = this.game.camera; + state.cache = this.game.cache; + state.input = this.game.input; + state.load = this.game.load; + state.math = this.game.math; + state.sound = this.game.sound; + state.scale = this.game.scale; + state.state = this; + state.stage = this.game.stage; + state.time = this.game.time; + state.tweens = this.game.tweens; + state.world = this.game.world; + state.particles = this.game.particles; + state.rnd = this.game.rnd; + state.physics = this.game.physics; + state.key = key; }, @@ -8037,26 +8037,28 @@ Phaser.StateManager.prototype = { */ unlink: function (key) { - if (this.states[key]) + var state = this.states[key]; + + if (state) { - this.states[key].game = null; - this.states[key].add = null; - this.states[key].make = null; - this.states[key].camera = null; - this.states[key].cache = null; - this.states[key].input = null; - this.states[key].load = null; - this.states[key].math = null; - this.states[key].sound = null; - this.states[key].scale = null; - this.states[key].state = null; - this.states[key].stage = null; - this.states[key].time = null; - this.states[key].tweens = null; - this.states[key].world = null; - this.states[key].particles = null; - this.states[key].rnd = null; - this.states[key].physics = null; + state.game = null; + state.add = null; + state.make = null; + state.camera = null; + state.cache = null; + state.input = null; + state.load = null; + state.math = null; + state.sound = null; + state.scale = null; + state.state = null; + state.stage = null; + state.time = null; + state.tweens = null; + state.world = null; + state.particles = null; + state.rnd = null; + state.physics = null; } }, @@ -8070,27 +8072,29 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { - this.callbackContext = this.states[key]; + var state = this.states[key]; + + this.callbackContext = state; this.link(key); // Used when the state is set as being the current active state - this.onInitCallback = this.states[key]['init'] || this.dummy; - - this.onPreloadCallback = this.states[key]['preload'] || null; - this.onLoadRenderCallback = this.states[key]['loadRender'] || null; - this.onLoadUpdateCallback = this.states[key]['loadUpdate'] || null; - this.onCreateCallback = this.states[key]['create'] || null; - this.onUpdateCallback = this.states[key]['update'] || null; - this.onPreRenderCallback = this.states[key]['preRender'] || null; - this.onRenderCallback = this.states[key]['render'] || null; - this.onResizeCallback = this.states[key]['resize'] || null; - this.onPausedCallback = this.states[key]['paused'] || null; - this.onResumedCallback = this.states[key]['resumed'] || null; - this.onPauseUpdateCallback = this.states[key]['pauseUpdate'] || null; + this.onInitCallback = state['init'] || this.dummy; + + this.onPreloadCallback = state['preload'] || null; + this.onLoadRenderCallback = state['loadRender'] || null; + this.onLoadUpdateCallback = state['loadUpdate'] || null; + this.onCreateCallback = state['create'] || null; + this.onUpdateCallback = state['update'] || null; + this.onPreRenderCallback = state['preRender'] || null; + this.onRenderCallback = state['render'] || null; + this.onResizeCallback = state['resize'] || null; + this.onPausedCallback = state['paused'] || null; + this.onResumedCallback = state['resumed'] || null; + this.onPauseUpdateCallback = state['pauseUpdate'] || null; // Used when the state is no longer the current active state - this.onShutDownCallback = this.states[key]['shutdown'] || this.dummy; + this.onShutDownCallback = state['shutdown'] || this.dummy; // Reset the physics system, but not on the first state start if (this.current !== '') @@ -14219,6 +14223,12 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.lockRender = false; + /** + * @property {boolean} pendingDestroy - Destroy the game at the next update. + * @default + */ + this.pendingDestroy = false; + /** * @property {boolean} stepping - Enable core loop stepping with Game.enableStep(). * @default @@ -14273,7 +14283,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this._codePaused = false; /** - * The ID of the current/last logic update applied this render frame, starting from 0. + * The ID of the current/last logic update applied this animation frame, starting from 0. * The first update is `currentUpdateID === 0` and the last update is `currentUpdateID === updatesThisFrame.` * @property {integer} currentUpdateID * @protected @@ -14281,12 +14291,19 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this.currentUpdateID = 0; /** - * Number of logic updates expected to occur this render frame; will be 1 unless there are catch-ups required (and allowed). + * Number of logic updates expected to occur this animation frame; will be 1 unless there are catch-ups required (and allowed). * @property {integer} updatesThisFrame * @protected */ this.updatesThisFrame = 1; + /** + * Number of renders expected to occur this animation frame. May be 0 if {@link #dropFrames is on} or {@link #forceSingleRender} is off; otherwise it will be 1. + * @property {integer} updatesThisFrame + * @protected + */ + this.rendersThisFrame = 1; + /** * @property {number} _deltaTime - Accumulate elapsed time until a logic update is due. * @private @@ -14324,6 +14341,16 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.forceSingleUpdate = true; + /** + * @property {boolean} forceSingleRender - Should the game loop make one render per animation frame, even without a preceding logic update? (During spiraling conditions, {@link #dropFrames} is used instead.) + */ + this.forceSingleRender = true; + + /** + * @property {boolean} dropFrames - When {@link #forceSingleUpdate} is off, skip {@link #updateRender rendering} if logic updates are spiraling upwards. + */ + this.dropFrames = false; + /** * @property {number} _nextNotification - The soonest game.time.time value that the next fpsProblemNotifier can be dispatched. * @private @@ -14384,27 +14411,37 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * A configuration object for {@link Phaser.Game}. * * @typedef {object} GameConfig +* @property {boolean} [GameConfig.alignH=false] - Sets {@link Phaser.ScaleManager#pageAlignHorizontally}. +* @property {boolean} [GameConfig.alignV=false] - Sets {@link Phaser.ScaleManager#pageAlignVertically}. * @property {number|string} [GameConfig.antialias=true] -* @property {string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. +* @property {number|string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. * @property {HTMLCanvasElement} [GameConfig.canvas] - An existing canvas to display the game in. * @property {string} [GameConfig.canvasId] - `id` attribute value to assign to the game canvas. * @property {string} [GameConfig.canvasStyle] - `style` attribute value to assign to the game canvas. +* @property {boolean} [GameConfig.crisp=false] - Sets the canvas's `image-rendering` property to `pixelated` or `crisp-edges`. See {@link Phaser.Canvas.setImageRenderingCrisp}. * @property {boolean} [GameConfig.disableVisibilityChange=false] - Sets {@link Phaser.Stage#disableVisibilityChange} +* @property {boolean} [GameConfig.disableStart=false] - Prevents the game loop from starting, allowing you to call updates manually. Helpful for automated testing. * @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {boolean} [GameConfig.failIfMajorPerformanceCaveat] - Abort WebGL context creation if performance would be poor. You can use this with renderer AUTO. * @property {boolean} [GameConfig.forceSetTimeout] - Use {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout setTimeOut} for the game loop even if {@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame requestAnimationFrame} is available. * @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. * @property {HTMLElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. * @property {number|string} [GameConfig.height=600] * @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. * @property {string|HTMLElement} [GameConfig.parent=''] - The DOM element into which this games canvas will be injected. -* @property {object} [GameConfig.physicsConfig=null] +* @property {object} [GameConfig.physicsConfig] * @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. * @property {number} [GameConfig.renderer=Phaser.AUTO] * @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {boolean} [GameConfig.roundPixels=false] - Round pixel coordinates for rendering (rather than interpolating). Handy for crisp pixel art and speed on legacy devices. +* @property {number} [GameConfig.scaleH=1] - Horizontal scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @property {object} [GameConfig.state=null] +* @property {object} [GameConfig.state] * @property {boolean} [GameConfig.transparent=false] +* @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. +* @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] */ // Documentation stub for linking. @@ -14581,6 +14618,11 @@ Phaser.Game.prototype = { } } + if (this.config['disableStart']) + { + return; + } + if (this.cache.isReady) { this.raf.start(); @@ -14669,6 +14711,12 @@ Phaser.Game.prototype = { */ setUpRenderer: function () { + if (!this.device.canvas) + { + // Nothing else to do + throw new Error('Phaser.Game - Cannot create Canvas 2d context, aborting.'); + } + if (this.config['canvas']) { this.canvas = this.config['canvas']; @@ -14687,42 +14735,52 @@ Phaser.Game.prototype = { this.canvas.style['-webkit-full-screen'] = 'width: 100%; height: 100%'; } - if (this.renderType === Phaser.HEADLESS || this.renderType === Phaser.CANVAS || (this.renderType === Phaser.AUTO && !this.device.webGL)) + if (this.config['crisp']) { - if (this.device.canvas) - { - this.renderer = new PIXI.CanvasRenderer(this); - - this.context = this.renderer.context; - - if (this.renderType === Phaser.AUTO) { - this.renderType = Phaser.CANVAS; - } - } - else - { - throw new Error('Phaser.Game - Cannot create Canvas or WebGL context, aborting.'); - } + Phaser.Canvas.setImageRenderingCrisp(this.canvas); } - else - { - // They requested WebGL and their browser supports it + if ((this.renderType === Phaser.WEBGL) || + (this.renderType === Phaser.WEBGL_MULTI) || + (this.renderType === Phaser.AUTO && this.device.webGL)) + { if (this.multiTexture || this.renderType === Phaser.WEBGL_MULTI) { PIXI.enableMultiTexture(); - this.multiTexture = true; } - this.renderType = Phaser.WEBGL; + try + { + this.renderer = new PIXI.WebGLRenderer(this, this.config); + this.renderType = Phaser.WEBGL; + this.context = null; + this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); + this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + } + catch (webGLRendererError) + { + this.renderer = null; + this.multiTexture = false; + PIXI._enableMultiTextureToggle = false; - this.renderer = new PIXI.WebGLRenderer(this); + if (this.renderType === Phaser.WEBGL) + { + // No fallback + throw webGLRendererError; + } + } + } - this.context = null; + if (!this.renderer) + { + this.renderer = new PIXI.CanvasRenderer(this, this.config); + this.context = this.renderer.context; - this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); - this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + if (this.renderType === Phaser.AUTO) + { + this.renderType = Phaser.CANVAS; + } } if (this.device.cocoonJS) @@ -14780,6 +14838,12 @@ Phaser.Game.prototype = { */ update: function (time) { + if (this.pendingDestroy) + { + this.destroy(); + return; + } + this.time.update(time); if (this._kickstart) @@ -14807,12 +14871,19 @@ Phaser.Game.prototype = { this.fpsProblemNotifier.dispatch(); } - // reset the _deltaTime accumulator which will cause all pending dropped frames to be permanently skipped + // reset the _deltaTime accumulator which will cause all pending late updates to be permanently skipped this._deltaTime = 0; this._spiraling = 0; - // call the game render update exactly once every frame - this.updateRender(this.time.slowMotion * this.time.desiredFps); + if (this.dropFrames) + { + this.rendersThisFrame = 0; + } + else + { + this.updateRender(this.time.slowMotion * this.time.desiredFps); + this.rendersThisFrame = 1; + } } else { @@ -14833,6 +14904,15 @@ Phaser.Game.prototype = { this.updatesThisFrame = Math.min(1, this.updatesThisFrame); } + if (this.forceSingleRender) + { + this.rendersThisFrame = 1; + } + else + { + this.rendersThisFrame = Math.min(1, this.updatesThisFrame); + } + while (this._deltaTime >= slowStep) { this._deltaTime -= slowStep; @@ -14865,8 +14945,10 @@ Phaser.Game.prototype = { this._lastCount = count; - // call the game render update exactly once every frame unless we're playing catch-up from a spiral condition - this.updateRender(this._deltaTime / slowStep); + if (this.rendersThisFrame > 0) + { + this.updateRender(this._deltaTime / slowStep); + } } }, @@ -14887,6 +14969,8 @@ Phaser.Game.prototype = { this.pendingStep = true; } + this.time.countUpdate(); + this.scale.preUpdate(); this.debug.preUpdate(); this.camera.preUpdate(); @@ -14912,6 +14996,7 @@ Phaser.Game.prototype = { this.scale.pauseUpdate(); this.state.pauseUpdate(timeStep); this.debug.preUpdate(); + this.input.pauseUpdate(); } this.stage.updateTransform(); @@ -14940,6 +15025,8 @@ Phaser.Game.prototype = { return; } + this.time.countRender(); + this.state.preRender(elapsedTime); if (this.renderType !== Phaser.HEADLESS) @@ -15002,6 +15089,8 @@ Phaser.Game.prototype = { * Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM * and resets the PIXI default renderer. * + * To destroy the game during an update callback, set {@link #pendingDestroy} instead. + * * @method Phaser.Game#destroy */ destroy: function () { @@ -15919,6 +16008,21 @@ Phaser.Input.prototype = { }, + /** + * Update method while paused. + * + * @method Phaser.Input#pauseUpdate + * @private + */ + pauseUpdate: function () { + + if (this.gamepad && this.gamepad.active) + { + this.gamepad.update(); + } + + }, + /** * Reset all of the Pointers and Input states. * @@ -15946,11 +16050,6 @@ Phaser.Input.prototype = { this.keyboard.reset(hard); } - if (this.gamepad) - { - this.gamepad.reset(); - } - for (var i = 0; i < this.pointers.length; i++) { this.pointers[i].reset(); @@ -16933,6 +17032,8 @@ Phaser.Mouse.prototype = { this.input.mousePointer.stop(event); } + this.input.interactiveItems.callAll('_pointerOutHandler', this.input.mousePointer); + }, /** @@ -19466,22 +19567,6 @@ Phaser.Touch.prototype = { } } - /** - * Adds a callback that is fired when a browser touchstart or touchend event is received. - * - * @method Phaser.Touch#addTouchLockCallback - * @deprecated Use {@link Phaser.Input#addTouchLockCallback} instead. - */ - this.addTouchLockCallback = this.game.input.addTouchLockCallback.bind(this.game.input); - - /** - * Removes the callback at the defined index from the touchLockCallbacks array. - * - * @method Phaser.Touch#removeTouchLockCallback - * @deprecated Use {@link Phaser.Input#removeTouchLockCallback} instead. - */ - this.removeTouchLockCallback = this.game.input.removeTouchLockCallback.bind(this.game.input); - }, /** @@ -27081,6 +27166,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 0; + this.texture.baseTexture.dirty(); } } else @@ -27088,6 +27174,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 1; + this.texture.baseTexture.dirty(); } } } @@ -33738,7 +33825,7 @@ Phaser.Graphics = function (game, x, y) { this.graphicsData = []; /** - * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF to reset the tint. + * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF (Phaser.Color.WHITE) to reset the tint. * * @property tint * @type Number @@ -38680,6 +38767,7 @@ Object.defineProperty(Phaser.BitmapText.prototype, 'smoothed', { { this._data.base.scaleMode = 1; } + this._data.base.dirty(); } @@ -41273,17 +41361,11 @@ Phaser.Device = function () { this.canUseMultiply = false; /** - * @property {boolean} webGL - Is webGL (and stencil support) available? + * @property {boolean} webGL - Is webGL available? * @default */ this.webGL = false; - /** - * @property {?Error} webGLError - Any error raised while creating a test {@link #webGL} context. - * @default - */ - this.webGLError = null; - /** * @property {boolean} file - Is file available? * @default @@ -41900,30 +41982,7 @@ Phaser.Device._initialize = function () { device.file = !!window['File'] && !!window['FileReader'] && !!window['FileList'] && !!window['Blob']; device.fileSystem = !!window['requestFileSystem']; - device.webGL = !!(function () { - if (!window.WebGLRenderingContext) - { - return false; - } - - try { - var canvas = document.createElement('canvas'); - - // Force screencanvas to false - canvas.screencanvas = false; - - // See PIXI.WebGLRenderer#_contextOptions - var contextOptions = { stencil: true }; - - return canvas.getContext('webgl' , contextOptions) || - canvas.getContext('experimental-webgl', contextOptions); - - } catch (error) { - device.webGLError = error; - - return false; - } - })(); + device.webGL = !!window.WebGLRenderingContext; device.worker = !!window['Worker']; @@ -42517,22 +42576,6 @@ Phaser.Device.needsTouchUnlock = function () { return !!(!this.cocoonJS && (this.iOS || this.android) || (window.PhaserGlobal && window.PhaserGlobal.fakeiOSTouchLock)); }; -/** -* Returns false. -* -* @deprecated -* @method isConsoleOpen -* @memberof Phaser.Device.prototype -* @return false -*/ -Phaser.Device.isConsoleOpen = function () { - - console.warn('Phaser.Device.isConsoleOpen is deprecated and will be removed.'); - - return false; - -}; - /** * Detect if the host is a an Android Stock browser. * This is available before the device "ready" event. @@ -42559,7 +42602,7 @@ Phaser.Device.isAndroidStockBrowser = function () { */ /** -* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, +* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, * including styles, offset and aspect ratio. * * @class Phaser.Canvas @@ -42812,16 +42855,20 @@ Phaser.Canvas = { }, /** - * Sets the CSS image-rendering property on the given canvas to be 'crisp' (aka 'optimize contrast' on webkit). + * Sets the CSS image-rendering property to `pixelated` or `crisp-edges`. + * This can remove blurring when the game canvas is scaled up. + * In some browsers this has no visible effect in WEBGL mode. * Note that if this doesn't given the desired result then see the setSmoothingEnabled. * * @method Phaser.Canvas.setImageRenderingCrisp * @param {HTMLCanvasElement} canvas - The canvas to set image-rendering crisp on. * @return {HTMLCanvasElement} Returns the source canvas. + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering + * @see https://caniuse.com/#feat=css-crisp-edges */ setImageRenderingCrisp: function (canvas) { - var types = [ 'optimizeSpeed', 'crisp-edges', '-moz-crisp-edges', '-webkit-optimize-contrast', 'optimize-contrast', 'pixelated' ]; + var types = [ '-webkit-optimize-contrast', '-moz-crisp-edges', 'crisp-edges', 'pixelated' ]; for (var i = 0; i < types.length; i++) { @@ -45529,7 +45576,7 @@ Phaser.TweenManager.prototype = { * * @method Phaser.TweenManager#isTweening * @param {object} object - The object to check for tweens against. - * @param {boolean} [checkIsRunning] - Also check that the tween is running and is not marked for deletion. + * @param {boolean} [checkIsRunning=false] - Also check that the tween is running and is not marked for deletion. * @returns {boolean} Returns true if the object is currently being tweened, false if not. */ isTweening: function(object, checkIsRunning) { @@ -45537,7 +45584,7 @@ Phaser.TweenManager.prototype = { if (!checkIsRunning) { checkIsRunning = false; } return this._tweens.some(function(tween) { - return (tween.target === object) && !checkIsRunning || (tween.isRunning && !tween.pendingDelete); + return (tween.target === object) && (!checkIsRunning || (tween.isRunning && !tween.pendingDelete)); }); }, @@ -47798,6 +47845,8 @@ Phaser.Time = function (game) { * * This value _may_ include time that the game is paused/inactive. * + * While the game is active, this will be similar to (1000 / {@link #fps}). + * * _Note:_ This is updated only once per game loop - even if multiple logic update steps are done. * Use {@link Phaser.Timer#physicsTime physicsTime} as a basis of game/logic calculations instead. * @@ -47892,7 +47941,7 @@ Phaser.Time = function (game) { this.advancedTiming = false; /** - * Advanced timing result: The number of render frames record in the last second. + * Advanced timing result: The number of animation frames received from the browser in the last second. * * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. * @property {integer} frames @@ -47900,6 +47949,24 @@ Phaser.Time = function (game) { */ this.frames = 0; + /** + * Advanced timing result: The number of {@link Phaser.Game#updateLogic logic updates} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} updates + * @readonly + */ + this.updates = 0; + + /** + * Advanced timing result: The number of {@link Phaser.Game#updateRender renders} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} renders + * @readonly + */ + this.renders = 0; + /** * Advanced timing result: Frames per second. * @@ -47909,6 +47976,24 @@ Phaser.Time = function (game) { */ this.fps = 0; + /** + * Advanced timing result: Logic updates per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} ups + * @readonly + */ + this.ups = 0; + + /** + * Advanced timing result: Renders per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} rps + * @readonly + */ + this.rps = 0; + /** * Advanced timing result: The lowest rate the fps has dropped to. * @@ -48220,11 +48305,46 @@ Phaser.Time.prototype = { if (this.now > this._timeLastSecond + 1000) { - this.fps = Math.round((this.frames * 1000) / (this.now - this._timeLastSecond)); + var interval = this.now - this._timeLastSecond; + this.fps = Math.round((this.frames * 1000) / interval); + this.ups = Math.round((this.updates * 1000) / interval); + this.rps = Math.round((this.renders * 1000) / interval); this.fpsMin = Math.min(this.fpsMin, this.fps); this.fpsMax = Math.max(this.fpsMax, this.fps); this._timeLastSecond = this.now; this.frames = 0; + this.updates = 0; + this.renders = 0; + } + + }, + + /** + * Counts one logic update (if advanced timing is enabled). + * + * @method Phaser.Time#countUpdate + * @private + */ + countUpdate: function () { + + if (this.advancedTiming) + { + this.updates++; + } + + }, + + /** + * Counts one render (if advanced timing is enabled). + * + * @method Phaser.Time#countRender + * @private + */ + countRender: function () { + + if (this.advancedTiming) + { + this.renders++; } }, @@ -48321,12 +48441,15 @@ Phaser.Time.prototype = { }; /** -* The desired frame rate of the game. +* The number of logic updates per second. * * This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. * +* The render rate is unaffected unless you also turn off {@link Phaser.Game#forceSingleRender}. +* * @name Phaser.Time#desiredFps -* @property {integer} desiredFps - The desired frame rate of the game. Defaults to 60. +* @type {integer} +* @default 60 */ Object.defineProperty(Phaser.Time.prototype, "desiredFps", { @@ -53939,7 +54062,7 @@ Phaser.Loader = function (game) { }; /** - * This event is dispatched when the loading process starts: before the first file has been requested, + * This event is dispatched when the loading process starts: before the first file has been requested, * but after all the initial packs have been loaded. * * @property {Phaser.Signal} onLoadStart @@ -53998,22 +54121,6 @@ Phaser.Loader = function (game) { */ this.onFileError = new Phaser.Signal(); - /** - * If true and if the browser supports XDomainRequest, it will be used in preference for XHR. - * - * This is only relevant for IE 9 and should _only_ be enabled for IE 9 clients when required by the server/CDN. - * - * @property {boolean} useXDomainRequest - * @deprecated This is only relevant for IE 9. - */ - this.useXDomainRequest = false; - - /** - * @private - * @property {boolean} _warnedAboutXDomainRequest - Control number of warnings for using XDR outside of IE 9. - */ - this._warnedAboutXDomainRequest = false; - /** * If true (the default) then parallel downloading will be enabled. * @@ -56311,12 +56418,6 @@ Phaser.Loader.prototype = { */ xhrLoad: function (file, url, type, onload, onerror) { - if (this.useXDomainRequest && window.XDomainRequest) - { - this.xhrLoadWithXDR(file, url, type, onload, onerror); - return; - } - var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = type; @@ -56393,88 +56494,6 @@ Phaser.Loader.prototype = { }, - /** - * Starts the xhr loader - using XDomainRequest. - * This should _only_ be used with IE 9. Phaser does not support IE 8 and XDR is deprecated in IE 10. - * - * This is designed specifically to use with asset file processing. - * - * @method Phaser.Loader#xhrLoadWithXDR - * @private - * @param {object} file - The file/pack to load. - * @param {string} url - The URL of the file. - * @param {string} type - The xhr responseType. - * @param {function} onload - The function to call on success. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @param {function} [onerror=fileError] The function to call on error. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @deprecated This is only relevant for IE 9. - */ - xhrLoadWithXDR: function (file, url, type, onload, onerror) { - - // Special IE9 magic .. only - if (!this._warnedAboutXDomainRequest && - (!this.game.device.ie || this.game.device.ieVersion >= 10)) - { - this._warnedAboutXDomainRequest = true; - console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"); - } - - // Ref: http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx - var xhr = new window.XDomainRequest(); - xhr.open('GET', url, true); - xhr.responseType = type; - - // XDomainRequest has a few quirks. Occasionally it will abort requests - // A way to avoid this is to make sure ALL callbacks are set even if not used - // More info here: http://stackoverflow.com/questions/15786966/xdomainrequest-aborts-post-on-ie-9 - xhr.timeout = 3000; - - onerror = onerror || this.fileError; - - var _this = this; - - xhr.onerror = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.ontimeout = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.onprogress = function() {}; - - xhr.onload = function () { - try { - if (xhr.readyState === 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. - return onerror.call(_this, file, xhr); - } - else { - return onload.call(_this, file, xhr); - } - return onload.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - file.requestObject = xhr; - file.requestUrl = url; - - // Note: The xdr.send() call is wrapped in a timeout to prevent an issue with the interface where some requests are lost - // if multiple XDomainRequests are being sent at the same time. - setTimeout(function () { - xhr.send(); - }, 0); - - }, - /** * Give a bunch of URLs, return the first URL that has an extension this device thinks it can play. * @@ -56943,10 +56962,8 @@ Phaser.Loader.prototype = { /** * Update the loading sprite progress. * - * @method Phaser.Loader#nextFile + * @method Phaser.Loader#updateProgress * @private - * @param {object} previousFile - * @param {boolean} success - Whether the previous asset loaded successfully or not. */ updateProgress: function () { @@ -57934,7 +57951,7 @@ Phaser.Sound = function (game, key, volume, loop, connect) { this.gainNode = this.context.createGain(); } - this.gainNode.gain.value = volume * this.game.sound.volume; + this.gainNode.gain.value = volume; if (connect) { @@ -57960,47 +57977,47 @@ Phaser.Sound = function (game, key, volume, loop, connect) { } /** - * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files) + * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files). It passes one argument, this sound. */ this.onDecoded = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played. + * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played or a looping marker is restarted. It passes one argument, this sound. */ this.onPlay = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. + * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. It passes one argument, this sound. */ this.onPause = new Phaser.Signal(); /** - * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. + * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. It passes one argument, this sound. */ this.onResume = new Phaser.Signal(); /** - * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. + * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. It passes one argument, this sound. */ this.onLoop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback. + * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback or when a non-looping marker completes. It passes two arguments: this sound and any {@link #currentMarker marker} that was playing. */ this.onStop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. + * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. It passes one argument, this sound. */ this.onMute = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. + * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. It passes two arguments: the {@link #currentMarker} and this sound. */ this.onMarkerComplete = new Phaser.Signal(); /** - * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. + * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. It passes two arguments: this sound and its current {@link #volume}. */ this.onFadeComplete = new Phaser.Signal(); @@ -59026,6 +59043,13 @@ Phaser.SoundManager = function (game) { */ this.onUnMute = new Phaser.Signal(); + /** + * This signal is dispatched when the SoundManager is touch-unlocked. + * If the device doesn't {@link Phaser.Device.needsTouchUnlock need touch-unlocking}, the signal won't be dispatched. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -59147,16 +59171,19 @@ Phaser.SoundManager.prototype = { */ boot: function () { - if (this.game.device.iOS && this.game.device.webAudio === false) + var device = this.game.device; + var PhaserGlobal = window.PhaserGlobal; + + if (device.iOS && device.webAudio === false) { this.channels = 1; } // PhaserGlobal overrides - if (window['PhaserGlobal']) + if (PhaserGlobal) { // Check to see if all audio playback is disabled (i.e. handled by a 3rd party class) - if (window['PhaserGlobal'].disableAudio === true) + if (PhaserGlobal.disableAudio === true) { this.noAudio = true; this.touchLocked = false; @@ -59164,7 +59191,7 @@ Phaser.SoundManager.prototype = { } // Check if the Web Audio API is disabled (for testing Audio Tag playback during development) - if (window['PhaserGlobal'].disableWebAudio === true) + if (PhaserGlobal.disableWebAudio === true) { this.usingAudioTag = true; this.touchLocked = false; @@ -59172,9 +59199,9 @@ Phaser.SoundManager.prototype = { } } - if (window['PhaserGlobal'] && window['PhaserGlobal'].audioContext) + if (PhaserGlobal && PhaserGlobal.audioContext) { - this.context = window['PhaserGlobal'].audioContext; + this.context = PhaserGlobal.audioContext; } else { @@ -59226,19 +59253,24 @@ Phaser.SoundManager.prototype = { this.masterGain = this.context.createGain(); } - this._setGain(1); + this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); } if (!this.noAudio) { // On mobile we need a native touch event before we can play anything, so capture it here - if (this.game.device.needsTouchUnlock()) + if (device.needsTouchUnlock()) { this.setTouchLock(); } } + if (this.usingWebAudio && device.chrome && device.chromeVersion <= 65) + { + console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. '); + } + }, /** @@ -59249,7 +59281,7 @@ Phaser.SoundManager.prototype = { */ setTouchLock: function () { - if (this.noAudio || (window['PhaserGlobal'] && window['PhaserGlobal'].disableAudio === true)) + if (this.noAudio || (window.PhaserGlobal && window.PhaserGlobal.disableAudio === true)) { return; } @@ -59260,6 +59292,20 @@ Phaser.SoundManager.prototype = { }, + /** + * Turns off {@link #touchLocked} and dispatches {@link #onTouchUnlock}. + * + * @method Phaser.SoundManager#setTouchUnlock + * @private + */ + setTouchUnlock: function () { + + this.touchLocked = false; + this._unlockSource = null; + this.onTouchUnlock.dispatch(); + + }, + /** * Enables the audio, usually after the first touch. * @@ -59276,8 +59322,7 @@ Phaser.SoundManager.prototype = { // Global override (mostly for Audio Tag testing) if (this.usingAudioTag) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } else if (this.usingWebAudio) { @@ -59477,8 +59522,7 @@ Phaser.SoundManager.prototype = { if (this.touchLocked && this._unlockSource !== null && (this._unlockSource.playbackState === this._unlockSource.PLAYING_STATE || this._unlockSource.playbackState === this._unlockSource.FINISHED_STATE)) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } for (var i = 0; i < this._sounds.length; i++) @@ -59573,6 +59617,28 @@ Phaser.SoundManager.prototype = { }, + /** + * Removes all Sounds from the SoundManager. + * The removed Sounds are destroyed before removal. + * + * @method Phaser.SoundManager#removeAll + */ + removeAll: function () { + + this.stopAll(); + + for (var i = 0; i < this._sounds.length; i++) + { + if (this._sounds[i]) + { + this._sounds[i].destroy(); + } + } + + this._sounds.length = 0; + + }, + /** * Removes all Sounds from the SoundManager that have an asset key matching the given value. * The removed Sounds are destroyed before removal. @@ -59642,7 +59708,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { this._muteVolume = this.masterGain.gain.value; - this._setGain(0); + this.masterGain.gain.value = 0; } // Loop through sounds @@ -59675,7 +59741,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { - this._setGain(this._muteVolume); + this.masterGain.gain.value = this._muteVolume; } // Loop through sounds @@ -59698,26 +59764,16 @@ Phaser.SoundManager.prototype = { */ destroy: function () { - this.stopAll(); - - for (var i = 0; i < this._sounds.length; i++) - { - if (this._sounds[i]) - { - this._sounds[i].destroy(); - } - } - - this._sounds = []; + this.removeAll(); this.onSoundDecode.dispose(); if (this.context) { - if (window['PhaserGlobal']) + if (window.PhaserGlobal) { // Store this in the PhaserGlobal window var, if set, to allow for re-use if the game is created again without the page refreshing - window['PhaserGlobal'].audioContext = this.context; + window.PhaserGlobal.audioContext = this.context; } else { @@ -59728,12 +59784,6 @@ Phaser.SoundManager.prototype = { } } - }, - - _setGain: function (value) { - - this.masterGain.gain.setTargetAtTime(value, 0, 0.01); - } }; @@ -59809,7 +59859,7 @@ Object.defineProperty(Phaser.SoundManager.prototype, "volume", { if (this.usingWebAudio) { - this._setGain(value); + this.masterGain.gain.value = value; } else { @@ -60498,6 +60548,20 @@ Phaser.ScaleManager.RESIZE = 3; */ Phaser.ScaleManager.USER_SCALE = 4; +/** +* Names of the scale modes, indexed by value. +* +* @constant +* @type {string[]} +*/ +Phaser.ScaleManager.MODES = [ + 'EXACT_FIT', + 'NO_SCALE', + 'SHOW_ALL', + 'RESIZE', + 'USER_SCALE' +]; + Phaser.ScaleManager.prototype = { /** @@ -60634,6 +60698,14 @@ Phaser.ScaleManager.prototype = { this.fullScreenTarget = config['fullScreenTarget']; } + this.pageAlignHorizontally = config.alignH || false; + this.pageAlignVertically = config.alignV || false; + + if (config.scaleH && config.scaleV) + { + this.setUserScale(config.scaleH, config.scaleV, config.trimH, config.trimV); + } + }, /** @@ -62597,6 +62669,36 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Render Sound Manager information, including volume, mute, audio mode, and locked status. + * + * @method Phaser.Utils.Debug#sound + * @param {number} x - X position of the debug info to be rendered. + * @param {number} y - Y position of the debug info to be rendered. + * @param {string} [color='rgb(255,255,255)'] - color of the debug info to be rendered. (format is css color string). + */ + sound: function (x, y, color) { + + var sound = this.game.sound; + + this.start(x, y, color); + + if (sound.noAudio) + { + this.line('Audio is disabled'); + } + else + { + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Mute on pause: ' + sound.muteOnPause); + this.line('Using: ' + (sound.usingWebAudio ? ('Web Audio - ' + sound.context.state) : 'Audio Tag')); + this.line('Touch locked: ' + sound.touchLocked); + } + + this.stop(); + + }, + /** * Render Sound information, including decoded state, duration, volume and more. * @@ -62609,13 +62711,13 @@ Phaser.Utils.Debug.prototype = { soundInfo: function (sound, x, y, color) { this.start(x, y, color); - this.line('Sound: ' + sound.key + ' Locked: ' + sound.game.sound.touchLocked); + this.line('Sound: ' + sound.key + ' Touch locked: ' + sound.game.sound.touchLocked); this.line('Is Ready?: ' + this.game.cache.isSoundReady(sound.key) + ' Pending Playback: ' + sound.pendingPlayback); this.line('Decoded: ' + sound.isDecoded + ' Decoding: ' + sound.isDecoding); - this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying); + this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying + ' Loop: ' + sound.loop); this.line('Time: ' + sound.currentTime); - this.line('Volume: ' + sound.volume + ' Muted: ' + sound.mute); - this.line('WebAudio: ' + sound.usingWebAudio + ' Audio: ' + sound.usingAudioTag); + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Using: ' + (sound.usingWebAudio ? 'Web Audio' : 'Audio Tag')); if (sound.currentMarker !== '') { @@ -62676,17 +62778,12 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Camera (' + camera.width + ' x ' + camera.height + ')'); this.line('x: ' + camera.x + ' y: ' + camera.y); - - if (bounds) - { - this.line('Bounds x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height); - } - - this.line('View x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); + this.line('Bounds: ' + (bounds ? ('x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height) : 'none')); + this.line('View: x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); this.line('Deadzone: ' + (deadzone ? ('x: ' + deadzone.x + ' y: ' + deadzone.y + ' w: ' + deadzone.width + ' h: ' + deadzone.height) : deadzone)); this.line('Total in view: ' + camera.totalInView); this.line('At limit: x: ' + camera.atLimit.x + ' y: ' + camera.atLimit.y); - this.line('Target: ' + (target ? (target.name || target) : target)); + this.line('Target: ' + (target ? (target.name || target) : 'none')); this.stop(); }, @@ -63362,6 +63459,86 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Prints game/canvas dimensions and {@link Phaser.ScaleManager game scale} settings. + * + * @method Phaser.Utils.Debug#scale + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + scale: function (x, y, color) { + + this.start(x, y, color); + + var scale = this.game.scale; + var factor = scale.scaleFactorInversed; + var bounds = scale._parentBounds; + var x = ' x '; + + this.line('Game: ' + this.game.width + x + this.game.height); + this.line('Canvas: ' + scale.width + x + scale.height + + ' (' + factor.x.toFixed(2) + x + factor.y.toFixed(2) + ')' + + ' [' + scale.aspectRatio.toFixed(2) + ']'); + this.line('Mode: ' + Phaser.ScaleManager.MODES[scale.currentScaleMode] + + (scale.currentScaleMode === Phaser.ScaleManager.USER_SCALE ? + (' (' + scale._userScaleFactor.x + x + scale._userScaleFactor.y + ')') : + '')); + this.line('Parent: ' + (scale.parentIsWindow ? 'window' : scale.parentNode) + + (bounds.empty ? '' : (' (' + bounds.width + x + bounds.height + ')'))); + this.line('Screen: ' + scale.classifyOrientation(scale.screenOrientation) + + (scale.incorrectOrientation ? ' (incorrect)' : '')); + + this.stop(); + + }, + + /** + * Prints the progress of a {@link Phaser.Loader}. + * + * Typically you would call this within a {@link State#loadRender} callback and pass `game.load` ({@link Phaser.Game#load}). + * + * You can enable {@link Phaser.Loader#resetLocked} to temporarily hold the loader in its 'complete' state. + * Just remember to disable it before restarting the loader (such as when changing states). + * + * @method Phaser.Utils.Debug#loader + * @param {Phaser.Loader} loader - The loader. Usually `game.load` ({@link Phaser.Game#load}). + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + loader: function (loader, x, y, color) { + + var pad = Phaser.Utils.pad; + + this.start(x, y, color); + + if (loader.hasLoaded) + { + this.line('Complete' + (loader.resetLocked ? ' [locked]' : '')); + } + else if (loader.isLoading) + { + this.line('Loading'); + } + else + { + this.line('Not started'); + } + + if (!loader.hasLoaded || loader.resetLocked) + { + this.line('Progress: ' + (pad(loader.progress, 3) + '%')); + this.line('Files: ' + loader._loadedFileCount + ' of ' + + loader._totalFileCount); + this.line('Packs: ' + loader._loadedPackCount + ' of ' + + loader._loadedPackCount); + } + + this.stop(); + + }, + /** * Destroy this object. * @@ -64364,29 +64541,6 @@ Phaser.ArrayUtils = { }, - /** - * Moves the element from the start of the array to the end, shifting all items in the process. - * The "rotation" happens to the left. - * - * Before: `[ A, B, C, D, E, F ]` - * After: `[ B, C, D, E, F, A ]` - * - * See also Phaser.ArrayUtils.rotateRight - * - * @method Phaser.ArrayUtils.rotate - * @deprecated Please use Phaser.ArrayUtils.rotateLeft instead. - * @param {any[]} array - The array to rotate. The array is modified. - * @return {any} The rotated value. - */ - rotate: function (array) { - - var s = array.shift(); - array.push(s); - - return s; - - }, - /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]` (or `[0, start]`, if `end` is omitted). * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. @@ -65375,6 +65529,96 @@ Phaser.FlexLayer.prototype.debug = function () { */ Phaser.Color = { + /** + * Red (0xff0000) + * + * @type number + * @constant + * @default + */ + RED: 0xff0000, + + /** + * Orange (0xff9900) + * + * @type number + * @constant + * @default + */ + ORANGE: 0xff9900, + + /** + * Yellow (0xffff00) + * + * @type number + * @constant + * @default + */ + YELLOW: 0xffff00, + + /** + * Green (0x00ff00) + * + * @type number + * @constant + * @default + */ + GREEN: 0x00ff00, + + /** + * Aqua (0x00ffff) + * + * @type number + * @constant + * @default + */ + AQUA: 0x00ffff, + + /** + * Blue (0x0000ff) + * + * @type number + * @constant + * @default + */ + BLUE: 0x0000ff, + + /** + * Violet/purple (0xff00ff) + * + * @type number + * @constant + * @default + */ + VIOLET: 0xff00ff, + + /** + * White (0xffffff) + * + * @type number + * @constant + * @default + */ + WHITE: 0xffffff, + + /** + * Black (0x000000) + * + * @type number + * @constant + * @default + */ + BLACK: 0, + + /** + * Gray (0x666666) + * + * @type number + * @constant + * @default + */ + GRAY: 0x666666, + /** * Packs the r, g, b, a components into a single integer, for use with Int32Array. * If device is little endian then ABGR order is used. Otherwise RGBA order is used. @@ -67317,6 +67561,7 @@ Phaser.Physics.Arcade = function (game) { /** * @property {number} OVERLAP_BIAS - A value added to the delta values during collision checks. + * @default */ this.OVERLAP_BIAS = 4; @@ -77049,7 +77294,7 @@ Phaser.Tile = function (layer, index, x, y, width, height) { * @property {number} y - The y map coordinate of this tile. */ this.y = y; - + /** * @property {number} rotation - The rotation angle of this tile. */ @@ -77059,7 +77304,7 @@ Phaser.Tile = function (layer, index, x, y, width, height) { * @property {boolean} flipped - Whether this tile is flipped (mirrored) or not. */ this.flipped = false; - + /** * @property {number} x - The x map coordinate of this tile. */ @@ -77161,6 +77406,12 @@ Phaser.Tile = function (layer, index, x, y, width, height) { */ this.collisionCallbackContext = this; + /** + * @property {boolean} debug + * @default + */ + this.debug = false; + }; Phaser.Tile.prototype = { @@ -82031,7 +82282,7 @@ Phaser.Particle.prototype.reset = function(x, y, health) { */ /** -* Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it. +* Phaser.Particles tracks any Emitters attached to it. * * @class Phaser.Particles * @constructor @@ -82077,26 +82328,6 @@ Phaser.Particles.prototype = { */ remove: function (emitter) { delete this.emitters[emitter.id]; - }, - - /** - * Updates all Emitters who have their exists value set to true. - * - * Phaser no longer uses this method; Emitters receive updates via {@link Phaser.Stage#update} instead. - * - * @method Phaser.Particles#update - * @protected - * @deprecated - */ - update: function () { - for (var key in this.emitters) - { - if (this.emitters[key].exists) - { - this.emitters[key].update(); - } - } - } }; @@ -85922,6 +86153,19 @@ Phaser.Video = function (game, key, url) { */ this.onTimeout = new Phaser.Signal(); + /** + * This signal is dispatched when the Video is unlocked. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + + /** + * Start playing the video when it's unlocked. + * @property {boolean} playWhenUnlocked + * @default + */ + this.playWhenUnlocked = true; + /** * @property {integer} timeout - The amount of ms allowed to elapsed before the Video.onTimeout signal is dispatched while waiting for webcam access. * @default @@ -86881,9 +87125,12 @@ Phaser.Video.prototype = { this.touchLocked = false; - this.video.play(); + if (this.playWhenUnlocked) + { + this.video.play(); - this.onPlay.dispatch(this, this.loop, this.playbackRate); + this.onPlay.dispatch(this, this.loop, this.playbackRate); + } if (this.key) { @@ -86895,6 +87142,8 @@ Phaser.Video.prototype = { } } + this.onTouchUnlock.dispatch(this); + return true; }, diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 521ce63bb..e5bc0ab38 100644 --- a/build/custom/phaser-creature.map +++ b/build/custom/phaser-creature.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-creature.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","key","currentObj","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","webGLError","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","contextOptions","stencil","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","_setGain","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","setTargetAtTime","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","_enableMultiTextureToggle","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","animation","loadAnchors","meshData","_creature","CreatureAnimation","CreatureManager","timeDelta","creatureBoundsMin","creatureBoundsMax","target_creature","total_num_pts","global_indices","updateRenderData","global_pts","global_uvs","AddAnimation","SetActiveAnimationName","Update","updateData","creatureShader","_renderCreature","updateCreatureBounds","ComputeBoundaryMinMax","boundary_min","boundary_max","read_pts","render_pts","read_uvs","pt_index","uv_index","write_pt_index","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-creature.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-creature.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","key","currentObj","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","countUpdate","countRender","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","animation","loadAnchors","meshData","_creature","CreatureAnimation","CreatureManager","timeDelta","creatureBoundsMin","creatureBoundsMax","target_creature","total_num_pts","global_indices","updateRenderData","global_pts","global_uvs","AddAnimation","SetActiveAnimationName","Update","updateData","creatureShader","_renderCreature","updateCreatureBounds","ComputeBoundaryMinMax","boundary_min","boundary_max","read_pts","render_pts","read_uvs","pt_index","uv_index","write_pt_index","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-creature.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-creature.min.js b/build/custom/phaser-creature.min.js index bb815484a..416d23a07 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,m=new i.Point(u,p),g=new i.Point(d,f),y=e.pointOnSegment(m.x,m.y,.01),v=e.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),R.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var k=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/k,R/k,O/k,E/k,I/k,L/k),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!function(){if(!window.WebGLRenderingContext)return!1;try{var t=document.createElement("canvas");t.screencanvas=!1;var e={stencil:!0};return t.getContext("webgl",e)||t.getContext("experimental-webgl",e)}catch(t){return s.webGLError=t,!1}}(),s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&!e||i.isRunning&&!i.pendingDelete})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this._setGain(1),this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this._setGain(t);else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=o.data.length;g536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((B=new i.Tile(D,A,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===o.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=i._UID++,this.gl=t,this.program=null,this.fragmentSrc=["//CreatureShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"],this.vertexSrc=["//CreatureShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform vec3 tint;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = vec4(tint[0], tint[1], tint[2], 1.0) * alpha;","}"],this.init()},PIXI.CreatureShader.prototype.constructor=PIXI.CreatureShader,PIXI.CreatureShader.prototype.init=function(){var t=this.gl,e=PIXI.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=PIXI._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.aTextureIndex],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.tintColor=t.getUniformLocation(e,"tint"),this.program=e},PIXI.CreatureShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},i.Creature=function(t,e,s,n,o,r,a){if(this.game=t,void 0===r&&(r="default"),this.type=i.CREATURE,t.cache.checkJSONKey(o)){var h=t.cache.getJSON(o);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,r,this._creature),this.manager=new CreatureManager(this._creature),this.timeDelta=.05,"string"==typeof n)l=new PIXI.Texture(t.cache.getBaseTexture(n));else var l=n;this.texture=l,PIXI.DisplayObjectContainer.call(this),this.dirty=!0,this.blendMode=PIXI.blendModes.NORMAL,this.creatureBoundsMin=new i.Point,this.creatureBoundsMax=new i.Point;var c=this.manager.target_creature;this.vertices=new Float32Array(2*c.total_num_pts),this.uvs=new Float32Array(2*c.total_num_pts),this.indices=new Uint16Array(c.global_indices.length);for(var u=0;u0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); +(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(E-2)],d=n[2*(E-2)+1],p=n[2*(E-1)],y=-(d-(f=n[2*(E-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),R.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var k=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,R=d*x+v*f+p*b-x*f-v*p-d*b,E=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/k,R/k,O/k,E/k,I/k,L/k),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.onTouchUnlock=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),g=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=o.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((B=new i.Tile(D,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===o.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=i._UID++,this.gl=t,this.program=null,this.fragmentSrc=["//CreatureShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"],this.vertexSrc=["//CreatureShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform vec3 tint;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = vec4(tint[0], tint[1], tint[2], 1.0) * alpha;","}"],this.init()},PIXI.CreatureShader.prototype.constructor=PIXI.CreatureShader,PIXI.CreatureShader.prototype.init=function(){var t=this.gl,e=PIXI.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=PIXI._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.aTextureIndex],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.tintColor=t.getUniformLocation(e,"tint"),this.program=e},PIXI.CreatureShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},i.Creature=function(t,e,s,n,o,r,a){if(this.game=t,void 0===r&&(r="default"),this.type=i.CREATURE,t.cache.checkJSONKey(o)){var h=t.cache.getJSON(o);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,r,this._creature),this.manager=new CreatureManager(this._creature),this.timeDelta=.05,"string"==typeof n)l=new PIXI.Texture(t.cache.getBaseTexture(n));else var l=n;this.texture=l,PIXI.DisplayObjectContainer.call(this),this.dirty=!0,this.blendMode=PIXI.blendModes.NORMAL,this.creatureBoundsMin=new i.Point,this.creatureBoundsMax=new i.Point;var c=this.manager.target_creature;this.vertices=new Float32Array(2*c.total_num_pts),this.uvs=new Float32Array(2*c.total_num_pts),this.indices=new Uint16Array(c.global_indices.length);for(var u=0;u0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); //# sourceMappingURL=phaser-creature.map \ No newline at end of file diff --git a/build/custom/phaser-minimum.js b/build/custom/phaser-minimum.js index 272247a03..df055577c 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.4 "2017-12-20" - Built: Wed Dec 20 2017 12:51:35 +* v2.10.0 "2018-01-18" - Built: Thu Jan 18 2018 16:35:27 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1572,7 +1572,7 @@ PIXI.Sprite = function (texture) { this._height = 0; /** - * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect. + * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect. * * @property tint * @type Number @@ -3348,7 +3348,7 @@ PIXI._enableMultiTextureToggle = false; * @constructor * @param game {Phaser.Game} A reference to the Phaser Game instance */ -PIXI.WebGLRenderer = function(game) { +PIXI.WebGLRenderer = function(game, config) { /** * @property {Phaser.Game} game - A reference to the Phaser Game instance. @@ -3445,6 +3445,7 @@ PIXI.WebGLRenderer = function(game) { this._contextOptions = { alpha: this.transparent, antialias: game.antialias, + failIfMajorPerformanceCaveat: config.failIfMajorPerformanceCaveat, premultipliedAlpha: this.transparent && this.transparent !== 'notMultiplied', stencil: true, preserveDrawingBuffer: this.preserveDrawingBuffer @@ -3530,7 +3531,7 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.stencilManager = this.stencilManager; this.renderSession.renderer = this; this.renderSession.resolution = this.resolution; - this.renderSession.roundPixels = false; + this.renderSession.roundPixels = config.roundPixels || false; this.renderSession.maxTextureAvailableSpace = null; // filled in setTexturePriority() // time init the context.. @@ -6686,7 +6687,7 @@ PIXI.CanvasTinter.tintWithPerPixel = function(texture, color, canvas) * @constructor * @param game {Phaser.Game} A reference to the Phaser Game instance */ -PIXI.CanvasRenderer = function (game) { +PIXI.CanvasRenderer = function (game, config) { /** * @property {Phaser.Game} game - A reference to the Phaser Game instance. @@ -6813,7 +6814,7 @@ PIXI.CanvasRenderer = function (game) { * If true Pixi will Math.floor() x/y values when rendering, stopping pixel interpolation. * Handy for crisp pixel art and speed on legacy devices. */ - roundPixels: false + roundPixels: config.roundPixels || false }; this.mapBlendModes(); @@ -7155,18 +7156,6 @@ PIXI.BaseTexture.prototype.destroy = function() this.unloadFromGPU(); }; -/** - * Changes the source image of the texture - * - * @method PIXI.BaseTexture#updateSourceImage - * @param newSrc {String} the path of the image - * @deprecated This method is deprecated. Please use Phaser.Sprite.loadTexture instead. - */ -PIXI.BaseTexture.prototype.updateSourceImage = function(newSrc) -{ - console.warn("PIXI.BaseTexture.updateSourceImage is deprecated. Use Phaser.Sprite.loadTexture instead."); -}; - /** * Sets all glTextures to be dirty. * @@ -7594,7 +7583,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.4', + VERSION: '2.10.0', /** * An array of Phaser game instances. @@ -11713,6 +11702,18 @@ Phaser.Point.prototype = { }, + /** + * Math.round() both the x and y properties of this Point. + * + * @method Phaser.Point#round + * @return {Phaser.Point} This Point object. + */ + round: function () { + + return this.setTo(Math.round(this.x), Math.round(this.y)); + + }, + /** * Returns a string representation of this object. * @@ -12279,7 +12280,7 @@ PIXI.Point = Phaser.Point; /** * Creates a new Polygon. -* +* * The points can be set from a variety of formats: * * - An array of Point objects: `[new Phaser.Point(x1, y1), ...]` @@ -12564,32 +12565,18 @@ Phaser.Polygon.prototype = { Phaser.Polygon.prototype.constructor = Phaser.Polygon; /** -* Sets and modifies the points of this polygon. +* The points of this polygon. * -* See {@link Phaser.Polygon#setTo setTo} for the different kinds of arrays formats that can be assigned. +* You can modify these with {@link Phaser.Polygon#setTo setTo}. * * @name Phaser.Polygon#points * @property {Phaser.Point[]} points - The array of vertex points. -* @deprecated Use `setTo`. +* @readonly */ Object.defineProperty(Phaser.Polygon.prototype, 'points', { get: function() { return this._points; - }, - - set: function(points) { - - if (points != null) - { - this.setTo(points); - } - else - { - // Clear the points - this.setTo(); - } - } }); @@ -15149,14 +15136,14 @@ Phaser.StateManager = function (game, pendingState) { /** * onStateChange is a Phaser.Signal that is dispatched whenever the game changes state. - * + * * It is dispatched only when the new state is started, which isn't usually at the same time as StateManager.start * is called because state swapping is done in sync with the game loop. It is dispatched *before* any of the new states * methods (such as preload and create) are called, and *after* the previous states shutdown method has been run. * - * The callback you specify is sent two parameters: the string based key of the new state, + * The callback you specify is sent two parameters: the string based key of the new state, * and the second parameter is the string based key of the old / previous state. - * + * * @property {Phaser.Signal} onStateChange */ this.onStateChange = new Phaser.Signal(); @@ -15547,25 +15534,27 @@ Phaser.StateManager.prototype = { */ link: function (key) { - this.states[key].game = this.game; - this.states[key].add = this.game.add; - this.states[key].make = this.game.make; - this.states[key].camera = this.game.camera; - this.states[key].cache = this.game.cache; - this.states[key].input = this.game.input; - this.states[key].load = this.game.load; - this.states[key].math = this.game.math; - this.states[key].sound = this.game.sound; - this.states[key].scale = this.game.scale; - this.states[key].state = this; - this.states[key].stage = this.game.stage; - this.states[key].time = this.game.time; - this.states[key].tweens = this.game.tweens; - this.states[key].world = this.game.world; - this.states[key].particles = this.game.particles; - this.states[key].rnd = this.game.rnd; - this.states[key].physics = this.game.physics; - this.states[key].key = key; + var state = this.states[key]; + + state.game = this.game; + state.add = this.game.add; + state.make = this.game.make; + state.camera = this.game.camera; + state.cache = this.game.cache; + state.input = this.game.input; + state.load = this.game.load; + state.math = this.game.math; + state.sound = this.game.sound; + state.scale = this.game.scale; + state.state = this; + state.stage = this.game.stage; + state.time = this.game.time; + state.tweens = this.game.tweens; + state.world = this.game.world; + state.particles = this.game.particles; + state.rnd = this.game.rnd; + state.physics = this.game.physics; + state.key = key; }, @@ -15578,26 +15567,28 @@ Phaser.StateManager.prototype = { */ unlink: function (key) { - if (this.states[key]) + var state = this.states[key]; + + if (state) { - this.states[key].game = null; - this.states[key].add = null; - this.states[key].make = null; - this.states[key].camera = null; - this.states[key].cache = null; - this.states[key].input = null; - this.states[key].load = null; - this.states[key].math = null; - this.states[key].sound = null; - this.states[key].scale = null; - this.states[key].state = null; - this.states[key].stage = null; - this.states[key].time = null; - this.states[key].tweens = null; - this.states[key].world = null; - this.states[key].particles = null; - this.states[key].rnd = null; - this.states[key].physics = null; + state.game = null; + state.add = null; + state.make = null; + state.camera = null; + state.cache = null; + state.input = null; + state.load = null; + state.math = null; + state.sound = null; + state.scale = null; + state.state = null; + state.stage = null; + state.time = null; + state.tweens = null; + state.world = null; + state.particles = null; + state.rnd = null; + state.physics = null; } }, @@ -15611,27 +15602,29 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { - this.callbackContext = this.states[key]; + var state = this.states[key]; + + this.callbackContext = state; this.link(key); // Used when the state is set as being the current active state - this.onInitCallback = this.states[key]['init'] || this.dummy; - - this.onPreloadCallback = this.states[key]['preload'] || null; - this.onLoadRenderCallback = this.states[key]['loadRender'] || null; - this.onLoadUpdateCallback = this.states[key]['loadUpdate'] || null; - this.onCreateCallback = this.states[key]['create'] || null; - this.onUpdateCallback = this.states[key]['update'] || null; - this.onPreRenderCallback = this.states[key]['preRender'] || null; - this.onRenderCallback = this.states[key]['render'] || null; - this.onResizeCallback = this.states[key]['resize'] || null; - this.onPausedCallback = this.states[key]['paused'] || null; - this.onResumedCallback = this.states[key]['resumed'] || null; - this.onPauseUpdateCallback = this.states[key]['pauseUpdate'] || null; + this.onInitCallback = state['init'] || this.dummy; + + this.onPreloadCallback = state['preload'] || null; + this.onLoadRenderCallback = state['loadRender'] || null; + this.onLoadUpdateCallback = state['loadUpdate'] || null; + this.onCreateCallback = state['create'] || null; + this.onUpdateCallback = state['update'] || null; + this.onPreRenderCallback = state['preRender'] || null; + this.onRenderCallback = state['render'] || null; + this.onResizeCallback = state['resize'] || null; + this.onPausedCallback = state['paused'] || null; + this.onResumedCallback = state['resumed'] || null; + this.onPauseUpdateCallback = state['pauseUpdate'] || null; // Used when the state is no longer the current active state - this.onShutDownCallback = this.states[key]['shutdown'] || this.dummy; + this.onShutDownCallback = state['shutdown'] || this.dummy; // Reset the physics system, but not on the first state start if (this.current !== '') @@ -21760,6 +21753,12 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.lockRender = false; + /** + * @property {boolean} pendingDestroy - Destroy the game at the next update. + * @default + */ + this.pendingDestroy = false; + /** * @property {boolean} stepping - Enable core loop stepping with Game.enableStep(). * @default @@ -21814,7 +21813,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this._codePaused = false; /** - * The ID of the current/last logic update applied this render frame, starting from 0. + * The ID of the current/last logic update applied this animation frame, starting from 0. * The first update is `currentUpdateID === 0` and the last update is `currentUpdateID === updatesThisFrame.` * @property {integer} currentUpdateID * @protected @@ -21822,12 +21821,19 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this.currentUpdateID = 0; /** - * Number of logic updates expected to occur this render frame; will be 1 unless there are catch-ups required (and allowed). + * Number of logic updates expected to occur this animation frame; will be 1 unless there are catch-ups required (and allowed). * @property {integer} updatesThisFrame * @protected */ this.updatesThisFrame = 1; + /** + * Number of renders expected to occur this animation frame. May be 0 if {@link #dropFrames is on} or {@link #forceSingleRender} is off; otherwise it will be 1. + * @property {integer} updatesThisFrame + * @protected + */ + this.rendersThisFrame = 1; + /** * @property {number} _deltaTime - Accumulate elapsed time until a logic update is due. * @private @@ -21865,6 +21871,16 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.forceSingleUpdate = true; + /** + * @property {boolean} forceSingleRender - Should the game loop make one render per animation frame, even without a preceding logic update? (During spiraling conditions, {@link #dropFrames} is used instead.) + */ + this.forceSingleRender = true; + + /** + * @property {boolean} dropFrames - When {@link #forceSingleUpdate} is off, skip {@link #updateRender rendering} if logic updates are spiraling upwards. + */ + this.dropFrames = false; + /** * @property {number} _nextNotification - The soonest game.time.time value that the next fpsProblemNotifier can be dispatched. * @private @@ -21925,27 +21941,37 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * A configuration object for {@link Phaser.Game}. * * @typedef {object} GameConfig +* @property {boolean} [GameConfig.alignH=false] - Sets {@link Phaser.ScaleManager#pageAlignHorizontally}. +* @property {boolean} [GameConfig.alignV=false] - Sets {@link Phaser.ScaleManager#pageAlignVertically}. * @property {number|string} [GameConfig.antialias=true] -* @property {string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. +* @property {number|string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. * @property {HTMLCanvasElement} [GameConfig.canvas] - An existing canvas to display the game in. * @property {string} [GameConfig.canvasId] - `id` attribute value to assign to the game canvas. * @property {string} [GameConfig.canvasStyle] - `style` attribute value to assign to the game canvas. +* @property {boolean} [GameConfig.crisp=false] - Sets the canvas's `image-rendering` property to `pixelated` or `crisp-edges`. See {@link Phaser.Canvas.setImageRenderingCrisp}. * @property {boolean} [GameConfig.disableVisibilityChange=false] - Sets {@link Phaser.Stage#disableVisibilityChange} +* @property {boolean} [GameConfig.disableStart=false] - Prevents the game loop from starting, allowing you to call updates manually. Helpful for automated testing. * @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {boolean} [GameConfig.failIfMajorPerformanceCaveat] - Abort WebGL context creation if performance would be poor. You can use this with renderer AUTO. * @property {boolean} [GameConfig.forceSetTimeout] - Use {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout setTimeOut} for the game loop even if {@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame requestAnimationFrame} is available. * @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. * @property {HTMLElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. * @property {number|string} [GameConfig.height=600] * @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. * @property {string|HTMLElement} [GameConfig.parent=''] - The DOM element into which this games canvas will be injected. -* @property {object} [GameConfig.physicsConfig=null] +* @property {object} [GameConfig.physicsConfig] * @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. * @property {number} [GameConfig.renderer=Phaser.AUTO] * @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {boolean} [GameConfig.roundPixels=false] - Round pixel coordinates for rendering (rather than interpolating). Handy for crisp pixel art and speed on legacy devices. +* @property {number} [GameConfig.scaleH=1] - Horizontal scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @property {object} [GameConfig.state=null] +* @property {object} [GameConfig.state] * @property {boolean} [GameConfig.transparent=false] +* @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. +* @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] */ // Documentation stub for linking. @@ -22122,6 +22148,11 @@ Phaser.Game.prototype = { } } + if (this.config['disableStart']) + { + return; + } + if (this.cache.isReady) { this.raf.start(); @@ -22210,6 +22241,12 @@ Phaser.Game.prototype = { */ setUpRenderer: function () { + if (!this.device.canvas) + { + // Nothing else to do + throw new Error('Phaser.Game - Cannot create Canvas 2d context, aborting.'); + } + if (this.config['canvas']) { this.canvas = this.config['canvas']; @@ -22228,42 +22265,52 @@ Phaser.Game.prototype = { this.canvas.style['-webkit-full-screen'] = 'width: 100%; height: 100%'; } - if (this.renderType === Phaser.HEADLESS || this.renderType === Phaser.CANVAS || (this.renderType === Phaser.AUTO && !this.device.webGL)) + if (this.config['crisp']) { - if (this.device.canvas) - { - this.renderer = new PIXI.CanvasRenderer(this); - - this.context = this.renderer.context; - - if (this.renderType === Phaser.AUTO) { - this.renderType = Phaser.CANVAS; - } - } - else - { - throw new Error('Phaser.Game - Cannot create Canvas or WebGL context, aborting.'); - } + Phaser.Canvas.setImageRenderingCrisp(this.canvas); } - else - { - // They requested WebGL and their browser supports it + if ((this.renderType === Phaser.WEBGL) || + (this.renderType === Phaser.WEBGL_MULTI) || + (this.renderType === Phaser.AUTO && this.device.webGL)) + { if (this.multiTexture || this.renderType === Phaser.WEBGL_MULTI) { PIXI.enableMultiTexture(); - this.multiTexture = true; } - this.renderType = Phaser.WEBGL; + try + { + this.renderer = new PIXI.WebGLRenderer(this, this.config); + this.renderType = Phaser.WEBGL; + this.context = null; + this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); + this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + } + catch (webGLRendererError) + { + this.renderer = null; + this.multiTexture = false; + PIXI._enableMultiTextureToggle = false; - this.renderer = new PIXI.WebGLRenderer(this); + if (this.renderType === Phaser.WEBGL) + { + // No fallback + throw webGLRendererError; + } + } + } - this.context = null; + if (!this.renderer) + { + this.renderer = new PIXI.CanvasRenderer(this, this.config); + this.context = this.renderer.context; - this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); - this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + if (this.renderType === Phaser.AUTO) + { + this.renderType = Phaser.CANVAS; + } } if (this.device.cocoonJS) @@ -22321,6 +22368,12 @@ Phaser.Game.prototype = { */ update: function (time) { + if (this.pendingDestroy) + { + this.destroy(); + return; + } + this.time.update(time); if (this._kickstart) @@ -22348,12 +22401,19 @@ Phaser.Game.prototype = { this.fpsProblemNotifier.dispatch(); } - // reset the _deltaTime accumulator which will cause all pending dropped frames to be permanently skipped + // reset the _deltaTime accumulator which will cause all pending late updates to be permanently skipped this._deltaTime = 0; this._spiraling = 0; - // call the game render update exactly once every frame - this.updateRender(this.time.slowMotion * this.time.desiredFps); + if (this.dropFrames) + { + this.rendersThisFrame = 0; + } + else + { + this.updateRender(this.time.slowMotion * this.time.desiredFps); + this.rendersThisFrame = 1; + } } else { @@ -22374,6 +22434,15 @@ Phaser.Game.prototype = { this.updatesThisFrame = Math.min(1, this.updatesThisFrame); } + if (this.forceSingleRender) + { + this.rendersThisFrame = 1; + } + else + { + this.rendersThisFrame = Math.min(1, this.updatesThisFrame); + } + while (this._deltaTime >= slowStep) { this._deltaTime -= slowStep; @@ -22406,8 +22475,10 @@ Phaser.Game.prototype = { this._lastCount = count; - // call the game render update exactly once every frame unless we're playing catch-up from a spiral condition - this.updateRender(this._deltaTime / slowStep); + if (this.rendersThisFrame > 0) + { + this.updateRender(this._deltaTime / slowStep); + } } }, @@ -22428,6 +22499,8 @@ Phaser.Game.prototype = { this.pendingStep = true; } + this.time.countUpdate(); + this.scale.preUpdate(); this.debug.preUpdate(); this.camera.preUpdate(); @@ -22453,6 +22526,7 @@ Phaser.Game.prototype = { this.scale.pauseUpdate(); this.state.pauseUpdate(timeStep); this.debug.preUpdate(); + this.input.pauseUpdate(); } this.stage.updateTransform(); @@ -22481,6 +22555,8 @@ Phaser.Game.prototype = { return; } + this.time.countRender(); + this.state.preRender(elapsedTime); if (this.renderType !== Phaser.HEADLESS) @@ -22543,6 +22619,8 @@ Phaser.Game.prototype = { * Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM * and resets the PIXI default renderer. * + * To destroy the game during an update callback, set {@link #pendingDestroy} instead. + * * @method Phaser.Game#destroy */ destroy: function () { @@ -23460,6 +23538,21 @@ Phaser.Input.prototype = { }, + /** + * Update method while paused. + * + * @method Phaser.Input#pauseUpdate + * @private + */ + pauseUpdate: function () { + + if (this.gamepad && this.gamepad.active) + { + this.gamepad.update(); + } + + }, + /** * Reset all of the Pointers and Input states. * @@ -23487,11 +23580,6 @@ Phaser.Input.prototype = { this.keyboard.reset(hard); } - if (this.gamepad) - { - this.gamepad.reset(); - } - for (var i = 0; i < this.pointers.length; i++) { this.pointers[i].reset(); @@ -24474,6 +24562,8 @@ Phaser.Mouse.prototype = { this.input.mousePointer.stop(event); } + this.input.interactiveItems.callAll('_pointerOutHandler', this.input.mousePointer); + }, /** @@ -27007,22 +27097,6 @@ Phaser.Touch.prototype = { } } - /** - * Adds a callback that is fired when a browser touchstart or touchend event is received. - * - * @method Phaser.Touch#addTouchLockCallback - * @deprecated Use {@link Phaser.Input#addTouchLockCallback} instead. - */ - this.addTouchLockCallback = this.game.input.addTouchLockCallback.bind(this.game.input); - - /** - * Removes the callback at the defined index from the touchLockCallbacks array. - * - * @method Phaser.Touch#removeTouchLockCallback - * @deprecated Use {@link Phaser.Input#removeTouchLockCallback} instead. - */ - this.removeTouchLockCallback = this.game.input.removeTouchLockCallback.bind(this.game.input); - }, /** @@ -32118,6 +32192,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 0; + this.texture.baseTexture.dirty(); } } else @@ -32125,6 +32200,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 1; + this.texture.baseTexture.dirty(); } } } @@ -34555,17 +34631,11 @@ Phaser.Device = function () { this.canUseMultiply = false; /** - * @property {boolean} webGL - Is webGL (and stencil support) available? + * @property {boolean} webGL - Is webGL available? * @default */ this.webGL = false; - /** - * @property {?Error} webGLError - Any error raised while creating a test {@link #webGL} context. - * @default - */ - this.webGLError = null; - /** * @property {boolean} file - Is file available? * @default @@ -35182,30 +35252,7 @@ Phaser.Device._initialize = function () { device.file = !!window['File'] && !!window['FileReader'] && !!window['FileList'] && !!window['Blob']; device.fileSystem = !!window['requestFileSystem']; - device.webGL = !!(function () { - if (!window.WebGLRenderingContext) - { - return false; - } - - try { - var canvas = document.createElement('canvas'); - - // Force screencanvas to false - canvas.screencanvas = false; - - // See PIXI.WebGLRenderer#_contextOptions - var contextOptions = { stencil: true }; - - return canvas.getContext('webgl' , contextOptions) || - canvas.getContext('experimental-webgl', contextOptions); - - } catch (error) { - device.webGLError = error; - - return false; - } - })(); + device.webGL = !!window.WebGLRenderingContext; device.worker = !!window['Worker']; @@ -35799,22 +35846,6 @@ Phaser.Device.needsTouchUnlock = function () { return !!(!this.cocoonJS && (this.iOS || this.android) || (window.PhaserGlobal && window.PhaserGlobal.fakeiOSTouchLock)); }; -/** -* Returns false. -* -* @deprecated -* @method isConsoleOpen -* @memberof Phaser.Device.prototype -* @return false -*/ -Phaser.Device.isConsoleOpen = function () { - - console.warn('Phaser.Device.isConsoleOpen is deprecated and will be removed.'); - - return false; - -}; - /** * Detect if the host is a an Android Stock browser. * This is available before the device "ready" event. @@ -35841,7 +35872,7 @@ Phaser.Device.isAndroidStockBrowser = function () { */ /** -* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, +* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, * including styles, offset and aspect ratio. * * @class Phaser.Canvas @@ -36094,16 +36125,20 @@ Phaser.Canvas = { }, /** - * Sets the CSS image-rendering property on the given canvas to be 'crisp' (aka 'optimize contrast' on webkit). + * Sets the CSS image-rendering property to `pixelated` or `crisp-edges`. + * This can remove blurring when the game canvas is scaled up. + * In some browsers this has no visible effect in WEBGL mode. * Note that if this doesn't given the desired result then see the setSmoothingEnabled. * * @method Phaser.Canvas.setImageRenderingCrisp * @param {HTMLCanvasElement} canvas - The canvas to set image-rendering crisp on. * @return {HTMLCanvasElement} Returns the source canvas. + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering + * @see https://caniuse.com/#feat=css-crisp-edges */ setImageRenderingCrisp: function (canvas) { - var types = [ 'optimizeSpeed', 'crisp-edges', '-moz-crisp-edges', '-webkit-optimize-contrast', 'optimize-contrast', 'pixelated' ]; + var types = [ '-webkit-optimize-contrast', '-moz-crisp-edges', 'crisp-edges', 'pixelated' ]; for (var i = 0; i < types.length; i++) { @@ -38480,6 +38515,8 @@ Phaser.Time = function (game) { * * This value _may_ include time that the game is paused/inactive. * + * While the game is active, this will be similar to (1000 / {@link #fps}). + * * _Note:_ This is updated only once per game loop - even if multiple logic update steps are done. * Use {@link Phaser.Timer#physicsTime physicsTime} as a basis of game/logic calculations instead. * @@ -38574,7 +38611,7 @@ Phaser.Time = function (game) { this.advancedTiming = false; /** - * Advanced timing result: The number of render frames record in the last second. + * Advanced timing result: The number of animation frames received from the browser in the last second. * * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. * @property {integer} frames @@ -38582,6 +38619,24 @@ Phaser.Time = function (game) { */ this.frames = 0; + /** + * Advanced timing result: The number of {@link Phaser.Game#updateLogic logic updates} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} updates + * @readonly + */ + this.updates = 0; + + /** + * Advanced timing result: The number of {@link Phaser.Game#updateRender renders} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} renders + * @readonly + */ + this.renders = 0; + /** * Advanced timing result: Frames per second. * @@ -38591,6 +38646,24 @@ Phaser.Time = function (game) { */ this.fps = 0; + /** + * Advanced timing result: Logic updates per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} ups + * @readonly + */ + this.ups = 0; + + /** + * Advanced timing result: Renders per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} rps + * @readonly + */ + this.rps = 0; + /** * Advanced timing result: The lowest rate the fps has dropped to. * @@ -38902,11 +38975,46 @@ Phaser.Time.prototype = { if (this.now > this._timeLastSecond + 1000) { - this.fps = Math.round((this.frames * 1000) / (this.now - this._timeLastSecond)); + var interval = this.now - this._timeLastSecond; + this.fps = Math.round((this.frames * 1000) / interval); + this.ups = Math.round((this.updates * 1000) / interval); + this.rps = Math.round((this.renders * 1000) / interval); this.fpsMin = Math.min(this.fpsMin, this.fps); this.fpsMax = Math.max(this.fpsMax, this.fps); this._timeLastSecond = this.now; this.frames = 0; + this.updates = 0; + this.renders = 0; + } + + }, + + /** + * Counts one logic update (if advanced timing is enabled). + * + * @method Phaser.Time#countUpdate + * @private + */ + countUpdate: function () { + + if (this.advancedTiming) + { + this.updates++; + } + + }, + + /** + * Counts one render (if advanced timing is enabled). + * + * @method Phaser.Time#countRender + * @private + */ + countRender: function () { + + if (this.advancedTiming) + { + this.renders++; } }, @@ -39003,12 +39111,15 @@ Phaser.Time.prototype = { }; /** -* The desired frame rate of the game. +* The number of logic updates per second. * * This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. * +* The render rate is unaffected unless you also turn off {@link Phaser.Game#forceSingleRender}. +* * @name Phaser.Time#desiredFps -* @property {integer} desiredFps - The desired frame rate of the game. Defaults to 60. +* @type {integer} +* @default 60 */ Object.defineProperty(Phaser.Time.prototype, "desiredFps", { @@ -44621,7 +44732,7 @@ Phaser.Loader = function (game) { }; /** - * This event is dispatched when the loading process starts: before the first file has been requested, + * This event is dispatched when the loading process starts: before the first file has been requested, * but after all the initial packs have been loaded. * * @property {Phaser.Signal} onLoadStart @@ -44680,22 +44791,6 @@ Phaser.Loader = function (game) { */ this.onFileError = new Phaser.Signal(); - /** - * If true and if the browser supports XDomainRequest, it will be used in preference for XHR. - * - * This is only relevant for IE 9 and should _only_ be enabled for IE 9 clients when required by the server/CDN. - * - * @property {boolean} useXDomainRequest - * @deprecated This is only relevant for IE 9. - */ - this.useXDomainRequest = false; - - /** - * @private - * @property {boolean} _warnedAboutXDomainRequest - Control number of warnings for using XDR outside of IE 9. - */ - this._warnedAboutXDomainRequest = false; - /** * If true (the default) then parallel downloading will be enabled. * @@ -46993,12 +47088,6 @@ Phaser.Loader.prototype = { */ xhrLoad: function (file, url, type, onload, onerror) { - if (this.useXDomainRequest && window.XDomainRequest) - { - this.xhrLoadWithXDR(file, url, type, onload, onerror); - return; - } - var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = type; @@ -47075,88 +47164,6 @@ Phaser.Loader.prototype = { }, - /** - * Starts the xhr loader - using XDomainRequest. - * This should _only_ be used with IE 9. Phaser does not support IE 8 and XDR is deprecated in IE 10. - * - * This is designed specifically to use with asset file processing. - * - * @method Phaser.Loader#xhrLoadWithXDR - * @private - * @param {object} file - The file/pack to load. - * @param {string} url - The URL of the file. - * @param {string} type - The xhr responseType. - * @param {function} onload - The function to call on success. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @param {function} [onerror=fileError] The function to call on error. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @deprecated This is only relevant for IE 9. - */ - xhrLoadWithXDR: function (file, url, type, onload, onerror) { - - // Special IE9 magic .. only - if (!this._warnedAboutXDomainRequest && - (!this.game.device.ie || this.game.device.ieVersion >= 10)) - { - this._warnedAboutXDomainRequest = true; - console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"); - } - - // Ref: http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx - var xhr = new window.XDomainRequest(); - xhr.open('GET', url, true); - xhr.responseType = type; - - // XDomainRequest has a few quirks. Occasionally it will abort requests - // A way to avoid this is to make sure ALL callbacks are set even if not used - // More info here: http://stackoverflow.com/questions/15786966/xdomainrequest-aborts-post-on-ie-9 - xhr.timeout = 3000; - - onerror = onerror || this.fileError; - - var _this = this; - - xhr.onerror = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.ontimeout = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.onprogress = function() {}; - - xhr.onload = function () { - try { - if (xhr.readyState === 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. - return onerror.call(_this, file, xhr); - } - else { - return onload.call(_this, file, xhr); - } - return onload.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - file.requestObject = xhr; - file.requestUrl = url; - - // Note: The xdr.send() call is wrapped in a timeout to prevent an issue with the interface where some requests are lost - // if multiple XDomainRequests are being sent at the same time. - setTimeout(function () { - xhr.send(); - }, 0); - - }, - /** * Give a bunch of URLs, return the first URL that has an extension this device thinks it can play. * @@ -47625,10 +47632,8 @@ Phaser.Loader.prototype = { /** * Update the loading sprite progress. * - * @method Phaser.Loader#nextFile + * @method Phaser.Loader#updateProgress * @private - * @param {object} previousFile - * @param {boolean} success - Whether the previous asset loaded successfully or not. */ updateProgress: function () { @@ -48965,6 +48970,20 @@ Phaser.ScaleManager.RESIZE = 3; */ Phaser.ScaleManager.USER_SCALE = 4; +/** +* Names of the scale modes, indexed by value. +* +* @constant +* @type {string[]} +*/ +Phaser.ScaleManager.MODES = [ + 'EXACT_FIT', + 'NO_SCALE', + 'SHOW_ALL', + 'RESIZE', + 'USER_SCALE' +]; + Phaser.ScaleManager.prototype = { /** @@ -49101,6 +49120,14 @@ Phaser.ScaleManager.prototype = { this.fullScreenTarget = config['fullScreenTarget']; } + this.pageAlignHorizontally = config.alignH || false; + this.pageAlignVertically = config.alignV || false; + + if (config.scaleH && config.scaleV) + { + this.setUserScale(config.scaleH, config.scaleV, config.trimH, config.trimV); + } + }, /** @@ -51814,29 +51841,6 @@ Phaser.ArrayUtils = { }, - /** - * Moves the element from the start of the array to the end, shifting all items in the process. - * The "rotation" happens to the left. - * - * Before: `[ A, B, C, D, E, F ]` - * After: `[ B, C, D, E, F, A ]` - * - * See also Phaser.ArrayUtils.rotateRight - * - * @method Phaser.ArrayUtils.rotate - * @deprecated Please use Phaser.ArrayUtils.rotateLeft instead. - * @param {any[]} array - The array to rotate. The array is modified. - * @return {any} The rotated value. - */ - rotate: function (array) { - - var s = array.shift(); - array.push(s); - - return s; - - }, - /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]` (or `[0, start]`, if `end` is omitted). * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. @@ -52825,6 +52829,96 @@ Phaser.FlexLayer.prototype.debug = function () { */ Phaser.Color = { + /** + * Red (0xff0000) + * + * @type number + * @constant + * @default + */ + RED: 0xff0000, + + /** + * Orange (0xff9900) + * + * @type number + * @constant + * @default + */ + ORANGE: 0xff9900, + + /** + * Yellow (0xffff00) + * + * @type number + * @constant + * @default + */ + YELLOW: 0xffff00, + + /** + * Green (0x00ff00) + * + * @type number + * @constant + * @default + */ + GREEN: 0x00ff00, + + /** + * Aqua (0x00ffff) + * + * @type number + * @constant + * @default + */ + AQUA: 0x00ffff, + + /** + * Blue (0x0000ff) + * + * @type number + * @constant + * @default + */ + BLUE: 0x0000ff, + + /** + * Violet/purple (0xff00ff) + * + * @type number + * @constant + * @default + */ + VIOLET: 0xff00ff, + + /** + * White (0xffffff) + * + * @type number + * @constant + * @default + */ + WHITE: 0xffffff, + + /** + * Black (0x000000) + * + * @type number + * @constant + * @default + */ + BLACK: 0, + + /** + * Gray (0x666666) + * + * @type number + * @constant + * @default + */ + GRAY: 0x666666, + /** * Packs the r, g, b, a components into a single integer, for use with Int32Array. * If device is little endian then ABGR order is used. Otherwise RGBA order is used. @@ -54725,7 +54819,7 @@ Phaser.Physics.prototype.constructor = Phaser.Physics; */ /** -* Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it. +* Phaser.Particles tracks any Emitters attached to it. * * @class Phaser.Particles * @constructor @@ -54771,26 +54865,6 @@ Phaser.Particles.prototype = { */ remove: function (emitter) { delete this.emitters[emitter.id]; - }, - - /** - * Updates all Emitters who have their exists value set to true. - * - * Phaser no longer uses this method; Emitters receive updates via {@link Phaser.Stage#update} instead. - * - * @method Phaser.Particles#update - * @protected - * @deprecated - */ - update: function () { - for (var key in this.emitters) - { - if (this.emitters[key].exists) - { - this.emitters[key].update(); - } - } - } }; diff --git a/build/custom/phaser-minimum.map b/build/custom/phaser-minimum.map index a2702872e..661c86bd7 100644 --- a/build/custom/phaser-minimum.map +++ b/build/custom/phaser-minimum.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-minimum.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","idx","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","webGLError","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","LITTLE_ENDIAN","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","Uint8Array","_checkIsUint8ClampedImageData","Uint8ClampedArray","ctx","createImageData","userAgent","test","vita","kindle","match","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","contextOptions","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","getNextPowerOfTwo","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","snapToCeil","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","difference","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","v0","v1","t2","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","charCodeAt","integer","real","integerInRange","realInRange","normal","ary","weightedPick","timestamp","parseFloat","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","netNoop","getHostName","checkDomainName","updateQueryString","getQueryString","decodeURI","prevTime","physicsElapsed","_desiredFps","suggestedFps","advancedTiming","frames","fps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reversed","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","Frame","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","FrameData","_frameNames","addFrame","getFrameRange","getFrames","AnimationParser","spriteSheet","frameWidth","frameHeight","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","checkImageKey","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImage","addImageAsync","onload","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","getCanvas","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","toDataURL","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","toUpperCase","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","exec","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","xAdvance","kerning","kernings","second","finalizeBitmapFont","_face","_size","_lineHeight","letter","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","String","fromCharCode","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","dom","minWidth","maxWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","debugNoop","soundInfo","cameraInfo","spriteInputInfo","inputInfo","spriteBounds","ropeSegments","spriteInfo","spriteCoords","lineInfo","pixel","geom","rectangle","quadTree","bodyInfo","box2dWorld","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","last","entity","bmd","palettes","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","red","green","blue","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","Matter","startSystem","system","Box2D","enableAABB","emitters","ID","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-minimum.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-minimum.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","idx","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","LITTLE_ENDIAN","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","Uint8Array","_checkIsUint8ClampedImageData","Uint8ClampedArray","ctx","createImageData","userAgent","test","vita","kindle","match","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","getNextPowerOfTwo","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","snapToCeil","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","difference","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","v0","v1","t2","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","charCodeAt","integer","real","integerInRange","realInRange","normal","ary","weightedPick","timestamp","parseFloat","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","netNoop","getHostName","checkDomainName","updateQueryString","getQueryString","decodeURI","prevTime","physicsElapsed","_desiredFps","suggestedFps","advancedTiming","frames","updates","renders","fps","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reversed","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","Frame","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","FrameData","_frameNames","addFrame","getFrameRange","getFrames","AnimationParser","spriteSheet","frameWidth","frameHeight","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","checkImageKey","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImage","addImageAsync","onload","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","getCanvas","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","toDataURL","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","toUpperCase","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","exec","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","xAdvance","kerning","kernings","second","finalizeBitmapFont","_face","_size","_lineHeight","letter","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","String","fromCharCode","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","dom","minWidth","maxWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","debugNoop","soundInfo","cameraInfo","spriteInputInfo","inputInfo","spriteBounds","ropeSegments","spriteInfo","spriteCoords","lineInfo","pixel","geom","rectangle","quadTree","bodyInfo","box2dWorld","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","last","entity","bmd","palettes","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","red","green","blue","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","Matter","startSystem","system","Box2D","enableAABB","emitters","ID","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-minimum.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-minimum.min.js b/build/custom/phaser-minimum.min.js index 845eda095..3b892ceb7 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,v=f.y,y=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=_*g+T*y+S,E=w*y+b*g+C,M=_*m+T*y+S,R=w*y+b*m+C,A=_*m+T*v+S,O=w*v+b*m+C,L=_*g+T*v+S,I=w*v+b*g+C;c=P,d=E,l=E,u=L<(u=A<(u=M<(u=P)?M:u)?A:u)?L:u,l=I<(l=O<(l=R(c=A>(c=M>c?M:c)?A:c)?L:c,d=I>(d=O>(d=R>d?R:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=_>m?_:m)?T:m)?S:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=v,E.height=m-v,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,S=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,R=u,A=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,_=C+6.123233995736766e-17*E,b=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=A,c=R}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),m=this.positions,g=this.colors,v=t.width,y=t.height,x=t.anchor.x,_=t.anchor.y,b=v*(1-x),T=v*-x,w=y*(1-_),S=y*-_,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,R=E.b/P,A=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+A*S+L,m[C++]=O*S+R*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*b+A*S+L,m[C++]=O*S+R*b+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*b+A*w+L,m[C++]=O*w+R*b+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+A*w+L,m[C++]=O*w+R*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new i.Point(c,p),g=new i.Point(d,f),v=e.pointOnSegment(m.x,m.y,.01),y=e.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Component=function(){},i.Component.Angle=function(){},i.Component.Angle.prototype={angle:{get:function(){return i.Math.wrapAngle(i.Math.radToDeg(this.rotation))},set:function(t){this.rotation=i.Math.degToRad(i.Math.wrapAngle(t))}}},i.Component.Animation=function(){},i.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},i.Component.AutoCull=function(){},i.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},i.Component.Bounds=function(){},i.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case i.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case i.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case i.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case i.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case i.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case i.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case i.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case i.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case i.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},i.Group.prototype.alignIn=i.Component.Bounds.prototype.alignIn,i.Group.prototype.alignTo=i.Component.Bounds.prototype.alignTo,i.Component.BringToTop=function(){},i.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},i.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},i.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},i.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},i.Component.Core=function(){},i.Component.Core.skipTypeChecks=!1,i.Component.Core.install=function(t){i.Utils.mixinPrototype(this,i.Component.Core.prototype),this.components={};for(var e=0;ethis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!function(){if(!window.WebGLRenderingContext)return!1;try{var t=document.createElement("canvas");t.screencanvas=!1;var e={stencil:!0};return t.getContext("webgl",e)||t.getContext("experimental-webgl",e)}catch(t){return s.webGLError=t,!1}}(),s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree;var r=function(){};i.Net=r,i.Net.prototype={isDisabled:!0,getHostName:r,checkDomainName:r,updateQueryString:r,getQueryString:r,decodeURI:r},i.Net.prototype.constructor=i.Net,i.TweenManager=function(){},i.TweenManager.prototype.update=function(){},i.TweenManager.prototype.removeAll=function(){},i.TweenManager.prototype.removeFrom=function(){},i.TweenManager.prototype.constructor=i.TweenManager,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.SoundManager=function(){this.muteOnPause=!1},i.SoundManager.prototype.boot=function(){},i.SoundManager.prototype.update=function(){},i.SoundManager.prototype.destroy=function(){},i.SoundManager.prototype.setMute=function(){},i.SoundManager.prototype.unsetMute=function(){},i.SoundManager.prototype.constructor=i.SoundManager,i.ScaleManager=function(t,e,s){this.game=t,this.dom=i.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new i.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new i.Signal,this.enterIncorrectOrientation=new i.Signal,this.leaveIncorrectOrientation=new i.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new i.Signal,this.onFullScreenChange=new i.Signal,this.onFullScreenError=new i.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new i.Point(1,1),this.scaleFactorInversed=new i.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new i.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=i.ScaleManager.NO_SCALE,this._fullScreenScaleMode=i.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new i.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new i.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new i.Rectangle,this._userScaleFactor=new i.Point(1,1),this._userScaleTrim=new i.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new i.Rectangle,this._tempBounds=new i.Rectangle,this._lastReportedCanvasSize=new i.Rectangle,this._lastReportedGameSize=new i.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(e,s)},i.ScaleManager.EXACT_FIT=0,i.ScaleManager.NO_SCALE=1,i.ScaleManager.SHOW_ALL=2,i.ScaleManager.RESIZE=3,i.ScaleManager.USER_SCALE=4,i.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new i.Point(0,1):t.scrollTo=new i.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var e=this;this._orientationChange=function(t){return e.orientationChange(t)},this._windowResize=function(t){return e.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return e.fullScreenChange(t)},this._fullScreenError=function(t){return e.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),i.FlexGrid&&(this.grid=new i.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget)},setupScale:function(t,e){var s,n=new i.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof e?o=e:(this.parentScaleFactor.y=parseInt(e,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,e){this._gameSize.setTo(0,0,t,e),this.currentScaleMode!==i.ScaleManager.RESIZE&&this.updateDimensions(t,e,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!i.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!i.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,e=this.height;this._lastReportedCanvasSize.setTo(0,0,t,e),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,e),this.onSizeChange.dispatch(this,t,e),this.currentScaleMode===i.ScaleManager.RESIZE&&(this.game.state.resize(t,e),this.game.load.resize(t,e))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var o=function(){};return i.Utils.Debug=o,i.Utils.Debug.prototype={isDisabled:!0,boot:o,preUpdate:o,reset:o,start:o,stop:o,line:o,soundInfo:o,cameraInfo:o,timer:o,pointer:o,spriteInputInfo:o,key:o,inputInfo:o,spriteBounds:o,ropeSegments:o,spriteInfo:o,spriteCoords:o,lineInfo:o,pixel:o,geom:o,rectangle:o,text:o,quadTree:o,body:o,bodyInfo:o,box2dWorld:o,box2dBody:o},i.Utils.Debug.prototype.constructor=i.Utils.Debug,i.DOM={getOffset:function(t,e){e=e||new i.Point;var s=t.getBoundingClientRect(),n=i.DOM.scrollY,r=i.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return e.x=s.left+r-a,e.y=s.top+n-o,e},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var v=(f.s-p.s)*n/s+p.s,y=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,v=f.y,y=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=_*g+T*y+S,E=w*y+b*g+C,M=_*m+T*y+S,A=w*y+b*m+C,R=_*m+T*v+S,O=w*v+b*m+C,L=_*g+T*v+S,I=w*v+b*g+C;c=P,d=E,l=E,u=L<(u=R<(u=M<(u=P)?M:u)?R:u)?L:u,l=I<(l=O<(l=A(c=R>(c=M>c?M:c)?R:c)?L:c,d=I>(d=O>(d=A>d?A:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=_>m?_:m)?T:m)?S:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=v,E.height=m-v,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var m=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,i.baseTexture.resolution),v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,_=o.c/g,b=o.d/g,T=o.tx,w=o.ty,S=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,A=u,R=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,_=C+6.123233995736766e-17*E,b=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=R,c=A}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+_*c+T|0,L[m++]=b*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T|0,L[m++]=b*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T|0,L[m++]=b*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T|0,L[m++]=b*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+_*c+T,L[m++]=b*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+_*c+T,L[m++]=b*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+_*l+T,L[m++]=b*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+_*l+T,L[m++]=b*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),m=this.positions,g=this.colors,v=t.width,y=t.height,x=t.anchor.x,_=t.anchor.y,b=v*(1-x),T=v*-x,w=y*(1-_),S=y*-_,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,A=E.b/P,R=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+R*S+L,m[C++]=O*S+A*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*b+R*S+L,m[C++]=O*S+A*b+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*b+R*w+L,m[C++]=O*w+A*b+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+R*w+L,m[C++]=O*w+A*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new i.Point(c,p),g=new i.Point(d,f),v=e.pointOnSegment(m.x,m.y,.01),y=e.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Component=function(){},i.Component.Angle=function(){},i.Component.Angle.prototype={angle:{get:function(){return i.Math.wrapAngle(i.Math.radToDeg(this.rotation))},set:function(t){this.rotation=i.Math.degToRad(i.Math.wrapAngle(t))}}},i.Component.Animation=function(){},i.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},i.Component.AutoCull=function(){},i.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},i.Component.Bounds=function(){},i.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case i.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case i.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case i.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,e,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),e){default:case i.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case i.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case i.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case i.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case i.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case i.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case i.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case i.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case i.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case i.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case i.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case i.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},i.Group.prototype.alignIn=i.Component.Bounds.prototype.alignIn,i.Group.prototype.alignTo=i.Component.Bounds.prototype.alignTo,i.Component.BringToTop=function(){},i.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},i.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},i.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},i.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},i.Component.Core=function(){},i.Component.Core.skipTypeChecks=!1,i.Component.Core.install=function(t){i.Utils.mixinPrototype(this,i.Component.Core.prototype),this.components={};for(var e=0;ethis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree;var r=function(){};i.Net=r,i.Net.prototype={isDisabled:!0,getHostName:r,checkDomainName:r,updateQueryString:r,getQueryString:r,decodeURI:r},i.Net.prototype.constructor=i.Net,i.TweenManager=function(){},i.TweenManager.prototype.update=function(){},i.TweenManager.prototype.removeAll=function(){},i.TweenManager.prototype.removeFrom=function(){},i.TweenManager.prototype.constructor=i.TweenManager,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.SoundManager=function(){this.muteOnPause=!1},i.SoundManager.prototype.boot=function(){},i.SoundManager.prototype.update=function(){},i.SoundManager.prototype.destroy=function(){},i.SoundManager.prototype.setMute=function(){},i.SoundManager.prototype.unsetMute=function(){},i.SoundManager.prototype.constructor=i.SoundManager,i.ScaleManager=function(t,e,s){this.game=t,this.dom=i.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new i.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new i.Signal,this.enterIncorrectOrientation=new i.Signal,this.leaveIncorrectOrientation=new i.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new i.Signal,this.onFullScreenChange=new i.Signal,this.onFullScreenError=new i.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new i.Point(1,1),this.scaleFactorInversed=new i.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new i.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=i.ScaleManager.NO_SCALE,this._fullScreenScaleMode=i.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new i.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new i.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new i.Rectangle,this._userScaleFactor=new i.Point(1,1),this._userScaleTrim=new i.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new i.Rectangle,this._tempBounds=new i.Rectangle,this._lastReportedCanvasSize=new i.Rectangle,this._lastReportedGameSize=new i.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(e,s)},i.ScaleManager.EXACT_FIT=0,i.ScaleManager.NO_SCALE=1,i.ScaleManager.SHOW_ALL=2,i.ScaleManager.RESIZE=3,i.ScaleManager.USER_SCALE=4,i.ScaleManager.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],i.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new i.Point(0,1):t.scrollTo=new i.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var e=this;this._orientationChange=function(t){return e.orientationChange(t)},this._windowResize=function(t){return e.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return e.fullScreenChange(t)},this._fullScreenError=function(t){return e.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),i.FlexGrid&&(this.grid=new i.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget),this.pageAlignHorizontally=t.alignH||!1,this.pageAlignVertically=t.alignV||!1,t.scaleH&&t.scaleV&&this.setUserScale(t.scaleH,t.scaleV,t.trimH,t.trimV)},setupScale:function(t,e){var s,n=new i.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof e?o=e:(this.parentScaleFactor.y=parseInt(e,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,e){this._gameSize.setTo(0,0,t,e),this.currentScaleMode!==i.ScaleManager.RESIZE&&this.updateDimensions(t,e,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!i.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!i.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,e=this.height;this._lastReportedCanvasSize.setTo(0,0,t,e),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,e),this.onSizeChange.dispatch(this,t,e),this.currentScaleMode===i.ScaleManager.RESIZE&&(this.game.state.resize(t,e),this.game.load.resize(t,e))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var o=function(){};return i.Utils.Debug=o,i.Utils.Debug.prototype={isDisabled:!0,boot:o,preUpdate:o,reset:o,start:o,stop:o,line:o,soundInfo:o,cameraInfo:o,timer:o,pointer:o,spriteInputInfo:o,key:o,inputInfo:o,spriteBounds:o,ropeSegments:o,spriteInfo:o,spriteCoords:o,lineInfo:o,pixel:o,geom:o,rectangle:o,text:o,quadTree:o,body:o,bodyInfo:o,box2dWorld:o,box2dBody:o},i.Utils.Debug.prototype.constructor=i.Utils.Debug,i.DOM={getOffset:function(t,e){e=e||new i.Point;var s=t.getBoundingClientRect(),n=i.DOM.scrollY,r=i.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return e.x=s.left+r-a,e.y=s.top+n-o,e},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var v=(f.s-p.s)*n/s+p.s,y=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},i.Particles.prototype.constructor=i.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser-minimum.map \ No newline at end of file diff --git a/build/custom/phaser-no-physics.js b/build/custom/phaser-no-physics.js index c30e08696..cbf3b8047 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.4 "2017-12-20" - Built: Wed Dec 20 2017 12:51:30 +* v2.10.0 "2018-01-18" - Built: Thu Jan 18 2018 16:35:21 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1572,7 +1572,7 @@ PIXI.Sprite = function (texture) { this._height = 0; /** - * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect. + * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect. * * @property tint * @type Number @@ -3348,7 +3348,7 @@ PIXI._enableMultiTextureToggle = false; * @constructor * @param game {Phaser.Game} A reference to the Phaser Game instance */ -PIXI.WebGLRenderer = function(game) { +PIXI.WebGLRenderer = function(game, config) { /** * @property {Phaser.Game} game - A reference to the Phaser Game instance. @@ -3445,6 +3445,7 @@ PIXI.WebGLRenderer = function(game) { this._contextOptions = { alpha: this.transparent, antialias: game.antialias, + failIfMajorPerformanceCaveat: config.failIfMajorPerformanceCaveat, premultipliedAlpha: this.transparent && this.transparent !== 'notMultiplied', stencil: true, preserveDrawingBuffer: this.preserveDrawingBuffer @@ -3530,7 +3531,7 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.stencilManager = this.stencilManager; this.renderSession.renderer = this; this.renderSession.resolution = this.resolution; - this.renderSession.roundPixels = false; + this.renderSession.roundPixels = config.roundPixels || false; this.renderSession.maxTextureAvailableSpace = null; // filled in setTexturePriority() // time init the context.. @@ -6686,7 +6687,7 @@ PIXI.CanvasTinter.tintWithPerPixel = function(texture, color, canvas) * @constructor * @param game {Phaser.Game} A reference to the Phaser Game instance */ -PIXI.CanvasRenderer = function (game) { +PIXI.CanvasRenderer = function (game, config) { /** * @property {Phaser.Game} game - A reference to the Phaser Game instance. @@ -6813,7 +6814,7 @@ PIXI.CanvasRenderer = function (game) { * If true Pixi will Math.floor() x/y values when rendering, stopping pixel interpolation. * Handy for crisp pixel art and speed on legacy devices. */ - roundPixels: false + roundPixels: config.roundPixels || false }; this.mapBlendModes(); @@ -7155,18 +7156,6 @@ PIXI.BaseTexture.prototype.destroy = function() this.unloadFromGPU(); }; -/** - * Changes the source image of the texture - * - * @method PIXI.BaseTexture#updateSourceImage - * @param newSrc {String} the path of the image - * @deprecated This method is deprecated. Please use Phaser.Sprite.loadTexture instead. - */ -PIXI.BaseTexture.prototype.updateSourceImage = function(newSrc) -{ - console.warn("PIXI.BaseTexture.updateSourceImage is deprecated. Use Phaser.Sprite.loadTexture instead."); -}; - /** * Sets all glTextures to be dirty. * @@ -7594,7 +7583,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.4', + VERSION: '2.10.0', /** * An array of Phaser game instances. @@ -11713,6 +11702,18 @@ Phaser.Point.prototype = { }, + /** + * Math.round() both the x and y properties of this Point. + * + * @method Phaser.Point#round + * @return {Phaser.Point} This Point object. + */ + round: function () { + + return this.setTo(Math.round(this.x), Math.round(this.y)); + + }, + /** * Returns a string representation of this object. * @@ -12279,7 +12280,7 @@ PIXI.Point = Phaser.Point; /** * Creates a new Polygon. -* +* * The points can be set from a variety of formats: * * - An array of Point objects: `[new Phaser.Point(x1, y1), ...]` @@ -12564,32 +12565,18 @@ Phaser.Polygon.prototype = { Phaser.Polygon.prototype.constructor = Phaser.Polygon; /** -* Sets and modifies the points of this polygon. +* The points of this polygon. * -* See {@link Phaser.Polygon#setTo setTo} for the different kinds of arrays formats that can be assigned. +* You can modify these with {@link Phaser.Polygon#setTo setTo}. * * @name Phaser.Polygon#points * @property {Phaser.Point[]} points - The array of vertex points. -* @deprecated Use `setTo`. +* @readonly */ Object.defineProperty(Phaser.Polygon.prototype, 'points', { get: function() { return this._points; - }, - - set: function(points) { - - if (points != null) - { - this.setTo(points); - } - else - { - // Clear the points - this.setTo(); - } - } }); @@ -15149,14 +15136,14 @@ Phaser.StateManager = function (game, pendingState) { /** * onStateChange is a Phaser.Signal that is dispatched whenever the game changes state. - * + * * It is dispatched only when the new state is started, which isn't usually at the same time as StateManager.start * is called because state swapping is done in sync with the game loop. It is dispatched *before* any of the new states * methods (such as preload and create) are called, and *after* the previous states shutdown method has been run. * - * The callback you specify is sent two parameters: the string based key of the new state, + * The callback you specify is sent two parameters: the string based key of the new state, * and the second parameter is the string based key of the old / previous state. - * + * * @property {Phaser.Signal} onStateChange */ this.onStateChange = new Phaser.Signal(); @@ -15547,25 +15534,27 @@ Phaser.StateManager.prototype = { */ link: function (key) { - this.states[key].game = this.game; - this.states[key].add = this.game.add; - this.states[key].make = this.game.make; - this.states[key].camera = this.game.camera; - this.states[key].cache = this.game.cache; - this.states[key].input = this.game.input; - this.states[key].load = this.game.load; - this.states[key].math = this.game.math; - this.states[key].sound = this.game.sound; - this.states[key].scale = this.game.scale; - this.states[key].state = this; - this.states[key].stage = this.game.stage; - this.states[key].time = this.game.time; - this.states[key].tweens = this.game.tweens; - this.states[key].world = this.game.world; - this.states[key].particles = this.game.particles; - this.states[key].rnd = this.game.rnd; - this.states[key].physics = this.game.physics; - this.states[key].key = key; + var state = this.states[key]; + + state.game = this.game; + state.add = this.game.add; + state.make = this.game.make; + state.camera = this.game.camera; + state.cache = this.game.cache; + state.input = this.game.input; + state.load = this.game.load; + state.math = this.game.math; + state.sound = this.game.sound; + state.scale = this.game.scale; + state.state = this; + state.stage = this.game.stage; + state.time = this.game.time; + state.tweens = this.game.tweens; + state.world = this.game.world; + state.particles = this.game.particles; + state.rnd = this.game.rnd; + state.physics = this.game.physics; + state.key = key; }, @@ -15578,26 +15567,28 @@ Phaser.StateManager.prototype = { */ unlink: function (key) { - if (this.states[key]) + var state = this.states[key]; + + if (state) { - this.states[key].game = null; - this.states[key].add = null; - this.states[key].make = null; - this.states[key].camera = null; - this.states[key].cache = null; - this.states[key].input = null; - this.states[key].load = null; - this.states[key].math = null; - this.states[key].sound = null; - this.states[key].scale = null; - this.states[key].state = null; - this.states[key].stage = null; - this.states[key].time = null; - this.states[key].tweens = null; - this.states[key].world = null; - this.states[key].particles = null; - this.states[key].rnd = null; - this.states[key].physics = null; + state.game = null; + state.add = null; + state.make = null; + state.camera = null; + state.cache = null; + state.input = null; + state.load = null; + state.math = null; + state.sound = null; + state.scale = null; + state.state = null; + state.stage = null; + state.time = null; + state.tweens = null; + state.world = null; + state.particles = null; + state.rnd = null; + state.physics = null; } }, @@ -15611,27 +15602,29 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { - this.callbackContext = this.states[key]; + var state = this.states[key]; + + this.callbackContext = state; this.link(key); // Used when the state is set as being the current active state - this.onInitCallback = this.states[key]['init'] || this.dummy; - - this.onPreloadCallback = this.states[key]['preload'] || null; - this.onLoadRenderCallback = this.states[key]['loadRender'] || null; - this.onLoadUpdateCallback = this.states[key]['loadUpdate'] || null; - this.onCreateCallback = this.states[key]['create'] || null; - this.onUpdateCallback = this.states[key]['update'] || null; - this.onPreRenderCallback = this.states[key]['preRender'] || null; - this.onRenderCallback = this.states[key]['render'] || null; - this.onResizeCallback = this.states[key]['resize'] || null; - this.onPausedCallback = this.states[key]['paused'] || null; - this.onResumedCallback = this.states[key]['resumed'] || null; - this.onPauseUpdateCallback = this.states[key]['pauseUpdate'] || null; + this.onInitCallback = state['init'] || this.dummy; + + this.onPreloadCallback = state['preload'] || null; + this.onLoadRenderCallback = state['loadRender'] || null; + this.onLoadUpdateCallback = state['loadUpdate'] || null; + this.onCreateCallback = state['create'] || null; + this.onUpdateCallback = state['update'] || null; + this.onPreRenderCallback = state['preRender'] || null; + this.onRenderCallback = state['render'] || null; + this.onResizeCallback = state['resize'] || null; + this.onPausedCallback = state['paused'] || null; + this.onResumedCallback = state['resumed'] || null; + this.onPauseUpdateCallback = state['pauseUpdate'] || null; // Used when the state is no longer the current active state - this.onShutDownCallback = this.states[key]['shutdown'] || this.dummy; + this.onShutDownCallback = state['shutdown'] || this.dummy; // Reset the physics system, but not on the first state start if (this.current !== '') @@ -21760,6 +21753,12 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.lockRender = false; + /** + * @property {boolean} pendingDestroy - Destroy the game at the next update. + * @default + */ + this.pendingDestroy = false; + /** * @property {boolean} stepping - Enable core loop stepping with Game.enableStep(). * @default @@ -21814,7 +21813,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this._codePaused = false; /** - * The ID of the current/last logic update applied this render frame, starting from 0. + * The ID of the current/last logic update applied this animation frame, starting from 0. * The first update is `currentUpdateID === 0` and the last update is `currentUpdateID === updatesThisFrame.` * @property {integer} currentUpdateID * @protected @@ -21822,12 +21821,19 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this.currentUpdateID = 0; /** - * Number of logic updates expected to occur this render frame; will be 1 unless there are catch-ups required (and allowed). + * Number of logic updates expected to occur this animation frame; will be 1 unless there are catch-ups required (and allowed). * @property {integer} updatesThisFrame * @protected */ this.updatesThisFrame = 1; + /** + * Number of renders expected to occur this animation frame. May be 0 if {@link #dropFrames is on} or {@link #forceSingleRender} is off; otherwise it will be 1. + * @property {integer} updatesThisFrame + * @protected + */ + this.rendersThisFrame = 1; + /** * @property {number} _deltaTime - Accumulate elapsed time until a logic update is due. * @private @@ -21865,6 +21871,16 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.forceSingleUpdate = true; + /** + * @property {boolean} forceSingleRender - Should the game loop make one render per animation frame, even without a preceding logic update? (During spiraling conditions, {@link #dropFrames} is used instead.) + */ + this.forceSingleRender = true; + + /** + * @property {boolean} dropFrames - When {@link #forceSingleUpdate} is off, skip {@link #updateRender rendering} if logic updates are spiraling upwards. + */ + this.dropFrames = false; + /** * @property {number} _nextNotification - The soonest game.time.time value that the next fpsProblemNotifier can be dispatched. * @private @@ -21925,27 +21941,37 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * A configuration object for {@link Phaser.Game}. * * @typedef {object} GameConfig +* @property {boolean} [GameConfig.alignH=false] - Sets {@link Phaser.ScaleManager#pageAlignHorizontally}. +* @property {boolean} [GameConfig.alignV=false] - Sets {@link Phaser.ScaleManager#pageAlignVertically}. * @property {number|string} [GameConfig.antialias=true] -* @property {string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. +* @property {number|string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. * @property {HTMLCanvasElement} [GameConfig.canvas] - An existing canvas to display the game in. * @property {string} [GameConfig.canvasId] - `id` attribute value to assign to the game canvas. * @property {string} [GameConfig.canvasStyle] - `style` attribute value to assign to the game canvas. +* @property {boolean} [GameConfig.crisp=false] - Sets the canvas's `image-rendering` property to `pixelated` or `crisp-edges`. See {@link Phaser.Canvas.setImageRenderingCrisp}. * @property {boolean} [GameConfig.disableVisibilityChange=false] - Sets {@link Phaser.Stage#disableVisibilityChange} +* @property {boolean} [GameConfig.disableStart=false] - Prevents the game loop from starting, allowing you to call updates manually. Helpful for automated testing. * @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {boolean} [GameConfig.failIfMajorPerformanceCaveat] - Abort WebGL context creation if performance would be poor. You can use this with renderer AUTO. * @property {boolean} [GameConfig.forceSetTimeout] - Use {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout setTimeOut} for the game loop even if {@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame requestAnimationFrame} is available. * @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. * @property {HTMLElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. * @property {number|string} [GameConfig.height=600] * @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. * @property {string|HTMLElement} [GameConfig.parent=''] - The DOM element into which this games canvas will be injected. -* @property {object} [GameConfig.physicsConfig=null] +* @property {object} [GameConfig.physicsConfig] * @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. * @property {number} [GameConfig.renderer=Phaser.AUTO] * @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {boolean} [GameConfig.roundPixels=false] - Round pixel coordinates for rendering (rather than interpolating). Handy for crisp pixel art and speed on legacy devices. +* @property {number} [GameConfig.scaleH=1] - Horizontal scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @property {object} [GameConfig.state=null] +* @property {object} [GameConfig.state] * @property {boolean} [GameConfig.transparent=false] +* @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. +* @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] */ // Documentation stub for linking. @@ -22122,6 +22148,11 @@ Phaser.Game.prototype = { } } + if (this.config['disableStart']) + { + return; + } + if (this.cache.isReady) { this.raf.start(); @@ -22210,6 +22241,12 @@ Phaser.Game.prototype = { */ setUpRenderer: function () { + if (!this.device.canvas) + { + // Nothing else to do + throw new Error('Phaser.Game - Cannot create Canvas 2d context, aborting.'); + } + if (this.config['canvas']) { this.canvas = this.config['canvas']; @@ -22228,42 +22265,52 @@ Phaser.Game.prototype = { this.canvas.style['-webkit-full-screen'] = 'width: 100%; height: 100%'; } - if (this.renderType === Phaser.HEADLESS || this.renderType === Phaser.CANVAS || (this.renderType === Phaser.AUTO && !this.device.webGL)) + if (this.config['crisp']) { - if (this.device.canvas) - { - this.renderer = new PIXI.CanvasRenderer(this); - - this.context = this.renderer.context; - - if (this.renderType === Phaser.AUTO) { - this.renderType = Phaser.CANVAS; - } - } - else - { - throw new Error('Phaser.Game - Cannot create Canvas or WebGL context, aborting.'); - } + Phaser.Canvas.setImageRenderingCrisp(this.canvas); } - else - { - // They requested WebGL and their browser supports it + if ((this.renderType === Phaser.WEBGL) || + (this.renderType === Phaser.WEBGL_MULTI) || + (this.renderType === Phaser.AUTO && this.device.webGL)) + { if (this.multiTexture || this.renderType === Phaser.WEBGL_MULTI) { PIXI.enableMultiTexture(); - this.multiTexture = true; } - this.renderType = Phaser.WEBGL; + try + { + this.renderer = new PIXI.WebGLRenderer(this, this.config); + this.renderType = Phaser.WEBGL; + this.context = null; + this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); + this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + } + catch (webGLRendererError) + { + this.renderer = null; + this.multiTexture = false; + PIXI._enableMultiTextureToggle = false; - this.renderer = new PIXI.WebGLRenderer(this); + if (this.renderType === Phaser.WEBGL) + { + // No fallback + throw webGLRendererError; + } + } + } - this.context = null; + if (!this.renderer) + { + this.renderer = new PIXI.CanvasRenderer(this, this.config); + this.context = this.renderer.context; - this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); - this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + if (this.renderType === Phaser.AUTO) + { + this.renderType = Phaser.CANVAS; + } } if (this.device.cocoonJS) @@ -22321,6 +22368,12 @@ Phaser.Game.prototype = { */ update: function (time) { + if (this.pendingDestroy) + { + this.destroy(); + return; + } + this.time.update(time); if (this._kickstart) @@ -22348,12 +22401,19 @@ Phaser.Game.prototype = { this.fpsProblemNotifier.dispatch(); } - // reset the _deltaTime accumulator which will cause all pending dropped frames to be permanently skipped + // reset the _deltaTime accumulator which will cause all pending late updates to be permanently skipped this._deltaTime = 0; this._spiraling = 0; - // call the game render update exactly once every frame - this.updateRender(this.time.slowMotion * this.time.desiredFps); + if (this.dropFrames) + { + this.rendersThisFrame = 0; + } + else + { + this.updateRender(this.time.slowMotion * this.time.desiredFps); + this.rendersThisFrame = 1; + } } else { @@ -22374,6 +22434,15 @@ Phaser.Game.prototype = { this.updatesThisFrame = Math.min(1, this.updatesThisFrame); } + if (this.forceSingleRender) + { + this.rendersThisFrame = 1; + } + else + { + this.rendersThisFrame = Math.min(1, this.updatesThisFrame); + } + while (this._deltaTime >= slowStep) { this._deltaTime -= slowStep; @@ -22406,8 +22475,10 @@ Phaser.Game.prototype = { this._lastCount = count; - // call the game render update exactly once every frame unless we're playing catch-up from a spiral condition - this.updateRender(this._deltaTime / slowStep); + if (this.rendersThisFrame > 0) + { + this.updateRender(this._deltaTime / slowStep); + } } }, @@ -22428,6 +22499,8 @@ Phaser.Game.prototype = { this.pendingStep = true; } + this.time.countUpdate(); + this.scale.preUpdate(); this.debug.preUpdate(); this.camera.preUpdate(); @@ -22453,6 +22526,7 @@ Phaser.Game.prototype = { this.scale.pauseUpdate(); this.state.pauseUpdate(timeStep); this.debug.preUpdate(); + this.input.pauseUpdate(); } this.stage.updateTransform(); @@ -22481,6 +22555,8 @@ Phaser.Game.prototype = { return; } + this.time.countRender(); + this.state.preRender(elapsedTime); if (this.renderType !== Phaser.HEADLESS) @@ -22543,6 +22619,8 @@ Phaser.Game.prototype = { * Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM * and resets the PIXI default renderer. * + * To destroy the game during an update callback, set {@link #pendingDestroy} instead. + * * @method Phaser.Game#destroy */ destroy: function () { @@ -23460,6 +23538,21 @@ Phaser.Input.prototype = { }, + /** + * Update method while paused. + * + * @method Phaser.Input#pauseUpdate + * @private + */ + pauseUpdate: function () { + + if (this.gamepad && this.gamepad.active) + { + this.gamepad.update(); + } + + }, + /** * Reset all of the Pointers and Input states. * @@ -23487,11 +23580,6 @@ Phaser.Input.prototype = { this.keyboard.reset(hard); } - if (this.gamepad) - { - this.gamepad.reset(); - } - for (var i = 0; i < this.pointers.length; i++) { this.pointers[i].reset(); @@ -24474,6 +24562,8 @@ Phaser.Mouse.prototype = { this.input.mousePointer.stop(event); } + this.input.interactiveItems.callAll('_pointerOutHandler', this.input.mousePointer); + }, /** @@ -27007,22 +27097,6 @@ Phaser.Touch.prototype = { } } - /** - * Adds a callback that is fired when a browser touchstart or touchend event is received. - * - * @method Phaser.Touch#addTouchLockCallback - * @deprecated Use {@link Phaser.Input#addTouchLockCallback} instead. - */ - this.addTouchLockCallback = this.game.input.addTouchLockCallback.bind(this.game.input); - - /** - * Removes the callback at the defined index from the touchLockCallbacks array. - * - * @method Phaser.Touch#removeTouchLockCallback - * @deprecated Use {@link Phaser.Input#removeTouchLockCallback} instead. - */ - this.removeTouchLockCallback = this.game.input.removeTouchLockCallback.bind(this.game.input); - }, /** @@ -34622,6 +34696,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 0; + this.texture.baseTexture.dirty(); } } else @@ -34629,6 +34704,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 1; + this.texture.baseTexture.dirty(); } } } @@ -41279,7 +41355,7 @@ Phaser.Graphics = function (game, x, y) { this.graphicsData = []; /** - * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF to reset the tint. + * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF (Phaser.Color.WHITE) to reset the tint. * * @property tint * @type Number @@ -46221,6 +46297,7 @@ Object.defineProperty(Phaser.BitmapText.prototype, 'smoothed', { { this._data.base.scaleMode = 1; } + this._data.base.dirty(); } @@ -48814,17 +48891,11 @@ Phaser.Device = function () { this.canUseMultiply = false; /** - * @property {boolean} webGL - Is webGL (and stencil support) available? + * @property {boolean} webGL - Is webGL available? * @default */ this.webGL = false; - /** - * @property {?Error} webGLError - Any error raised while creating a test {@link #webGL} context. - * @default - */ - this.webGLError = null; - /** * @property {boolean} file - Is file available? * @default @@ -49441,30 +49512,7 @@ Phaser.Device._initialize = function () { device.file = !!window['File'] && !!window['FileReader'] && !!window['FileList'] && !!window['Blob']; device.fileSystem = !!window['requestFileSystem']; - device.webGL = !!(function () { - if (!window.WebGLRenderingContext) - { - return false; - } - - try { - var canvas = document.createElement('canvas'); - - // Force screencanvas to false - canvas.screencanvas = false; - - // See PIXI.WebGLRenderer#_contextOptions - var contextOptions = { stencil: true }; - - return canvas.getContext('webgl' , contextOptions) || - canvas.getContext('experimental-webgl', contextOptions); - - } catch (error) { - device.webGLError = error; - - return false; - } - })(); + device.webGL = !!window.WebGLRenderingContext; device.worker = !!window['Worker']; @@ -50058,22 +50106,6 @@ Phaser.Device.needsTouchUnlock = function () { return !!(!this.cocoonJS && (this.iOS || this.android) || (window.PhaserGlobal && window.PhaserGlobal.fakeiOSTouchLock)); }; -/** -* Returns false. -* -* @deprecated -* @method isConsoleOpen -* @memberof Phaser.Device.prototype -* @return false -*/ -Phaser.Device.isConsoleOpen = function () { - - console.warn('Phaser.Device.isConsoleOpen is deprecated and will be removed.'); - - return false; - -}; - /** * Detect if the host is a an Android Stock browser. * This is available before the device "ready" event. @@ -50100,7 +50132,7 @@ Phaser.Device.isAndroidStockBrowser = function () { */ /** -* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, +* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, * including styles, offset and aspect ratio. * * @class Phaser.Canvas @@ -50353,16 +50385,20 @@ Phaser.Canvas = { }, /** - * Sets the CSS image-rendering property on the given canvas to be 'crisp' (aka 'optimize contrast' on webkit). + * Sets the CSS image-rendering property to `pixelated` or `crisp-edges`. + * This can remove blurring when the game canvas is scaled up. + * In some browsers this has no visible effect in WEBGL mode. * Note that if this doesn't given the desired result then see the setSmoothingEnabled. * * @method Phaser.Canvas.setImageRenderingCrisp * @param {HTMLCanvasElement} canvas - The canvas to set image-rendering crisp on. * @return {HTMLCanvasElement} Returns the source canvas. + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering + * @see https://caniuse.com/#feat=css-crisp-edges */ setImageRenderingCrisp: function (canvas) { - var types = [ 'optimizeSpeed', 'crisp-edges', '-moz-crisp-edges', '-webkit-optimize-contrast', 'optimize-contrast', 'pixelated' ]; + var types = [ '-webkit-optimize-contrast', '-moz-crisp-edges', 'crisp-edges', 'pixelated' ]; for (var i = 0; i < types.length; i++) { @@ -53070,7 +53106,7 @@ Phaser.TweenManager.prototype = { * * @method Phaser.TweenManager#isTweening * @param {object} object - The object to check for tweens against. - * @param {boolean} [checkIsRunning] - Also check that the tween is running and is not marked for deletion. + * @param {boolean} [checkIsRunning=false] - Also check that the tween is running and is not marked for deletion. * @returns {boolean} Returns true if the object is currently being tweened, false if not. */ isTweening: function(object, checkIsRunning) { @@ -53078,7 +53114,7 @@ Phaser.TweenManager.prototype = { if (!checkIsRunning) { checkIsRunning = false; } return this._tweens.some(function(tween) { - return (tween.target === object) && !checkIsRunning || (tween.isRunning && !tween.pendingDelete); + return (tween.target === object) && (!checkIsRunning || (tween.isRunning && !tween.pendingDelete)); }); }, @@ -55339,6 +55375,8 @@ Phaser.Time = function (game) { * * This value _may_ include time that the game is paused/inactive. * + * While the game is active, this will be similar to (1000 / {@link #fps}). + * * _Note:_ This is updated only once per game loop - even if multiple logic update steps are done. * Use {@link Phaser.Timer#physicsTime physicsTime} as a basis of game/logic calculations instead. * @@ -55433,7 +55471,7 @@ Phaser.Time = function (game) { this.advancedTiming = false; /** - * Advanced timing result: The number of render frames record in the last second. + * Advanced timing result: The number of animation frames received from the browser in the last second. * * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. * @property {integer} frames @@ -55441,6 +55479,24 @@ Phaser.Time = function (game) { */ this.frames = 0; + /** + * Advanced timing result: The number of {@link Phaser.Game#updateLogic logic updates} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} updates + * @readonly + */ + this.updates = 0; + + /** + * Advanced timing result: The number of {@link Phaser.Game#updateRender renders} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} renders + * @readonly + */ + this.renders = 0; + /** * Advanced timing result: Frames per second. * @@ -55450,6 +55506,24 @@ Phaser.Time = function (game) { */ this.fps = 0; + /** + * Advanced timing result: Logic updates per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} ups + * @readonly + */ + this.ups = 0; + + /** + * Advanced timing result: Renders per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} rps + * @readonly + */ + this.rps = 0; + /** * Advanced timing result: The lowest rate the fps has dropped to. * @@ -55761,11 +55835,46 @@ Phaser.Time.prototype = { if (this.now > this._timeLastSecond + 1000) { - this.fps = Math.round((this.frames * 1000) / (this.now - this._timeLastSecond)); + var interval = this.now - this._timeLastSecond; + this.fps = Math.round((this.frames * 1000) / interval); + this.ups = Math.round((this.updates * 1000) / interval); + this.rps = Math.round((this.renders * 1000) / interval); this.fpsMin = Math.min(this.fpsMin, this.fps); this.fpsMax = Math.max(this.fpsMax, this.fps); this._timeLastSecond = this.now; this.frames = 0; + this.updates = 0; + this.renders = 0; + } + + }, + + /** + * Counts one logic update (if advanced timing is enabled). + * + * @method Phaser.Time#countUpdate + * @private + */ + countUpdate: function () { + + if (this.advancedTiming) + { + this.updates++; + } + + }, + + /** + * Counts one render (if advanced timing is enabled). + * + * @method Phaser.Time#countRender + * @private + */ + countRender: function () { + + if (this.advancedTiming) + { + this.renders++; } }, @@ -55862,12 +55971,15 @@ Phaser.Time.prototype = { }; /** -* The desired frame rate of the game. +* The number of logic updates per second. * * This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. * +* The render rate is unaffected unless you also turn off {@link Phaser.Game#forceSingleRender}. +* * @name Phaser.Time#desiredFps -* @property {integer} desiredFps - The desired frame rate of the game. Defaults to 60. +* @type {integer} +* @default 60 */ Object.defineProperty(Phaser.Time.prototype, "desiredFps", { @@ -61480,7 +61592,7 @@ Phaser.Loader = function (game) { }; /** - * This event is dispatched when the loading process starts: before the first file has been requested, + * This event is dispatched when the loading process starts: before the first file has been requested, * but after all the initial packs have been loaded. * * @property {Phaser.Signal} onLoadStart @@ -61539,22 +61651,6 @@ Phaser.Loader = function (game) { */ this.onFileError = new Phaser.Signal(); - /** - * If true and if the browser supports XDomainRequest, it will be used in preference for XHR. - * - * This is only relevant for IE 9 and should _only_ be enabled for IE 9 clients when required by the server/CDN. - * - * @property {boolean} useXDomainRequest - * @deprecated This is only relevant for IE 9. - */ - this.useXDomainRequest = false; - - /** - * @private - * @property {boolean} _warnedAboutXDomainRequest - Control number of warnings for using XDR outside of IE 9. - */ - this._warnedAboutXDomainRequest = false; - /** * If true (the default) then parallel downloading will be enabled. * @@ -63852,12 +63948,6 @@ Phaser.Loader.prototype = { */ xhrLoad: function (file, url, type, onload, onerror) { - if (this.useXDomainRequest && window.XDomainRequest) - { - this.xhrLoadWithXDR(file, url, type, onload, onerror); - return; - } - var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = type; @@ -63934,88 +64024,6 @@ Phaser.Loader.prototype = { }, - /** - * Starts the xhr loader - using XDomainRequest. - * This should _only_ be used with IE 9. Phaser does not support IE 8 and XDR is deprecated in IE 10. - * - * This is designed specifically to use with asset file processing. - * - * @method Phaser.Loader#xhrLoadWithXDR - * @private - * @param {object} file - The file/pack to load. - * @param {string} url - The URL of the file. - * @param {string} type - The xhr responseType. - * @param {function} onload - The function to call on success. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @param {function} [onerror=fileError] The function to call on error. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @deprecated This is only relevant for IE 9. - */ - xhrLoadWithXDR: function (file, url, type, onload, onerror) { - - // Special IE9 magic .. only - if (!this._warnedAboutXDomainRequest && - (!this.game.device.ie || this.game.device.ieVersion >= 10)) - { - this._warnedAboutXDomainRequest = true; - console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"); - } - - // Ref: http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx - var xhr = new window.XDomainRequest(); - xhr.open('GET', url, true); - xhr.responseType = type; - - // XDomainRequest has a few quirks. Occasionally it will abort requests - // A way to avoid this is to make sure ALL callbacks are set even if not used - // More info here: http://stackoverflow.com/questions/15786966/xdomainrequest-aborts-post-on-ie-9 - xhr.timeout = 3000; - - onerror = onerror || this.fileError; - - var _this = this; - - xhr.onerror = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.ontimeout = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.onprogress = function() {}; - - xhr.onload = function () { - try { - if (xhr.readyState === 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. - return onerror.call(_this, file, xhr); - } - else { - return onload.call(_this, file, xhr); - } - return onload.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - file.requestObject = xhr; - file.requestUrl = url; - - // Note: The xdr.send() call is wrapped in a timeout to prevent an issue with the interface where some requests are lost - // if multiple XDomainRequests are being sent at the same time. - setTimeout(function () { - xhr.send(); - }, 0); - - }, - /** * Give a bunch of URLs, return the first URL that has an extension this device thinks it can play. * @@ -64484,10 +64492,8 @@ Phaser.Loader.prototype = { /** * Update the loading sprite progress. * - * @method Phaser.Loader#nextFile + * @method Phaser.Loader#updateProgress * @private - * @param {object} previousFile - * @param {boolean} success - Whether the previous asset loaded successfully or not. */ updateProgress: function () { @@ -65475,7 +65481,7 @@ Phaser.Sound = function (game, key, volume, loop, connect) { this.gainNode = this.context.createGain(); } - this.gainNode.gain.value = volume * this.game.sound.volume; + this.gainNode.gain.value = volume; if (connect) { @@ -65501,47 +65507,47 @@ Phaser.Sound = function (game, key, volume, loop, connect) { } /** - * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files) + * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files). It passes one argument, this sound. */ this.onDecoded = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played. + * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played or a looping marker is restarted. It passes one argument, this sound. */ this.onPlay = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. + * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. It passes one argument, this sound. */ this.onPause = new Phaser.Signal(); /** - * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. + * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. It passes one argument, this sound. */ this.onResume = new Phaser.Signal(); /** - * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. + * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. It passes one argument, this sound. */ this.onLoop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback. + * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback or when a non-looping marker completes. It passes two arguments: this sound and any {@link #currentMarker marker} that was playing. */ this.onStop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. + * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. It passes one argument, this sound. */ this.onMute = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. + * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. It passes two arguments: the {@link #currentMarker} and this sound. */ this.onMarkerComplete = new Phaser.Signal(); /** - * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. + * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. It passes two arguments: this sound and its current {@link #volume}. */ this.onFadeComplete = new Phaser.Signal(); @@ -66567,6 +66573,13 @@ Phaser.SoundManager = function (game) { */ this.onUnMute = new Phaser.Signal(); + /** + * This signal is dispatched when the SoundManager is touch-unlocked. + * If the device doesn't {@link Phaser.Device.needsTouchUnlock need touch-unlocking}, the signal won't be dispatched. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -66688,16 +66701,19 @@ Phaser.SoundManager.prototype = { */ boot: function () { - if (this.game.device.iOS && this.game.device.webAudio === false) + var device = this.game.device; + var PhaserGlobal = window.PhaserGlobal; + + if (device.iOS && device.webAudio === false) { this.channels = 1; } // PhaserGlobal overrides - if (window['PhaserGlobal']) + if (PhaserGlobal) { // Check to see if all audio playback is disabled (i.e. handled by a 3rd party class) - if (window['PhaserGlobal'].disableAudio === true) + if (PhaserGlobal.disableAudio === true) { this.noAudio = true; this.touchLocked = false; @@ -66705,7 +66721,7 @@ Phaser.SoundManager.prototype = { } // Check if the Web Audio API is disabled (for testing Audio Tag playback during development) - if (window['PhaserGlobal'].disableWebAudio === true) + if (PhaserGlobal.disableWebAudio === true) { this.usingAudioTag = true; this.touchLocked = false; @@ -66713,9 +66729,9 @@ Phaser.SoundManager.prototype = { } } - if (window['PhaserGlobal'] && window['PhaserGlobal'].audioContext) + if (PhaserGlobal && PhaserGlobal.audioContext) { - this.context = window['PhaserGlobal'].audioContext; + this.context = PhaserGlobal.audioContext; } else { @@ -66767,19 +66783,24 @@ Phaser.SoundManager.prototype = { this.masterGain = this.context.createGain(); } - this._setGain(1); + this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); } if (!this.noAudio) { // On mobile we need a native touch event before we can play anything, so capture it here - if (this.game.device.needsTouchUnlock()) + if (device.needsTouchUnlock()) { this.setTouchLock(); } } + if (this.usingWebAudio && device.chrome && device.chromeVersion <= 65) + { + console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. '); + } + }, /** @@ -66790,7 +66811,7 @@ Phaser.SoundManager.prototype = { */ setTouchLock: function () { - if (this.noAudio || (window['PhaserGlobal'] && window['PhaserGlobal'].disableAudio === true)) + if (this.noAudio || (window.PhaserGlobal && window.PhaserGlobal.disableAudio === true)) { return; } @@ -66801,6 +66822,20 @@ Phaser.SoundManager.prototype = { }, + /** + * Turns off {@link #touchLocked} and dispatches {@link #onTouchUnlock}. + * + * @method Phaser.SoundManager#setTouchUnlock + * @private + */ + setTouchUnlock: function () { + + this.touchLocked = false; + this._unlockSource = null; + this.onTouchUnlock.dispatch(); + + }, + /** * Enables the audio, usually after the first touch. * @@ -66817,8 +66852,7 @@ Phaser.SoundManager.prototype = { // Global override (mostly for Audio Tag testing) if (this.usingAudioTag) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } else if (this.usingWebAudio) { @@ -67018,8 +67052,7 @@ Phaser.SoundManager.prototype = { if (this.touchLocked && this._unlockSource !== null && (this._unlockSource.playbackState === this._unlockSource.PLAYING_STATE || this._unlockSource.playbackState === this._unlockSource.FINISHED_STATE)) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } for (var i = 0; i < this._sounds.length; i++) @@ -67114,6 +67147,28 @@ Phaser.SoundManager.prototype = { }, + /** + * Removes all Sounds from the SoundManager. + * The removed Sounds are destroyed before removal. + * + * @method Phaser.SoundManager#removeAll + */ + removeAll: function () { + + this.stopAll(); + + for (var i = 0; i < this._sounds.length; i++) + { + if (this._sounds[i]) + { + this._sounds[i].destroy(); + } + } + + this._sounds.length = 0; + + }, + /** * Removes all Sounds from the SoundManager that have an asset key matching the given value. * The removed Sounds are destroyed before removal. @@ -67183,7 +67238,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { this._muteVolume = this.masterGain.gain.value; - this._setGain(0); + this.masterGain.gain.value = 0; } // Loop through sounds @@ -67216,7 +67271,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { - this._setGain(this._muteVolume); + this.masterGain.gain.value = this._muteVolume; } // Loop through sounds @@ -67239,26 +67294,16 @@ Phaser.SoundManager.prototype = { */ destroy: function () { - this.stopAll(); - - for (var i = 0; i < this._sounds.length; i++) - { - if (this._sounds[i]) - { - this._sounds[i].destroy(); - } - } - - this._sounds = []; + this.removeAll(); this.onSoundDecode.dispose(); if (this.context) { - if (window['PhaserGlobal']) + if (window.PhaserGlobal) { // Store this in the PhaserGlobal window var, if set, to allow for re-use if the game is created again without the page refreshing - window['PhaserGlobal'].audioContext = this.context; + window.PhaserGlobal.audioContext = this.context; } else { @@ -67269,12 +67314,6 @@ Phaser.SoundManager.prototype = { } } - }, - - _setGain: function (value) { - - this.masterGain.gain.setTargetAtTime(value, 0, 0.01); - } }; @@ -67350,7 +67389,7 @@ Object.defineProperty(Phaser.SoundManager.prototype, "volume", { if (this.usingWebAudio) { - this._setGain(value); + this.masterGain.gain.value = value; } else { @@ -68039,6 +68078,20 @@ Phaser.ScaleManager.RESIZE = 3; */ Phaser.ScaleManager.USER_SCALE = 4; +/** +* Names of the scale modes, indexed by value. +* +* @constant +* @type {string[]} +*/ +Phaser.ScaleManager.MODES = [ + 'EXACT_FIT', + 'NO_SCALE', + 'SHOW_ALL', + 'RESIZE', + 'USER_SCALE' +]; + Phaser.ScaleManager.prototype = { /** @@ -68175,6 +68228,14 @@ Phaser.ScaleManager.prototype = { this.fullScreenTarget = config['fullScreenTarget']; } + this.pageAlignHorizontally = config.alignH || false; + this.pageAlignVertically = config.alignV || false; + + if (config.scaleH && config.scaleV) + { + this.setUserScale(config.scaleH, config.scaleV, config.trimH, config.trimV); + } + }, /** @@ -70138,6 +70199,36 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Render Sound Manager information, including volume, mute, audio mode, and locked status. + * + * @method Phaser.Utils.Debug#sound + * @param {number} x - X position of the debug info to be rendered. + * @param {number} y - Y position of the debug info to be rendered. + * @param {string} [color='rgb(255,255,255)'] - color of the debug info to be rendered. (format is css color string). + */ + sound: function (x, y, color) { + + var sound = this.game.sound; + + this.start(x, y, color); + + if (sound.noAudio) + { + this.line('Audio is disabled'); + } + else + { + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Mute on pause: ' + sound.muteOnPause); + this.line('Using: ' + (sound.usingWebAudio ? ('Web Audio - ' + sound.context.state) : 'Audio Tag')); + this.line('Touch locked: ' + sound.touchLocked); + } + + this.stop(); + + }, + /** * Render Sound information, including decoded state, duration, volume and more. * @@ -70150,13 +70241,13 @@ Phaser.Utils.Debug.prototype = { soundInfo: function (sound, x, y, color) { this.start(x, y, color); - this.line('Sound: ' + sound.key + ' Locked: ' + sound.game.sound.touchLocked); + this.line('Sound: ' + sound.key + ' Touch locked: ' + sound.game.sound.touchLocked); this.line('Is Ready?: ' + this.game.cache.isSoundReady(sound.key) + ' Pending Playback: ' + sound.pendingPlayback); this.line('Decoded: ' + sound.isDecoded + ' Decoding: ' + sound.isDecoding); - this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying); + this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying + ' Loop: ' + sound.loop); this.line('Time: ' + sound.currentTime); - this.line('Volume: ' + sound.volume + ' Muted: ' + sound.mute); - this.line('WebAudio: ' + sound.usingWebAudio + ' Audio: ' + sound.usingAudioTag); + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Using: ' + (sound.usingWebAudio ? 'Web Audio' : 'Audio Tag')); if (sound.currentMarker !== '') { @@ -70217,17 +70308,12 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Camera (' + camera.width + ' x ' + camera.height + ')'); this.line('x: ' + camera.x + ' y: ' + camera.y); - - if (bounds) - { - this.line('Bounds x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height); - } - - this.line('View x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); + this.line('Bounds: ' + (bounds ? ('x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height) : 'none')); + this.line('View: x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); this.line('Deadzone: ' + (deadzone ? ('x: ' + deadzone.x + ' y: ' + deadzone.y + ' w: ' + deadzone.width + ' h: ' + deadzone.height) : deadzone)); this.line('Total in view: ' + camera.totalInView); this.line('At limit: x: ' + camera.atLimit.x + ' y: ' + camera.atLimit.y); - this.line('Target: ' + (target ? (target.name || target) : target)); + this.line('Target: ' + (target ? (target.name || target) : 'none')); this.stop(); }, @@ -70903,6 +70989,86 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Prints game/canvas dimensions and {@link Phaser.ScaleManager game scale} settings. + * + * @method Phaser.Utils.Debug#scale + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + scale: function (x, y, color) { + + this.start(x, y, color); + + var scale = this.game.scale; + var factor = scale.scaleFactorInversed; + var bounds = scale._parentBounds; + var x = ' x '; + + this.line('Game: ' + this.game.width + x + this.game.height); + this.line('Canvas: ' + scale.width + x + scale.height + + ' (' + factor.x.toFixed(2) + x + factor.y.toFixed(2) + ')' + + ' [' + scale.aspectRatio.toFixed(2) + ']'); + this.line('Mode: ' + Phaser.ScaleManager.MODES[scale.currentScaleMode] + + (scale.currentScaleMode === Phaser.ScaleManager.USER_SCALE ? + (' (' + scale._userScaleFactor.x + x + scale._userScaleFactor.y + ')') : + '')); + this.line('Parent: ' + (scale.parentIsWindow ? 'window' : scale.parentNode) + + (bounds.empty ? '' : (' (' + bounds.width + x + bounds.height + ')'))); + this.line('Screen: ' + scale.classifyOrientation(scale.screenOrientation) + + (scale.incorrectOrientation ? ' (incorrect)' : '')); + + this.stop(); + + }, + + /** + * Prints the progress of a {@link Phaser.Loader}. + * + * Typically you would call this within a {@link State#loadRender} callback and pass `game.load` ({@link Phaser.Game#load}). + * + * You can enable {@link Phaser.Loader#resetLocked} to temporarily hold the loader in its 'complete' state. + * Just remember to disable it before restarting the loader (such as when changing states). + * + * @method Phaser.Utils.Debug#loader + * @param {Phaser.Loader} loader - The loader. Usually `game.load` ({@link Phaser.Game#load}). + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + loader: function (loader, x, y, color) { + + var pad = Phaser.Utils.pad; + + this.start(x, y, color); + + if (loader.hasLoaded) + { + this.line('Complete' + (loader.resetLocked ? ' [locked]' : '')); + } + else if (loader.isLoading) + { + this.line('Loading'); + } + else + { + this.line('Not started'); + } + + if (!loader.hasLoaded || loader.resetLocked) + { + this.line('Progress: ' + (pad(loader.progress, 3) + '%')); + this.line('Files: ' + loader._loadedFileCount + ' of ' + + loader._totalFileCount); + this.line('Packs: ' + loader._loadedPackCount + ' of ' + + loader._loadedPackCount); + } + + this.stop(); + + }, + /** * Destroy this object. * @@ -71905,29 +72071,6 @@ Phaser.ArrayUtils = { }, - /** - * Moves the element from the start of the array to the end, shifting all items in the process. - * The "rotation" happens to the left. - * - * Before: `[ A, B, C, D, E, F ]` - * After: `[ B, C, D, E, F, A ]` - * - * See also Phaser.ArrayUtils.rotateRight - * - * @method Phaser.ArrayUtils.rotate - * @deprecated Please use Phaser.ArrayUtils.rotateLeft instead. - * @param {any[]} array - The array to rotate. The array is modified. - * @return {any} The rotated value. - */ - rotate: function (array) { - - var s = array.shift(); - array.push(s); - - return s; - - }, - /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]` (or `[0, start]`, if `end` is omitted). * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. @@ -72916,6 +73059,96 @@ Phaser.FlexLayer.prototype.debug = function () { */ Phaser.Color = { + /** + * Red (0xff0000) + * + * @type number + * @constant + * @default + */ + RED: 0xff0000, + + /** + * Orange (0xff9900) + * + * @type number + * @constant + * @default + */ + ORANGE: 0xff9900, + + /** + * Yellow (0xffff00) + * + * @type number + * @constant + * @default + */ + YELLOW: 0xffff00, + + /** + * Green (0x00ff00) + * + * @type number + * @constant + * @default + */ + GREEN: 0x00ff00, + + /** + * Aqua (0x00ffff) + * + * @type number + * @constant + * @default + */ + AQUA: 0x00ffff, + + /** + * Blue (0x0000ff) + * + * @type number + * @constant + * @default + */ + BLUE: 0x0000ff, + + /** + * Violet/purple (0xff00ff) + * + * @type number + * @constant + * @default + */ + VIOLET: 0xff00ff, + + /** + * White (0xffffff) + * + * @type number + * @constant + * @default + */ + WHITE: 0xffffff, + + /** + * Black (0x000000) + * + * @type number + * @constant + * @default + */ + BLACK: 0, + + /** + * Gray (0x666666) + * + * @type number + * @constant + * @default + */ + GRAY: 0x666666, + /** * Packs the r, g, b, a components into a single integer, for use with Int32Array. * If device is little endian then ABGR order is used. Otherwise RGBA order is used. @@ -74816,7 +75049,7 @@ Phaser.Physics.prototype.constructor = Phaser.Physics; */ /** -* Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it. +* Phaser.Particles tracks any Emitters attached to it. * * @class Phaser.Particles * @constructor @@ -74862,26 +75095,6 @@ Phaser.Particles.prototype = { */ remove: function (emitter) { delete this.emitters[emitter.id]; - }, - - /** - * Updates all Emitters who have their exists value set to true. - * - * Phaser no longer uses this method; Emitters receive updates via {@link Phaser.Stage#update} instead. - * - * @method Phaser.Particles#update - * @protected - * @deprecated - */ - update: function () { - for (var key in this.emitters) - { - if (this.emitters[key].exists) - { - this.emitters[key].update(); - } - } - } }; @@ -75002,6 +75215,19 @@ Phaser.Video = function (game, key, url) { */ this.onTimeout = new Phaser.Signal(); + /** + * This signal is dispatched when the Video is unlocked. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + + /** + * Start playing the video when it's unlocked. + * @property {boolean} playWhenUnlocked + * @default + */ + this.playWhenUnlocked = true; + /** * @property {integer} timeout - The amount of ms allowed to elapsed before the Video.onTimeout signal is dispatched while waiting for webcam access. * @default @@ -75961,9 +76187,12 @@ Phaser.Video.prototype = { this.touchLocked = false; - this.video.play(); + if (this.playWhenUnlocked) + { + this.video.play(); - this.onPlay.dispatch(this, this.loop, this.playbackRate); + this.onPlay.dispatch(this, this.loop, this.playbackRate); + } if (this.key) { @@ -75975,6 +76204,8 @@ Phaser.Video.prototype = { } } + this.onTouchUnlock.dispatch(this); + return true; }, diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index 85aebc210..41d0909d0 100644 --- a/build/custom/phaser-no-physics.map +++ b/build/custom/phaser-no-physics.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-no-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","webGLError","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","contextOptions","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","_setGain","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","setTargetAtTime","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-no-physics.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-no-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":";;CAiCA,WA2lMA,SAASA,EAAoBC,EAAIC,EAAOC,EAAQC,GAC5C,IAAIC,EAAUJ,EAAGK,gBAOjB,OANAL,EAAGM,YAAYN,EAAGO,WAAYH,GAC9BJ,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBT,IAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAC7GhB,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBd,IAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAC7GhB,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMlB,EAAOC,EAAQ,EAAGF,EAAGmB,KAAMnB,EAAGoB,cAAe,MAC/EhB,EAgBX,SAASiB,EAAmBrB,EAAIC,EAAOC,EAAQC,EAAWmB,GACtD,IAAIC,EAAcvB,EAAGwB,oBACjBC,EAAqBzB,EAAG0B,qBACxBC,EAAc,KACdC,EAAW,EAgBf,OAdA5B,EAAG6B,cAAc7B,EAAG8B,SAAWR,GAC/BtB,EAAG+B,gBAAgB/B,EAAGgC,YAAaT,GACnCvB,EAAGiC,iBAAiBjC,EAAGkC,aAAcT,GACrCzB,EAAGmC,wBAAwBnC,EAAGgC,YAAahC,EAAGoC,yBAA0BpC,EAAGkC,aAAcG,KAAKC,cAC9FX,EAAc5B,EAAoBC,EAAIC,EAAOC,EAAQC,GACrDH,EAAGuC,qBAAqBvC,EAAGgC,YAAahC,EAAGwC,kBAAmBxC,EAAGO,WAAYoB,EAAa,IAC1FC,EAAW5B,EAAGyC,uBAAuBzC,EAAGgC,gBACxBhC,EAAG0C,sBACfC,QAAQC,MAAM,8BAA+BC,EAAUjB,IAE3DL,EAAYtB,MAAQA,EACpBsB,EAAYrB,OAASA,EACrBqB,EAAYuB,cAAgBnB,EAC5BJ,EAAYe,aAAeb,EACpBF,EAroMP,IAAIwB,EAAOV,KAUXxB,EAAOA,MAmBXA,EAAKmC,cAAgB,WAWjBX,KAAKY,SAAW,IAAIpC,EAAKqC,MAAM,EAAG,GAYlCb,KAAKc,MAAQ,IAAItC,EAAKqC,MAAM,EAAG,GAQ/Bb,KAAKe,MAAQ,IAAIvC,EAAKqC,MAAM,EAAG,GAY/Bb,KAAKgB,SAAW,EAYhBhB,KAAKiB,MAAQ,EAcbjB,KAAKkB,SAAU,EASflB,KAAKmB,QAAU,KASfnB,KAAKoB,YAAa,EAYlBpB,KAAKqB,OAAS,KAgBdrB,KAAKsB,WAAa,EAelBtB,KAAKuB,eAAiB,IAAIC,OAAOC,OAejCzB,KAAK0B,cAAgB,IAAIlD,EAAKqC,MAAM,EAAG,GAevCb,KAAK2B,WAAa,IAAInD,EAAKqC,MAAM,EAAG,GAepCb,KAAK4B,cAAgB,EASrB5B,KAAK6B,WAAa,KAMlB7B,KAAK8B,IAAM,EAMX9B,KAAK+B,IAAM,EAMX/B,KAAKgC,QAAU,IAAIxD,EAAKyD,UAAU,EAAG,EAAG,EAAG,GAM3CjC,KAAKkC,eAAiB,KAMtBlC,KAAKmC,MAAQ,KAMbnC,KAAKoC,gBAAiB,EAMtBpC,KAAKqC,eAAgB,GAIzB7D,EAAKmC,cAAc2B,WAEfC,YAAa/D,EAAKmC,cAWlB6B,QAAS,WAEL,GAAIxC,KAAKyC,SACT,CAGI,IAFA,IAAIC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAGF,UAGrBxC,KAAKyC,YAGTzC,KAAKmB,QAAU,KACfnB,KAAKqB,OAAS,KACdrB,KAAKuB,eAAiB,KACtBvB,KAAK6B,WAAa,KAClB7B,KAAKoB,YAAa,EAElBpB,KAAKgC,QAAU,KACfhC,KAAKkC,eAAiB,KACtBlC,KAAKmC,MAAQ,KAEbnC,KAAK4C,wBAuBTC,gBAAiB,SAAUxB,GAEvB,IAAKA,IAAWrB,KAAKqB,SAAWrB,KAAK8C,KAEjC,OAAO9C,KAGX,IAAI+C,EAAI/C,KAAKqB,OAETA,EAEA0B,EAAI1B,EAEErB,KAAKqB,SAEX0B,EAAI/C,KAAK8C,KAAKE,OAIlB,IAIIC,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,EAJhBC,EAAKR,EAAExB,eACPiC,EAAKxD,KAAKuB,eAMVvB,KAAKgB,SAAWQ,OAAOiC,KAAKC,KAGxB1D,KAAKgB,WAAahB,KAAK2D,gBAEvB3D,KAAK2D,cAAgB3D,KAAKgB,SAC1BhB,KAAK8B,IAAM2B,KAAKG,IAAI5D,KAAKgB,UACzBhB,KAAK+B,IAAM0B,KAAKI,IAAI7D,KAAKgB,WAI7BiC,EAAMjD,KAAK+B,IAAM/B,KAAKc,MAAMgD,EAC5BZ,EAAMlD,KAAK8B,IAAM9B,KAAKc,MAAMgD,EAC5BX,GAAMnD,KAAK8B,IAAM9B,KAAKc,MAAMiD,EAC5BX,EAAMpD,KAAK+B,IAAM/B,KAAKc,MAAMiD,EAC5BV,EAAMrD,KAAKY,SAASkD,EACpBR,EAAMtD,KAAKY,SAASmD,GAGhB/D,KAAKe,MAAM+C,GAAK9D,KAAKe,MAAMgD,KAE3BV,GAAMrD,KAAKe,MAAM+C,EAAIb,EAAIjD,KAAKe,MAAMgD,EAAIZ,EACxCG,GAAMtD,KAAKe,MAAM+C,EAAIZ,EAAIlD,KAAKe,MAAMgD,EAAIX,GAI5CI,EAAGP,EAAKA,EAAKM,EAAGN,EAAIC,EAAKK,EAAGJ,EAC5BK,EAAGN,EAAKD,EAAKM,EAAGL,EAAIA,EAAKK,EAAGH,EAC5BI,EAAGL,EAAKA,EAAKI,EAAGN,EAAIG,EAAKG,EAAGJ,EAC5BK,EAAGJ,EAAKD,EAAKI,EAAGL,EAAIE,EAAKG,EAAGH,EAC5BI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,KAKnCL,EAAKjD,KAAKc,MAAMgD,EAChBZ,EAAK,EACLC,EAAK,EACLC,EAAKpD,KAAKc,MAAMiD,EAChBV,EAAKrD,KAAKY,SAASkD,EAAI9D,KAAKe,MAAM+C,EAAIb,EACtCK,EAAKtD,KAAKY,SAASmD,EAAI/D,KAAKe,MAAMgD,EAAIX,EAEtCI,EAAGP,EAAKA,EAAKM,EAAGN,EAChBO,EAAGN,EAAKD,EAAKM,EAAGL,EAChBM,EAAGL,EAAKC,EAAKG,EAAGJ,EAChBK,EAAGJ,EAAKA,EAAKG,EAAGH,EAChBI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,IAGvCL,EAAIO,EAAGP,EACPC,EAAIM,EAAGN,EACPC,EAAIK,EAAGL,EAGP,IAAIa,EAAUf,GAFdG,EAAII,EAAGJ,GAEiBF,EAAIC,EAE5B,GAAIF,GAAKC,EACT,CACI,IAAIe,EAAIR,KAAKS,KAAMjB,EAAIA,EAAMC,EAAIA,GAEjClD,KAAK4B,cAAiBsB,EAAI,EAAKO,KAAKU,KAAKlB,EAAIgB,IAAMR,KAAKU,KAAKlB,EAAIgB,GACjEjE,KAAK2B,WAAWmC,EAAIG,EACpBjE,KAAK2B,WAAWoC,EAAIC,EAASC,OAE5B,GAAId,GAAKC,EACd,CACI,IAAIgB,EAAIX,KAAKS,KAAMf,EAAIA,EAAMC,EAAIA,GAEjCpD,KAAK4B,cAAgBJ,OAAOiC,KAAKY,SAAYjB,EAAI,EAAKK,KAAKU,MAAMhB,EAAIiB,IAAMX,KAAKU,KAAKhB,EAAIiB,IACzFpE,KAAK2B,WAAWmC,EAAIE,EAASI,EAC7BpE,KAAK2B,WAAWoC,EAAIK,OAIpBpE,KAAK2B,WAAWmC,EAAI,EACpB9D,KAAK2B,WAAWoC,EAAI,EAiBxB,OAbA/D,KAAKsB,WAAatB,KAAKiB,MAAQ8B,EAAEzB,WACjCtB,KAAK0B,cAAcoC,EAAIN,EAAGH,GAC1BrD,KAAK0B,cAAcqC,EAAIP,EAAGF,GAG1BtD,KAAKkC,eAAiB,KAGlBlC,KAAKsE,mBAELtE,KAAKsE,kBAAkBC,KAAKvE,KAAKwE,yBAA0BhB,EAAID,GAG5DvD,MASXyE,UAAW,aAiBXC,gBAAiB,SAAUC,EAAY7G,EAAW8G,GAE9C,IAAIC,EAAS7E,KAAK8E,iBAEdC,EAAgB,IAAIvD,OAAOwD,cAAchF,KAAK8C,KAAqB,EAAf+B,EAAOjH,MAA2B,EAAhBiH,EAAOhH,OAAY+G,EAAU9G,EAAW6G,GAOlH,OALAnG,EAAKmC,cAAcsE,YAAY5B,IAAMwB,EAAOf,EAC5CtF,EAAKmC,cAAcsE,YAAY3B,IAAMuB,EAAOd,EAE5CgB,EAAcG,OAAOlF,KAAMxB,EAAKmC,cAAcsE,aAEvCF,GAUXI,YAAa,WAIT,OAFAnF,KAAKoF,wBAEEpF,MAWXqF,SAAU,SAAUzE,GAIhB,OAFAZ,KAAK6C,kBAEE7C,KAAKuB,eAAe+D,MAAM1E,IAYrC2E,QAAS,SAAU3E,EAAU4E,GASzB,OAPIA,IAEA5E,EAAW4E,EAAKH,SAASzE,IAG7BZ,KAAK6C,kBAEE7C,KAAKuB,eAAekE,aAAa7E,IAW5C8E,oBAAqB,SAAUC,GAE3B3F,KAAK4F,cAActE,WAAatB,KAAKsB,WAEjCqE,EAAchI,GAEda,EAAKqH,OAAOvD,UAAUwD,aAAavB,KAAKvE,KAAK4F,cAAeD,GAI5DnH,EAAKqH,OAAOvD,UAAUyD,cAAcxB,KAAKvE,KAAK4F,cAAeD,IAWrEP,sBAAuB,WAEnBpF,KAAKoC,gBAAiB,EAEtB,IAAIyC,EAAS7E,KAAK8E,iBAQlB,GALAD,EAAOjH,MAAQ6F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOjH,QAC5CiH,EAAOhH,OAAS4F,KAAKuC,IAAI,EAAGvC,KAAKwC,KAAKpB,EAAOhH,SAE7CmC,KAAK6C,kBAEA7C,KAAK4F,cAaN5F,KAAK4F,cAAc7H,QAAQmI,OAAOrB,EAAOjH,MAAOiH,EAAOhH,YAZ3D,CACI,IAAIoB,EAAc,EACde,KAAKjC,SAAWiC,KAAKjC,QAAQoI,aAAe3H,EAAK4H,4BAEjDnH,EAAce,KAAKjC,QAAQoI,YAAYE,cAE3C,IAAItB,EAAgB,IAAIvD,OAAOwD,cAAchF,KAAK8C,KAAM+B,EAAOjH,MAAOiH,EAAOhH,YAAQyI,OAAWA,OAAWA,OAAWA,EAAWrH,GACjIe,KAAK4F,cAAgB,IAAIpH,EAAKqH,OAAOd,GACrC/E,KAAK4F,cAAcrE,eAAiBvB,KAAKuB,eAQ7C,IAAIgF,EAAcvG,KAAKwG,SAEvBxG,KAAKwG,SAAW,KAChBxG,KAAK4F,cAAca,QAAUF,EAE7B/H,EAAKmC,cAAcsE,YAAY5B,IAAMwB,EAAOf,EAC5CtF,EAAKmC,cAAcsE,YAAY3B,IAAMuB,EAAOd,EAC5C/D,KAAK4F,cAAc7H,QAAQmH,OAAOlF,KAAMxB,EAAKmC,cAAcsE,aAAa,GACxEjF,KAAK4F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOjH,MAClDoC,KAAK4F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOhH,OAElDmC,KAAKwG,SAAWD,EAEhBvG,KAAKoC,gBAAiB,GAU1BQ,qBAAsB,WAEb5C,KAAK4F,gBAKV5F,KAAK4F,cAAc7H,QAAQyE,SAAQ,GAEnCxC,KAAK4F,cAAgB,QAO7BpH,EAAKmC,cAAc2B,UAAUqE,6BAA+BnI,EAAKmC,cAAc2B,UAAUO,gBAEzF+D,OAAOC,iBAAiBrI,EAAKmC,cAAc2B,WAQvCwB,GAEIgD,IAAK,WAED,OAAO9G,KAAKY,SAASkD,GAIzBiD,IAAK,SAAUC,GAEXhH,KAAKY,SAASkD,EAAIkD,IAY1BjD,GAEI+C,IAAK,WAED,OAAO9G,KAAKY,SAASmD,GAIzBgD,IAAK,SAAUC,GAEXhH,KAAKY,SAASmD,EAAIiD,IAW1BC,cAEIH,IAAK,WAED,GAAK9G,KAAKkB,QAKV,CACI,IAAIgG,EAAOlH,KAAKqB,OAEhB,IAAK6F,EAED,OAAOlH,KAAKkB,QAIZ,EACA,CACI,IAAKgG,EAAKhG,QAEN,OAAO,EAGXgG,EAAOA,EAAK7F,aAET6F,GAIX,OAAO,EAzBP,OAAO,IAyCnBC,MAEIL,IAAK,WAED,OAAO9G,KAAKmC,OAIhB4E,IAAK,SAAUC,GAEPhH,KAAKmC,QAELnC,KAAKmC,MAAMiF,QAAS,GAGxBpH,KAAKmC,MAAQ6E,EAETA,IAEAhH,KAAKmC,MAAMiF,QAAS,KAoBhCX,SAEIK,IAAK,WAED,OAAO9G,KAAKwG,UAIhBO,IAAK,SAAUC,GAEX,GAAIK,MAAMC,QAAQN,GAClB,CAII,IAAK,IAFDO,KAEK7E,EAAI,EAAGA,EAAIsE,EAAMrE,OAAQD,IAI9B,IAAK,IAFD8E,EAAeR,EAAMtE,GAAG6E,OAEnBE,EAAI,EAAGA,EAAID,EAAa7E,OAAQ8E,IAErCF,EAAOG,KAAKF,EAAaC,IAKjCzH,KAAK2H,cAAiBC,OAAQ5H,KAAMwH,aAAcD,GAGtDvH,KAAKwG,SAAWQ,EAEZhH,KAAK6H,WAAa7H,KAAK6H,YAAcrJ,EAAKsJ,WAAWC,WAErD/H,KAAK6H,UAAYrJ,EAAKsJ,WAAWE,UAwB7CC,eAEInB,IAAK,WAED,OAAO9G,KAAKoC,gBAIhB2E,IAAK,SAAUC,GAEPhH,KAAKoC,iBAAmB4E,IAKxBA,EAEAhH,KAAKoF,wBAILpF,KAAK4C,uBAGT5C,KAAKoC,eAAiB4E,OAoBlCxI,EAAK0J,uBAAyB,WAE1B1J,EAAKmC,cAAc4D,KAAKvE,MASxBA,KAAKyC,YAWLzC,KAAKmI,kBAAmB,GAI5B3J,EAAK0J,uBAAuB5F,UAAYsE,OAAOwB,OAAQ5J,EAAKmC,cAAc2B,WAC1E9D,EAAK0J,uBAAuB5F,UAAUC,YAAc/D,EAAK0J,uBASzD1J,EAAK0J,uBAAuB5F,UAAU+F,SAAW,SAAUC,GAEvD,OAAOtI,KAAKuI,WAAWD,EAAOtI,KAAKyC,SAASE,SAYhDnE,EAAK0J,uBAAuB5F,UAAUiG,WAAa,SAAUD,EAAOE,GAEhE,GAAIA,GAAS,GAAKA,GAASxI,KAAKyC,SAASE,OAWrC,OATI2F,EAAMjH,QAENiH,EAAMjH,OAAOoH,YAAYH,GAG7BA,EAAMjH,OAASrB,KAEfA,KAAKyC,SAASiG,OAAOF,EAAO,EAAGF,GAExBA,EAIP,MAAM,IAAIK,MAAML,EAAQ,yBAA0BE,EAAO,8BAAgCxI,KAAKyC,SAASE,SAY/GnE,EAAK0J,uBAAuB5F,UAAUsG,aAAe,SAAUN,EAAOO,GAElE,GAAIP,IAAUO,EAAd,CAKA,IAAIC,EAAS9I,KAAK+I,cAAcT,GAC5BU,EAAShJ,KAAK+I,cAAcF,GAEhC,GAAIC,EAAS,GAAKE,EAAS,EAEvB,MAAM,IAAIL,MAAM,iFAGpB3I,KAAKyC,SAASqG,GAAUD,EACxB7I,KAAKyC,SAASuG,GAAUV,IAW5B9J,EAAK0J,uBAAuB5F,UAAUyG,cAAgB,SAAUT,GAE5D,IAAIE,EAAQxI,KAAKyC,SAASwG,QAAQX,GAElC,IAAe,IAAXE,EAEA,MAAM,IAAIG,MAAM,4DAGpB,OAAOH,GAWXhK,EAAK0J,uBAAuB5F,UAAU4G,cAAgB,SAAUZ,EAAOE,GAEnE,GAAIA,EAAQ,GAAKA,GAASxI,KAAKyC,SAASE,OAEpC,MAAM,IAAIgG,MAAM,uCAGpB,IAAIQ,EAAenJ,KAAK+I,cAAcT,GAEtCtI,KAAKyC,SAASiG,OAAOS,EAAc,GACnCnJ,KAAKyC,SAASiG,OAAOF,EAAO,EAAGF,IAWnC9J,EAAK0J,uBAAuB5F,UAAU8G,WAAa,SAAUZ,GAEzD,GAAIA,EAAQ,GAAKA,GAASxI,KAAKyC,SAASE,OAEpC,MAAM,IAAIgG,MAAM,8BAA+BH,EAAO,kGAG1D,OAAOxI,KAAKyC,SAAS+F,IAWzBhK,EAAK0J,uBAAuB5F,UAAUmG,YAAc,SAAUH,GAE1D,IAAIE,EAAQxI,KAAKyC,SAASwG,QAAQX,GAElC,IAAe,IAAXE,EAKJ,OAAOxI,KAAKqJ,cAAcb,IAW9BhK,EAAK0J,uBAAuB5F,UAAU+G,cAAgB,SAAUb,GAE5D,IAAIF,EAAQtI,KAAKoJ,WAAWZ,GAS5B,OAPIF,IAEAA,EAAMjH,YAASiF,EAEftG,KAAKyC,SAASiG,OAAOF,EAAO,IAGzBF,GAWX9J,EAAK0J,uBAAuB5F,UAAUgH,eAAiB,SAAUC,EAAYC,QAEtDlD,IAAfiD,IAA4BA,EAAa,QAC5BjD,IAAbkD,IAA0BA,EAAWxJ,KAAKyC,SAASE,QAEvD,IAAI8G,EAAQD,EAAWD,EAEvB,GAAIE,EAAQ,GAAKA,GAASD,EAC1B,CAGI,IAAK,IAFDE,EAAU1J,KAAKyC,SAASiG,OAAOa,EAAYE,GAEtC/G,EAAI,EAAGA,EAAIgH,EAAQ/G,OAAQD,IAEpBgH,EAAQhH,GACdrB,YAASiF,EAGnB,OAAOoD,EAEN,GAAc,IAAVD,GAAwC,IAAzBzJ,KAAKyC,SAASE,OAElC,SAIA,MAAM,IAAIgG,MAAO,iFAWzBnK,EAAK0J,uBAAuB5F,UAAUO,gBAAkB,WAEpD,GAAK7C,KAAKkB,UAKVlB,KAAK2G,gCAED3G,KAAKoC,gBAKT,IAAK,IAAIM,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGG,mBAMzBrE,EAAK0J,uBAAuB5F,UAAUqH,sCAAwCnL,EAAK0J,uBAAuB5F,UAAUO,gBASpHrE,EAAK0J,uBAAuB5F,UAAUsH,UAAY,SAAUC,GAExD,IAAIC,EAAwCD,GAAyBA,aAAiCrL,EAAKmC,cACvGoJ,GAAsC,EAErCD,EAMDC,EAFEF,aAAiCrL,EAAK0J,wBAEF2B,EAAsBG,SAAShK,MAJrE6J,EAAwB7J,KAW5B,IAAI0C,EAEJ,GAAIoH,EACJ,CACI,IAAIG,EAAcJ,EAAsBtI,eAIxC,IAFAsI,EAAsBtI,eAAiBC,OAAO0I,eAEzCxH,EAAI,EAAGA,EAAImH,EAAsBpH,SAASE,OAAQD,IAEnDmH,EAAsBpH,SAASC,GAAGG,kBAI1C,IAMIsH,EACAC,EACAC,EARAC,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPE,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAMRI,GAAe,EAEnB,IAAKjI,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtB1C,KAAKyC,SAASC,GAEfxB,UAKXyJ,GAAe,EAIfL,EAAQA,GAFRH,EAAcnK,KAAKyC,SAASC,GAAGkH,aAEJ9F,EAAKwG,EAAOH,EAAYrG,EACnD0G,EAAQA,EAAOL,EAAYpG,EAAKyG,EAAOL,EAAYpG,EAEnDqG,EAAYD,EAAYvM,MAAQuM,EAAYrG,EAC5CuG,EAAYF,EAAYtM,OAASsM,EAAYpG,EAE7C0G,EAAQA,EAAOL,EAAaK,EAAOL,EACnCM,EAAQA,EAAOL,EAAaK,EAAOL,GAGvC,IAAIxF,EAAS7E,KAAKgC,QAElB,IAAK2I,EACR,CAGO,IAAIC,GAFJ/F,EAAS,IAAIrG,EAAKyD,WAEF6B,EACZ+G,EAAKhG,EAAOjH,MAAQiH,EAAOf,EAE3BgH,EAAKjG,EAAOd,EACZgH,EAAKlG,EAAOhH,OAASgH,EAAOd,EAE5BxC,EAAiBvB,KAAKuB,eAEtB0B,EAAI1B,EAAe0B,EACnBC,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAK9B,EAAe8B,GACpBC,EAAK/B,EAAe+B,GAEpB0H,EAAK/H,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACvB4H,EAAK7H,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAEvB4H,EAAKjI,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACvB8H,EAAK/H,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAEvB8H,EAAKnI,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACvBgI,EAAKjI,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAEvBgI,EAAKrI,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACvBkI,EAAKnI,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAE3BmH,EAAOO,EACPN,EAAOO,EAGPT,EAAOS,EAIPX,EAAOgB,GADPhB,EAAOc,GADPd,EAAOY,GAHPZ,EAAOU,GAGYE,EAAKZ,GACLc,EAAKd,GACLgB,EAAKhB,EAIxBE,EAAOe,GADPf,EAAOa,GADPb,EAAOW,EAAKX,EAAOW,EAAKX,GACLa,EAAKb,GACLe,EAAKf,EAIxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAIxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAQ5B,GALA7F,EAAOf,EAAIwG,EACXzF,EAAOd,EAAIyG,EACX3F,EAAOjH,MAAQ6M,EAAOH,EACtBzF,EAAOhH,OAAS6M,EAAOF,EAEnBV,EAIA,IAFAD,EAAsBtI,eAAiB0I,EAElCvH,EAAI,EAAGA,EAAImH,EAAsBpH,SAASE,OAAQD,IAEnDmH,EAAsBpH,SAASC,GAAGG,kBAI1C,IAAKkH,EACR,CACO,IAAIyB,EAA8B3B,EAAsBD,YAExD/E,EAAOf,GAAK0H,EAA4B1H,EACxCe,EAAOd,GAAKyH,EAA4BzH,EAG5C,OAAOc,GAUXrG,EAAK0J,uBAAuB5F,UAAUwC,eAAiB,WAEnD,OAAO9E,KAAK4J,UAAU5J,OAW1BxB,EAAK0J,uBAAuB5F,UAAU0H,SAAW,SAAU1B,GAEvD,QAAKA,IAIIA,IAAUtI,MAMRA,KAAKgK,SAAS1B,EAAMjH,UAWnC7C,EAAK0J,uBAAuB5F,UAAUwD,aAAe,SAAUH,GAE3D,GAAK3F,KAAKkB,WAAWlB,KAAKiB,OAAS,GAKnC,GAAIjB,KAAKoC,eAELpC,KAAK0F,oBAAoBC,OAF7B,CAMA,IAAIjD,EAEJ,GAAI1C,KAAKmC,OAASnC,KAAKwG,SACvB,CAgBI,IAdIxG,KAAKwG,WAELb,EAAc8F,YAAYC,QAC1B/F,EAAcgG,cAAcC,WAAW5L,KAAK2H,eAG5C3H,KAAKmC,QAELwD,EAAc8F,YAAYI,OAC1BlG,EAAcmG,YAAYC,SAAS/L,KAAKmH,KAAMxB,GAC9CA,EAAc8F,YAAYO,SAIzBtJ,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGoD,aAAaH,GAGlCA,EAAc8F,YAAYI,OAEtB7L,KAAKmC,OAAOwD,EAAcmG,YAAYG,QAAQjM,KAAKmC,MAAOwD,GAC1D3F,KAAKwG,UAAUb,EAAcgG,cAAcO,YAE/CvG,EAAc8F,YAAYO,aAK1B,IAAKtJ,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGoD,aAAaH,KAa1CnH,EAAK0J,uBAAuB5F,UAAUyD,cAAgB,SAAUJ,GAE5D,IAAqB,IAAjB3F,KAAKkB,SAAoC,IAAflB,KAAKiB,MAKnC,GAAIjB,KAAKoC,eAELpC,KAAK0F,oBAAoBC,OAF7B,CAMI3F,KAAKmC,OAELwD,EAAcmG,YAAYC,SAAS/L,KAAKmC,MAAOwD,GAGnD,IAAK,IAAIjD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,cAAcJ,GAG/B3F,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQtG,KAW1CiB,OAAOuF,eAAe3N,EAAK0J,uBAAuB5F,UAAW,SAEzDwE,IAAK,WACD,OAAO9G,KAAK8E,iBAAiBlH,MAAQoC,KAAKc,MAAMgD,GAGpDiD,IAAK,SAASC,GAEV,IAAIpJ,EAAQoC,KAAK8E,iBAAiBlH,MAI9BoC,KAAKc,MAAMgD,EAFD,IAAVlG,EAEeoJ,EAAQpJ,EAIR,EAGnBoC,KAAKoM,OAASpF,KAUtBJ,OAAOuF,eAAe3N,EAAK0J,uBAAuB5F,UAAW,UAEzDwE,IAAK,WACD,OAAO9G,KAAK8E,iBAAiBjH,OAASmC,KAAKc,MAAMiD,GAGrDgD,IAAK,SAASC,GAEV,IAAInJ,EAASmC,KAAK8E,iBAAiBjH,OAI/BmC,KAAKc,MAAMiD,EAFA,IAAXlG,EAEemJ,EAAQnJ,EAIR,EAGnBmC,KAAKqM,QAAUrF,KAiBvBxI,EAAKqH,OAAS,SAAU9H,GAEpBS,EAAK0J,uBAAuB3D,KAAKvE,MAajCA,KAAK0G,OAAS,IAAIlI,EAAKqC,MAAMrC,EAAKqH,OAAOyG,cAAcxI,EAAGtF,EAAKqH,OAAOyG,cAAcvI,GAQpF/D,KAAKjC,QAAUA,GAAWS,EAAK+N,QAAQC,aASvCxM,KAAKoM,OAAS,EASdpM,KAAKqM,QAAU,EASfrM,KAAKyM,KAAO,SAUZzM,KAAK0M,YAAc,EASnB1M,KAAK2M,cAAgB,KAWrB3M,KAAK6H,UAAYrJ,EAAKsJ,WAAWE,OAUjChI,KAAK4M,OAAS,KASd5M,KAAK6M,QAAS,EAEV7M,KAAKjC,QAAQoI,YAAY2G,WAEzB9M,KAAK+M,kBAGT/M,KAAKoB,YAAa,GAStB5C,EAAKqH,OAAOyG,eAAiBxI,EAAG,EAAGC,EAAG,GAGtCvF,EAAKqH,OAAOvD,UAAYsE,OAAOwB,OAAO5J,EAAK0J,uBAAuB5F,WAClE9D,EAAKqH,OAAOvD,UAAUC,YAAc/D,EAAKqH,OAQzCe,OAAOuF,eAAe3N,EAAKqH,OAAOvD,UAAW,SAEzCwE,IAAK,WACD,OAAO9G,KAAKc,MAAMgD,EAAI9D,KAAKjC,QAAQiP,MAAMpP,OAG7CmJ,IAAK,SAASC,GACVhH,KAAKc,MAAMgD,EAAIkD,EAAQhH,KAAKjC,QAAQiP,MAAMpP,MAC1CoC,KAAKoM,OAASpF,KAWtBJ,OAAOuF,eAAe3N,EAAKqH,OAAOvD,UAAW,UAEzCwE,IAAK,WACD,OAAQ9G,KAAKc,MAAMiD,EAAI/D,KAAKjC,QAAQiP,MAAMnP,QAG9CkJ,IAAK,SAASC,GACVhH,KAAKc,MAAMiD,EAAIiD,EAAQhH,KAAKjC,QAAQiP,MAAMnP,OAC1CmC,KAAKqM,QAAUrF,KAavBxI,EAAKqH,OAAOvD,UAAU2K,WAAa,SAASlP,EAASmP,GAE7CA,GAEAlN,KAAKjC,QAAQoI,YAAY3D,UAI7BxC,KAAKjC,QAAQoI,YAAYgH,YAAa,EACtCnN,KAAKjC,QAAUA,EACfiC,KAAKjC,QAAQqP,OAAQ,EACrBpN,KAAK0M,YAAc,GAUvBlO,EAAKqH,OAAOvD,UAAUyK,gBAAkB,WAGhC/M,KAAKoM,SAAQpM,KAAKc,MAAMgD,EAAI9D,KAAKoM,OAASpM,KAAKjC,QAAQiP,MAAMpP,OAC7DoC,KAAKqM,UAASrM,KAAKc,MAAMiD,EAAI/D,KAAKqM,QAAUrM,KAAKjC,QAAQiP,MAAMnP,SAkBvEW,EAAKqH,OAAOvD,UAAUsH,UAAY,SAASyD,GAEvC,IAAIzP,EAAQoC,KAAKjC,QAAQiP,MAAMpP,MAC3BC,EAASmC,KAAKjC,QAAQiP,MAAMnP,OAE5B+M,EAAKhN,GAAS,EAAEoC,KAAK0G,OAAO5C,GAC5B+G,EAAKjN,GAASoC,KAAK0G,OAAO5C,EAE1BgH,EAAKjN,GAAU,EAAEmC,KAAK0G,OAAO3C,GAC7BgH,EAAKlN,GAAUmC,KAAK0G,OAAO3C,EAE3BxC,EAAiB8L,GAAUrN,KAAKuB,eAEhC0B,EAAI1B,EAAe0B,EACnBC,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAK9B,EAAe8B,GACpBC,EAAK/B,EAAe+B,GAEpBmH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEX,GAAU,IAANrH,GAAiB,IAANC,EACf,CAEI,GAAIF,EAAI,EACR,CACIA,IAAM,EACFqK,EAAO1C,EACXA,GAAMC,EACNA,GAAMyC,EAGV,GAAIlK,EAAI,EACR,CACIA,IAAM,EACN,IAAIkK,EAAOxC,EACXA,GAAMC,EACNA,GAAMuC,EAKVhD,EAAOrH,EAAI4H,EAAKxH,EAChBoH,EAAOxH,EAAI2H,EAAKvH,EAChBmH,EAAOpH,EAAI2H,EAAKzH,EAChBoH,EAAOtH,EAAI0H,EAAKxH,MAGpB,CACI,IAAI0H,EAAK/H,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACvB4H,EAAK7H,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAEvB4H,EAAKjI,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACvB8H,EAAK/H,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAEvB8H,EAAKnI,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACvBgI,EAAKjI,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAEvBgI,EAAMrI,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACxBkI,EAAMnI,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAK5BgH,EAAOgB,GADPhB,EAAOc,GADPd,EAAOY,GADPZ,EAAOU,EAAKV,EAAOU,EAAKV,GACLY,EAAKZ,GACLc,EAAKd,GACLgB,EAAKhB,EAKxBE,EAAOe,GADPf,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,GACLe,EAAKf,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAG5B,IAAI7F,EAAS7E,KAAKgC,QAWlB,OATA6C,EAAOf,EAAIwG,EACXzF,EAAOjH,MAAQ6M,EAAOH,EAEtBzF,EAAOd,EAAIyG,EACX3F,EAAOhH,OAAS6M,EAAOF,EAGvBxK,KAAKkC,eAAiB2C,EAEfA,GASXrG,EAAKqH,OAAOvD,UAAUwC,eAAiB,WAEnC,IAAImF,EAAcjK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,OAAO0I,eAE7B,IAAK,IAAIxH,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGG,kBAGrB,IAAIgC,EAAS7E,KAAK4J,YAIlB,IAFA5J,KAAKuB,eAAiB0I,EAEjBvH,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGG,kBAGrB,OAAOgC,GAYXrG,EAAKqH,OAAOvD,UAAUwD,aAAe,SAASH,EAAe0H,GAGzD,GAAKrN,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKoB,WAA9C,CAGA,IAAIoC,EAAKxD,KAAKuB,eAQd,GANI8L,IAEA7J,EAAK6J,GAILrN,KAAKmC,OAASnC,KAAKwG,SACvB,CACI,IAAIiF,EAAc9F,EAAc8F,YAG5BzL,KAAKwG,WAELiF,EAAYC,QACZ/F,EAAcgG,cAAcC,WAAW5L,KAAK2H,eAG5C3H,KAAKmC,QAELsJ,EAAYI,OACZlG,EAAcmG,YAAYC,SAAS/L,KAAKmH,KAAMxB,GAC9C8F,EAAYO,SAIhBP,EAAYvG,OAAOlF,MAGnB,IAAS0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGoD,aAAaH,GAIlC8F,EAAYI,OAER7L,KAAKmC,OAAOwD,EAAcmG,YAAYG,QAAQjM,KAAKmC,MAAOwD,GAC1D3F,KAAKwG,UAAUb,EAAcgG,cAAcO,YAE/CT,EAAYO,YAGhB,CACIrG,EAAc8F,YAAYvG,OAAOlF,MAGjC,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGoD,aAAaH,EAAenC,MAczDhF,EAAKqH,OAAOvD,UAAUyD,cAAgB,SAASJ,EAAe0H,GAG1D,MAAKrN,KAAKkB,SAA0B,IAAflB,KAAKiB,QAAgBjB,KAAKoB,YAAcpB,KAAKjC,QAAQwP,KAAK3P,OAAS,GAAKoC,KAAKjC,QAAQwP,KAAK1P,QAAU,GAAzH,CAKA,IAAI2F,EAAKxD,KAAKuB,eAoBd,GAjBI8L,IAEA7J,EAAK6J,GAGLrN,KAAK6H,YAAclC,EAAc6H,mBAEjC7H,EAAc6H,iBAAmBxN,KAAK6H,UACtClC,EAAc8H,QAAQC,yBAA2BlP,EAAKmP,iBAAiBhI,EAAc6H,mBAGrFxN,KAAKmC,OAELwD,EAAcmG,YAAYC,SAAS/L,KAAKmC,MAAOwD,GAI9C3F,KAAKjC,QAAQqP,MAAlB,CAgBA,IAAIzI,EAAa3E,KAAKjC,QAAQoI,YAAYxB,WAAagB,EAAchB,WAErEgB,EAAc8H,QAAQG,YAAc5N,KAAKsB,WAGrCqE,EAAckI,gBAAkBlI,EAAc7H,YAAckC,KAAKjC,QAAQoI,YAAYrI,YAErF6H,EAAc7H,UAAYkC,KAAKjC,QAAQoI,YAAYrI,UACnD6H,EAAc8H,QAAQ9H,EAAckI,gBAAmBlI,EAAc7H,YAAcU,EAAKC,WAAWC,QAIvG,IAAIoP,EAAM9N,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQgQ,KAAKjK,EAAI9D,KAAK0G,OAAO5C,EAAI9D,KAAKjC,QAAQgQ,KAAKnQ,MAAQoC,KAAK0G,OAAO5C,GAAK9D,KAAKjC,QAAQiP,MAAMpP,MAC/HoQ,EAAMhO,KAAKjC,QAAY,KAAIiC,KAAKjC,QAAQgQ,KAAKhK,EAAI/D,KAAK0G,OAAO3C,EAAI/D,KAAKjC,QAAQgQ,KAAKlQ,OAASmC,KAAK0G,OAAO3C,GAAK/D,KAAKjC,QAAQiP,MAAMnP,OAEhIwF,EAAMG,EAAGH,GAAKsC,EAAchB,WAAcgB,EAAcsI,OACxD3K,EAAME,EAAGF,GAAKqC,EAAchB,WAAcgB,EAAcuI,OAExDC,EAAKnO,KAAKjC,QAAQwP,KAAK3P,MACvBwQ,EAAKpO,KAAKjC,QAAQwP,KAAK1P,OAE3B,GAAImC,KAAKjC,QAAQsQ,QACjB,CACI,IAAIpL,EAAIO,EAAGP,EACPC,EAAIM,EAAGN,EACPC,EAAIK,EAAGL,EACPC,EAAII,EAAGJ,EACPkL,EAAIH,EAGR9K,EAAKG,EAAGL,EAAIiL,EAAK/K,EACjBC,EAAKE,EAAGJ,EAAIgL,EAAK9K,EAIjBE,EAAGP,EAAQ,sBAAJA,EAA6BE,EACpCK,EAAGN,EAAQ,sBAAJA,EAA6BE,EACpCI,EAAGL,EAAIF,EAAQ,sBAAJE,EACXK,EAAGJ,EAAIF,EAAQ,sBAAJE,EAGX+K,EAAKC,EACLA,EAAKE,EAkBT,GAdI3I,EAAc4I,aAEd5I,EAAc8H,QAAQe,aAAahL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAQ,EAALC,EAAa,EAALC,GACnEwK,GAAM,EACNE,GAAM,GAINrI,EAAc8H,QAAQe,aAAahL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAGnEwK,GAAMnJ,EACNqJ,GAAMrJ,EAEY,WAAd3E,KAAKyM,MAEDzM,KAAKjC,QAAQ0Q,gBAAkBzO,KAAK0M,aAAe1M,KAAKyM,QAExDzM,KAAK2M,cAAgBnO,EAAKkQ,aAAaC,iBAAiB3O,KAAMA,KAAKyM,MAEnEzM,KAAK0M,WAAa1M,KAAKyM,KACvBzM,KAAKjC,QAAQ0Q,gBAAiB,GAGlC9I,EAAc8H,QAAQmB,UAAU5O,KAAK2M,cAAe,EAAG,EAAGwB,EAAIC,EAAIN,EAAIE,EAAIG,EAAKxJ,EAAYyJ,EAAKzJ,OAGpG,CACI,IAAIkK,EAAK7O,KAAKjC,QAAQwP,KAAKzJ,EACvBgL,EAAK9O,KAAKjC,QAAQwP,KAAKxJ,EAE3BoK,EAAK1K,KAAKsL,MAAMZ,GAChBC,EAAK3K,KAAKsL,MAAMX,GAEhBzI,EAAc8H,QAAQmB,UAAU5O,KAAKjC,QAAQoI,YAAY6I,OAAQH,EAAIC,EAAIX,EAAIC,EAAIN,EAAIE,EAAIG,EAAKxJ,EAAYyJ,EAAKzJ,GAGnH,IAASjC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,cAAcJ,GAG/B3F,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQtG,OA1GtC,CAGI,IAAK,IAAIjD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,cAAcJ,GAG/B3F,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQtG,MA8G9CnH,EAAKyQ,mBAAqB,aAW1BzQ,EAAK0Q,oBAAsB,SAASvR,EAAIwR,GAEpC,OAAO3Q,EAAK4Q,eAAezR,EAAIwR,EAAWxR,EAAG0R,gBAUjD7Q,EAAK8Q,sBAAwB,SAAS3R,EAAIwR,GAEtC,OAAO3Q,EAAK4Q,eAAezR,EAAIwR,EAAWxR,EAAG4R,kBAYjD/Q,EAAK4Q,eAAiB,SAASzR,EAAIwR,EAAWK,GAE1C,IAAIC,EAAMN,EAEN9H,MAAMC,QAAQ6H,KAEdM,EAAMN,EAAUO,KAAK,OAGzB,IAAI9C,EAASjP,EAAGgS,aAAaH,GAI7B,OAHA7R,EAAGiS,aAAahD,EAAQ6C,GACxB9R,EAAGkS,cAAcjD,GAEZjP,EAAGmS,mBAAmBlD,EAAQjP,EAAGoS,gBAM/BnD,GAJHoD,OAAO1P,QAAQ2P,IAAItS,EAAGuS,iBAAiBtD,IAChC,OAcfpO,EAAK2R,eAAiB,SAASxS,EAAIyS,EAAWC,GAE1C,IAAIC,EAAiB9R,EAAK8Q,sBAAsB3R,EAAI0S,GAChDE,EAAe/R,EAAK0Q,oBAAoBvR,EAAIyS,GAE5CI,EAAgB7S,EAAG8S,gBAYvB,OAVA9S,EAAG+S,aAAaF,EAAeD,GAC/B5S,EAAG+S,aAAaF,EAAeF,GAC/B3S,EAAGgT,YAAYH,GAEV7S,EAAGiT,oBAAoBJ,EAAe7S,EAAGkT,eAE1Cb,OAAO1P,QAAQ2P,IAAItS,EAAGmT,kBAAkBN,IACxCR,OAAO1P,QAAQ2P,IAAI,iCAGhBO,GAaXhS,EAAKuS,WAAa,SAASpT,GAOvBqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAOfjR,KAAKqQ,YAAc,KAOnBrQ,KAAKkR,aAAe,EAQpBlR,KAAKmR,UAAW,EAOhBnR,KAAKoR,OAAQ,EAQbpR,KAAKqR,cAELrR,KAAKsR,QAGT9S,EAAKuS,WAAWzO,UAAUC,YAAc/D,EAAKuS,WAE7CvS,EAAKuS,WAAWzO,UAAUiP,mBAAqB,WAC3C,IAAI5T,EAAKqC,KAAKrC,GACdqC,KAAKwR,aAAe7T,EAAG8T,aAAa9T,EAAG+T,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQxI,KAAKwR,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,+CACRA,EAAQ,wCAExBxI,KAAKqQ,aACD,iCACA,wBACA,+FACA,8BACA,uBACA,+BACA,mCAAqCrQ,KAAKwR,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B3R,KAAKwR,aAAe,qCAChD,4DACA,KAGJ,IAAIP,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,WAAa5R,EAAKuS,WAAWa,iBAAkB5R,KAAKqQ,aAE/F1S,EAAGkU,WAAWZ,GAIdjR,KAAK8R,cAAgBnU,EAAGoU,mBAAmBd,EAAS,oBACpDjR,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAKkS,WAAavU,EAAGoU,mBAAmBd,EAAS,cAGjDjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKqS,cAAgB1U,EAAGyU,kBAAkBnB,EAAS,iBACnDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UACpDjR,KAAKuS,cAAgB5U,EAAGyU,kBAAkBnB,EAAS,iBAEnD,IAAIuB,KAEAC,EAAc9U,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9B9U,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAG+U,IAAK,EAAG,EAAG,EAAG/U,EAAG+U,IAAK/U,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAKwR,eAAgB9O,EACrC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9BD,EAAQ9K,KAAKhF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGgV,WAAW3S,KAAK8R,cAAeU,IAQN,IAAzBxS,KAAKsS,iBAEJtS,KAAKsS,eAAiB,GAG1BtS,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKqS,cAAerS,KAAKsS,eAAgBtS,KAAKuS,eAKvF,IAAK,IAAIK,KAAO5S,KAAK6S,SAGjB7S,KAAK6S,SAASD,GAAKE,gBAAkBnV,EAAGoU,mBAAmBd,EAAS2B,GAGxE5S,KAAK+S,eAEL/S,KAAKiR,QAAUA,GAGnBzS,EAAKuS,WAAWzO,UAAU0Q,kBAAoB,WAEjB,OAArBhT,KAAKqQ,cACLrQ,KAAKqQ,aACD,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,kEACA,MAIR,IAAI1S,EAAKqC,KAAKrC,GAEVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,WAAa5R,EAAKuS,WAAWa,iBAAkB5R,KAAKqQ,aAE/F1S,EAAGkU,WAAWZ,GAGdjR,KAAKiT,SAAWtV,EAAGoU,mBAAmBd,EAAS,YAC/CjR,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAKkS,WAAavU,EAAGoU,mBAAmBd,EAAS,cAGjDjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKqS,cAAgB1U,EAAGyU,kBAAkBnB,EAAS,iBACnDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UACpDjR,KAAKuS,cAAgB5U,EAAGyU,kBAAkBnB,EAAS,kBASvB,IAAzBjR,KAAKsS,iBAEJtS,KAAKsS,eAAiB,GAG1BtS,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKqS,cAAerS,KAAKsS,eAAgBtS,KAAKuS,eAKvF,IAAK,IAAIK,KAAO5S,KAAK6S,SAGjB7S,KAAK6S,SAASD,GAAKE,gBAAkBnV,EAAGoU,mBAAmBd,EAAS2B,GAGxE5S,KAAK+S,eAEL/S,KAAKiR,QAAUA,GAOnBzS,EAAKuS,WAAWzO,UAAUgP,KAAO,SAAS4B,GAElC1U,EAAK4H,4BAA8B8M,EACnClT,KAAKuR,qBAELvR,KAAKgT,qBAYbxU,EAAKuS,WAAWzO,UAAUyQ,aAAe,WAErC/S,KAAKkR,aAAe,EACpB,IACIiC,EADAxV,EAAKqC,KAAKrC,GAGd,IAAK,IAAIiV,KAAO5S,KAAK6S,SACrB,CAGI,IAAIO,GAFJD,EAAUnT,KAAK6S,SAASD,IAELQ,KAEN,cAATA,GAEAD,EAAQE,OAAQ,EAEM,OAAlBF,EAAQnM,OAERhH,KAAKsT,cAAcH,IAGT,SAATC,GAA4B,SAATA,GAA4B,SAATA,GAG3CD,EAAQI,UAAW,EACnBJ,EAAQK,cAAgB,EAEX,SAATJ,EAEAD,EAAQM,OAAS9V,EAAG+V,iBAEN,SAATN,EAELD,EAAQM,OAAS9V,EAAGgW,iBAEN,SAATP,IAELD,EAAQM,OAAS9V,EAAGiW,oBAMxBT,EAAQM,OAAS9V,EAAG,UAAYyV,GAI5BD,EAAQK,cAFC,OAATJ,GAA0B,OAATA,EAEO,EAEV,OAATA,GAA0B,OAATA,EAEE,EAEV,OAATA,GAA0B,OAATA,EAEE,EAIA,KAYxC5U,EAAKuS,WAAWzO,UAAUgR,cAAgB,SAASH,GAE/C,GAAKA,EAAQnM,OAAUmM,EAAQnM,MAAMb,aAAgBgN,EAAQnM,MAAMb,YAAY2G,UAA/E,CAKA,IAAInP,EAAKqC,KAAKrC,GAOd,GAJAA,EAAG6B,cAAc7B,EAAG8B,SAAWO,KAAKkR,cACpCvT,EAAGM,YAAYN,EAAGO,WAAYiV,EAAQnM,MAAMb,YAAY0N,YAAYlW,EAAGmW,KAGnEX,EAAQY,YACZ,CACI,IAAIC,EAAOb,EAAQY,YAYfE,EAAaD,EAAc,UAAIA,EAAKC,UAAYtW,EAAGe,OACnDwV,EAAaF,EAAc,UAAIA,EAAKE,UAAYvW,EAAGe,OACnDyV,EAASH,EAAU,MAAIA,EAAKG,MAAQxW,EAAGU,cACvC+V,EAASJ,EAAU,MAAIA,EAAKI,MAAQzW,EAAGU,cACvCgW,EAAUL,EAAc,UAAIrW,EAAG2W,UAAY3W,EAAGmB,KAUlD,GARIkV,EAAKO,SAELJ,EAAQxW,EAAG6W,OACXJ,EAAQzW,EAAG6W,QAGf7W,EAAG8W,YAAY9W,EAAG+W,sBAAuBV,EAAKW,OAE1CX,EAAKpW,MACT,CACI,IAAIA,EAASoW,EAAU,MAAIA,EAAKpW,MAAQ,IACpCC,EAAUmW,EAAW,OAAIA,EAAKnW,OAAS,EACvC+W,EAAUZ,EAAW,OAAIA,EAAKY,OAAS,EAG3CjX,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGmW,EAAQzW,EAAOC,EAAQ+W,EAAQP,EAAQ1W,EAAGoB,cAAe,WAKzFpB,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGmW,EAAQ1W,EAAGmB,KAAMnB,EAAGoB,cAAeoU,EAAQnM,MAAMb,YAAY6I,QAGjGrR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoB0V,GACvDtW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBsV,GACvDvW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgB+V,GACnDxW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgB8V,GAGvDzW,EAAGkX,UAAU1B,EAAQL,gBAAiB9S,KAAKkR,cAE3CiC,EAAQE,OAAQ,EAEhBrT,KAAKkR,iBAST1S,EAAKuS,WAAWzO,UAAUwS,aAAe,WAErC9U,KAAKkR,aAAe,EACpB,IAAIiC,EACAxV,EAAKqC,KAAKrC,GAGd,IAAK,IAAIiV,KAAO5S,KAAK6S,SAGa,KAD9BM,EAAUnT,KAAK6S,SAASD,IACZY,eAEiB,IAArBL,EAAQI,SAERJ,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQ4B,UAAW5B,EAAQnM,OAI5EmM,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQnM,OAG9B,IAA1BmM,EAAQK,cAEbL,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQnM,MAAMlD,EAAGqP,EAAQnM,MAAMjD,GAEjD,IAA1BoP,EAAQK,cAEbL,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQnM,MAAMlD,EAAGqP,EAAQnM,MAAMjD,EAAGoP,EAAQnM,MAAMgO,GAElE,IAA1B7B,EAAQK,cAEbL,EAAQM,OAAOlP,KAAK5G,EAAIwV,EAAQL,gBAAiBK,EAAQnM,MAAMlD,EAAGqP,EAAQnM,MAAMjD,EAAGoP,EAAQnM,MAAMgO,EAAG7B,EAAQnM,MAAMiO,GAE5F,cAAjB9B,EAAQC,OAETD,EAAQE,OAER1V,EAAG6B,cAAc7B,EAAG,UAAYqC,KAAKkR,eAElCiC,EAAQnM,MAAMb,YAAY+O,OAAOvX,EAAGmW,IAEnCtV,EAAK2W,UAAUxX,EAAGmW,IAAIsB,cAAcjC,EAAQnM,MAAMb,aAKlDxI,EAAGM,YAAYN,EAAGO,WAAYiV,EAAQnM,MAAMb,YAAY0N,YAAYlW,EAAGmW,KAI3EnW,EAAGkX,UAAU1B,EAAQL,gBAAiB9S,KAAKkR,cAC3ClR,KAAKkR,gBAILlR,KAAKsT,cAAcH,KAYnC3U,EAAKuS,WAAWzO,UAAUE,QAAU,WAEhCxC,KAAKrC,GAAG0X,cAAerV,KAAKiR,SAC5BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAKqR,WAAa,MAStB7S,EAAKuS,WAAWa,kBACZ,8BACA,kCACA,kCACA,gCACA,yBACA,iCAEA,iCACA,6BAEA,8BACA,uBACA,+BAEA,uCAEA,oBACA,uDACA,qGACA,oCACA,qDACA,oCACA,KAYJpT,EAAK8W,eAAiB,SAAU3X,GAqB5B,GAfAqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAEXzS,EAAK4H,0BAA2B,CAChC,IAAIzI,EAAKqC,KAAKrC,GACdqC,KAAKwR,aAAe7T,EAAG8T,aAAa9T,EAAG+T,yBAEvC,IAAK,IADDC,EAAa,8GACRnJ,EAAQ,EAAGA,EAAQxI,KAAKwR,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,wCAQxBxI,KAAKqQ,aACD,qCACA,wBACA,+FACA,8BACA,wBACA,+BACA,mCAAqCrQ,KAAKwR,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B3R,KAAKwR,aAAe,qCAChD,2DACA,UAGJxR,KAAKqQ,aACD,qCACA,wBACA,8BACA,wBACA,+BACA,8BACA,oBACA,iEACA,KASRrQ,KAAKoQ,WACD,mCACA,kCACA,iCACA,yBACA,6BACA,gCACA,0BACA,iCAEA,iCACA,6BACA,wBAEA,8BACA,wBACA,+BAEA,uCAEA,oBACA,aACA,yCACA,8DACA,8DACA,2DACA,uEACA,oCACA,oCAEA,sBACA,KAQJpQ,KAAKkR,aAAe,EAEpBlR,KAAKsR,QAGT9S,EAAK8W,eAAehT,UAAUC,YAAc/D,EAAK8W,eAOjD9W,EAAK8W,eAAehT,UAAUgP,KAAO,WAEjC,IAAI3T,EAAKqC,KAAKrC,GACVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,UAAWpQ,KAAKqQ,aAS3D,GAPA1S,EAAGkU,WAAWZ,GAGdjR,KAAKiT,SAAWzU,EAAK4H,0BACAzI,EAAGoU,mBAAmBd,EAAS,oBAC/BtT,EAAGoU,mBAAmBd,EAAS,YAEhDzS,EAAK4H,0BAA2B,CAChC,IAAIoM,KAEAC,EAAc9U,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9B9U,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAG+U,IAAK,EAAG,EAAG,EAAG/U,EAAG+U,IAAK/U,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAKwR,eAAgB9O,EACrC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9BD,EAAQ9K,KAAKhF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGgV,WAAW3S,KAAKiT,SAAUT,GAGjCxS,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAKkS,WAAavU,EAAGoU,mBAAmBd,EAAS,cACjDjR,KAAKuV,QAAU5X,EAAGoU,mBAAmBd,EAAS,WAG9CjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKwV,eAAiB7X,EAAGyU,kBAAkBnB,EAAS,kBAEpDjR,KAAKyV,OAAS9X,EAAGyU,kBAAkBnB,EAAS,UAC5CjR,KAAK0V,UAAY/X,EAAGyU,kBAAkBnB,EAAS,aAE/CjR,KAAKqS,cAAgB1U,EAAGyU,kBAAkBnB,EAAS,iBACnDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UAEpDjR,KAAKuS,cAAgB5U,EAAGyU,kBAAkBnB,EAAS,kBAQtB,IAAzBjR,KAAKsS,iBACLtS,KAAKsS,eAAiB,GAG1BtS,KAAKqR,YACDrR,KAAKmS,gBACLnS,KAAKwV,eACLxV,KAAKyV,OACLzV,KAAK0V,UACL1V,KAAKqS,cACLrS,KAAKsS,eACLtS,KAAKuS,eAKTvS,KAAKiR,QAAUA,GAQnBzS,EAAK8W,eAAehT,UAAUE,QAAU,WACpCxC,KAAKrC,GAAG0X,cAAcrV,KAAKiR,SAC3BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAKqR,WAAa,MAYtB7S,EAAKmX,YAAc,SAAShY,GAsBxB,GAfAqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAEXzS,EAAK4H,0BAA2B,CAChC,IAAIzI,EAAKqC,KAAKrC,GACdqC,KAAKwR,aAAe7T,EAAG8T,aAAa9T,EAAG+T,yBAEvC,IAAK,IADDC,EAAa,qGACRnJ,EAAQ,EAAGA,EAAQxI,KAAKwR,eAAgBhJ,EAE7CmJ,GAAc,0BACFnJ,EAAQ,gDACRA,EAAQ,gCASxBxI,KAAKqQ,aACD,iCACA,2BACA,+FACA,8BACA,+BAEA,uBACA,mCAAqCrQ,KAAKwR,aAAe,KAGzD,8CAGA,6CACA,oBACAG,EACA,0BAA4B3R,KAAKwR,aAAe,qCAChD,2DACA,UAQJxR,KAAKqQ,aACD,iCACA,2BACA,8BACA,+BAEA,uBACA,8BACA,oBACA,wDACA,KASRrQ,KAAKoQ,WACD,+BACA,kCACA,gCACA,iCACA,kCACA,iCACA,6BAGA,8BACA,+BAGA,oBACA,+DACA,4BACA,qGACA,oCACA,oCAEA,KAGJpQ,KAAKsR,QAGT9S,EAAKmX,YAAYrT,UAAUC,YAAc/D,EAAKmX,YAO9CnX,EAAKmX,YAAYrT,UAAUgP,KAAO,WAE9B,IAAI3T,EAAKqC,KAAKrC,GACVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,UAAWpQ,KAAKqQ,aAS3D,GARA1S,EAAGkU,WAAWZ,GAGdjR,KAAKiT,SAAWzU,EAAK4H,0BACAzI,EAAGoU,mBAAmBd,EAAS,oBAC/BtT,EAAGoU,mBAAmBd,EAAS,YAGhDzS,EAAK4H,0BAA2B,CAChC,IAAIoM,KAEAC,EAAc9U,EAAGK,gBACrBL,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9B9U,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAG+U,IAAK,EAAG,EAAG,EAAG/U,EAAG+U,IAAK/U,EAAGoB,cAAe,MAC3E,IAAK,IAAI2D,EAAI,EAAGA,EAAI1C,KAAKwR,eAAgB9O,EACrC/E,EAAG6B,cAAc7B,EAAG8B,SAAWiD,GAC/B/E,EAAGM,YAAYN,EAAGO,WAAYuU,GAC9BD,EAAQ9K,KAAKhF,GAEjB/E,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGgV,WAAW3S,KAAKiT,SAAUT,GAGjCxS,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UACpDjR,KAAKuS,cAAgB5U,EAAGyU,kBAAkBnB,EAAS,iBAInDjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKqS,cAAgB1U,EAAGyU,kBAAkBnB,EAAS,iBAEnDjR,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKqS,cAAerS,KAAKuS,eAElEvS,KAAK4V,kBAAoBjY,EAAGoU,mBAAmBd,EAAS,qBACxDjR,KAAKiB,MAAQtD,EAAGoU,mBAAmBd,EAAS,SAE5CjR,KAAKiR,QAAUA,GAQnBzS,EAAKmX,YAAYrT,UAAUE,QAAU,WAEjCxC,KAAKrC,GAAG0X,cAAerV,KAAKiR,SAC5BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAK6V,UAAY,MAYrBrX,EAAKsX,gBAAkB,SAASnY,GAO5BqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAOfjR,KAAKqQ,aACD,2BACA,uBAEA,oBACA,4BACA,KAQJrQ,KAAKoQ,WACD,kCACA,yBACA,kCACA,iCACA,6BACA,uBACA,uBACA,qBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,kDACA,KAGJpQ,KAAKsR,QAGT9S,EAAKsX,gBAAgBxT,UAAUC,YAAc/D,EAAKsX,gBAOlDtX,EAAKsX,gBAAgBxT,UAAUgP,KAAO,WAElC,IAAI3T,EAAKqC,KAAKrC,GAEVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,UAAWpQ,KAAKqQ,aAC3D1S,EAAGkU,WAAWZ,GAGdjR,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAK+V,UAAYpY,EAAGoU,mBAAmBd,EAAS,QAChDjR,KAAK2U,MAAQhX,EAAGoU,mBAAmBd,EAAS,SAG5CjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBACrDjR,KAAKsS,eAAiB3U,EAAGyU,kBAAkBnB,EAAS,UAEpDjR,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKsS,gBAE9CtS,KAAK4V,kBAAoBjY,EAAGoU,mBAAmBd,EAAS,qBACxDjR,KAAKiB,MAAQtD,EAAGoU,mBAAmBd,EAAS,SAE5CjR,KAAKiR,QAAUA,GAQnBzS,EAAKsX,gBAAgBxT,UAAUE,QAAU,WAErCxC,KAAKrC,GAAG0X,cAAerV,KAAKiR,SAC5BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAKqR,WAAa,MAYtB7S,EAAKwX,uBAAyB,SAASrY,GAOnCqC,KAAKgR,KAAOxP,OAAOwP,OAMnBhR,KAAKrC,GAAKA,EAOVqC,KAAKiR,QAAU,KAOfjR,KAAKqQ,aAED,2BAEA,uBAEA,oBACA,4BACA,KAQJrQ,KAAKoQ,WACD,kCAEA,kCACA,iCACA,6BAEA,qBACA,uBACA,sBACA,uBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,iDACA,KAGJpQ,KAAKsR,QAGT9S,EAAKwX,uBAAuB1T,UAAUC,YAAc/D,EAAKwX,uBAOzDxX,EAAKwX,uBAAuB1T,UAAUgP,KAAO,WAEzC,IAAI3T,EAAKqC,KAAKrC,GAEVsT,EAAUzS,EAAK2R,eAAexS,EAAIqC,KAAKoQ,UAAWpQ,KAAKqQ,aAC3D1S,EAAGkU,WAAWZ,GAGdjR,KAAKgS,iBAAmBrU,EAAGoU,mBAAmBd,EAAS,oBACvDjR,KAAKiS,aAAetU,EAAGoU,mBAAmBd,EAAS,gBACnDjR,KAAK+V,UAAYpY,EAAGoU,mBAAmBd,EAAS,QAChDjR,KAAKiW,MAAQtY,EAAGoU,mBAAmBd,EAAS,SAC5CjR,KAAK2U,MAAQhX,EAAGoU,mBAAmBd,EAAS,SAG5CjR,KAAKmS,gBAAkBxU,EAAGyU,kBAAkBnB,EAAS,mBAGrDjR,KAAKqR,YAAcrR,KAAKmS,gBAAiBnS,KAAKsS,gBAE9CtS,KAAK4V,kBAAoBjY,EAAGoU,mBAAmBd,EAAS,qBACxDjR,KAAKiB,MAAQtD,EAAGoU,mBAAmBd,EAAS,SAE5CjR,KAAKiR,QAAUA,GAQnBzS,EAAKwX,uBAAuB1T,UAAUE,QAAU,WAE5CxC,KAAKrC,GAAG0X,cAAerV,KAAKiR,SAC5BjR,KAAK6S,SAAW,KAChB7S,KAAKrC,GAAK,KAEVqC,KAAK6V,UAAY,MAOrBrX,EAAK0X,cACL1X,EAAK2W,aACL3W,EAAK4H,2BAA4B,EAYjC5H,EAAK2X,cAAgB,SAASrT,EAAMsT,GAKhCpW,KAAK8C,KAAOA,EAEPtE,EAAK6X,kBAEN7X,EAAK6X,gBAAkBrW,MAG3BA,KAAKsW,cAMLtW,KAAKoT,KAAO5R,OAAO+U,MASnBvW,KAAK2E,WAAa7B,EAAK6B,WAQvB3E,KAAKwW,YAAc1T,EAAK0T,YAQxBxW,KAAKyW,YAAa,EAQlBzW,KAAK0W,sBAAwB5T,EAAK4T,sBAYlC1W,KAAK2W,kBAAoB7T,EAAK6T,kBAQ9B3W,KAAKpC,MAAQkF,EAAKlF,MAQlBoC,KAAKnC,OAASiF,EAAKjF,OAQnBmC,KAAK4W,KAAO9T,EAAK+T,OAOjB7W,KAAK8W,iBACD7V,MAAOjB,KAAKwW,YACZO,UAAWjU,EAAKiU,UAChBC,6BAA8BZ,EAAOY,6BACrCC,mBAAoBjX,KAAKwW,aAAoC,kBAArBxW,KAAKwW,YAC7CU,SAAS,EACTR,sBAAuB1W,KAAK0W,uBAOhC1W,KAAKmX,WAAa,IAAI3Y,EAAKqC,MAM3Bb,KAAKoX,OAAS,IAAI5Y,EAAKqC,MASvBb,KAAKqX,cAAgB,IAAI7Y,EAAK8Y,mBAO9BtX,KAAKyL,YAAc,IAAIjN,EAAK+Y,iBAAiBzU,GAO7C9C,KAAK8L,YAAc,IAAItN,EAAKgZ,iBAO5BxX,KAAK2L,cAAgB,IAAInN,EAAKiZ,mBAO9BzX,KAAK0X,eAAiB,IAAIlZ,EAAKmZ,oBAO/B3X,KAAK4X,iBAAmB,IAAIpZ,EAAKqZ,sBAMjC7X,KAAK2F,iBAML3F,KAAK8X,0BAGL9X,KAAK2F,cAAc7C,KAAO9C,KAAK8C,KAC/B9C,KAAK2F,cAAchI,GAAKqC,KAAKrC,GAC7BqC,KAAK2F,cAAcoS,UAAY,EAC/B/X,KAAK2F,cAAc0R,cAAgBrX,KAAKqX,cACxCrX,KAAK2F,cAAcmG,YAAc9L,KAAK8L,YACtC9L,KAAK2F,cAAcgG,cAAgB3L,KAAK2L,cACxC3L,KAAK2F,cAAciS,iBAAmB5X,KAAK4X,iBAC3C5X,KAAK2F,cAAc8F,YAAczL,KAAKyL,YACtCzL,KAAK2F,cAAc+R,eAAiB1X,KAAK0X,eACzC1X,KAAK2F,cAAcf,SAAW5E,KAC9BA,KAAK2F,cAAchB,WAAa3E,KAAK2E,WACrC3E,KAAK2F,cAAc4I,YAAc6H,EAAO7H,cAAe,EACvDvO,KAAK2F,cAAcqS,yBAA2B,KAG9ChY,KAAKiY,cAGLjY,KAAKkY,iBAKT1Z,EAAK2X,cAAc7T,UAAUC,YAAc/D,EAAK2X,cAKhD3X,EAAK2X,cAAc7T,UAAU2V,YAAc,WAEvC,IAAIta,EAAKqC,KAAK4W,KAAKuB,WAAW,QAASnY,KAAK8W,kBAAoB9W,KAAK4W,KAAKuB,WAAW,qBAAsBnY,KAAK8W,iBAIhH,GAFA9W,KAAKrC,GAAKA,GAELA,EAED,MAAM,IAAIgL,MAAM,sEAGpB3I,KAAKoY,YAAcza,EAAG8T,aAAa9T,EAAG+T,yBACtC1R,KAAKqY,eAAiBrY,KAAKrC,GAAG8T,aAAa9T,EAAG2a,kBAE9CtY,KAAKuY,YAAc5a,EAAGmW,GAAKtV,EAAK2X,cAAcoC,cAE9C/Z,EAAK0X,WAAWlW,KAAKuY,aAAe5a,EAEpCa,EAAK2W,UAAUnV,KAAKuY,aAAevY,KAGnCrC,EAAG6a,QAAQ7a,EAAG8a,YACd9a,EAAG6a,QAAQ7a,EAAG+a,WACd/a,EAAGgb,OAAOhb,EAAGib,OAGb5Y,KAAKqX,cAAcwB,WAAWlb,GAC9BqC,KAAKyL,YAAYoN,WAAWlb,GAC5BqC,KAAK8L,YAAY+M,WAAWlb,GAC5BqC,KAAK2L,cAAckN,WAAWlb,GAC9BqC,KAAK4X,iBAAiBiB,WAAWlb,GACjCqC,KAAK0X,eAAemB,WAAWlb,GAE/BqC,KAAK2F,cAAchI,GAAKqC,KAAKrC,GAG7BqC,KAAKkG,OAAOlG,KAAKpC,MAAOoC,KAAKnC,QAG7BmC,KAAKsW,WAAWwC,eAEhB,IAAIC,EAAOpb,EAAGqb,aAAa,kCAAoCrb,EAAGqb,aAAa,wCAC3EC,EAAQtb,EAAGqb,aAAa,mCAAqCrb,EAAGqb,aAAa,yCAC7EE,EAAOvb,EAAGqb,aAAa,kCAAoCrb,EAAGqb,aAAa,wCAE3ED,IAAQ/Y,KAAKsW,WAAWwC,YAAYK,KAAOJ,GAC3CE,IAASjZ,KAAKsW,WAAWwC,YAAYM,MAAQH,GAC7CC,IAAQlZ,KAAKsW,WAAWwC,YAAYO,KAAOH,IA0BnD1a,EAAK2X,cAAc7T,UAAUgX,mBAAqB,SAAUC,GAExD,GAAK/a,EAAK4H,0BAAV,CAuBA,IAAK,IAlBDoT,EAAW,SAAUC,GAOrB,QANEA,EACFA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,EACtBA,GAAWA,GAAW,KACbA,GAET9b,EAAKqC,KAAKrC,GACVya,EAAcza,EAAG8T,aAAa9T,EAAG+T,yBACjC2G,EAAiB1a,EAAG8T,aAAa9T,EAAG2a,kBACpCoB,EAAa1Z,KAAK8C,KAAK6W,MAAMC,OAAOC,MACpCC,EAAY,KAKPpX,EAAI,EAAGA,EAAI1C,KAAK8X,uBAAuBnV,OAAQD,KAEpDoX,EAAY9Z,KAAK8X,uBAAuBpV,MAErBgX,EAMnBA,EAAWI,GAAWC,KAAK1T,aAAe,EAJtC/F,QAAQ0Z,KAAK,iEAAkEF,GAMvF,IAAI9B,EAA2B,EAAmBwB,EAAS/V,KAAKuC,IAAIhG,KAAKpC,MAAOoC,KAAKnC,SACrFmC,KAAK8X,uBAAuBnV,OAAS,EAErC,IAAK,IAAI8E,EAAI,EAAGA,EAAI8R,EAAsB5W,SAAU8E,EAIhD,IAFAqS,EAAYP,EAAsB9R,MAEfiS,EAAnB,CAMA,IAAIK,EAAOL,EAAWI,GAAWC,MACjC/B,GAA4BwB,EAAS/V,KAAKuC,IAAI+T,EAAKnc,MAAOmc,EAAKlc,WAC/B,GAC5Bkc,EAAK1T,aAAe,EACpB/F,QAAQ0Z,KAAK,4GACTF,EAAW9B,IAEf+B,EAAK1T,aAAgB,EAAKoB,GAAK2Q,EAAc,GAEjDpY,KAAK8X,uBAAuBpQ,KAAKoS,QAb7BxZ,QAAQ0Z,KAAK,iEAAkEF,GAkBvF,OAFA9Z,KAAK2F,cAAcqS,yBAA2BA,EAEvChY,KAAK8X,uBA5DRxX,QAAQ0Z,KAAK,mGAsErBxb,EAAK2X,cAAc7T,UAAU4C,OAAS,SAAS+U,GAG3C,IAAIja,KAAKka,YAAT,CAKA,IAAIvc,EAAKqC,KAAKrC,GAGdA,EAAGwc,SAAS,EAAG,EAAGna,KAAKpC,MAAOoC,KAAKnC,QAGnCF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAE/BK,KAAK8C,KAAK6T,oBAEVhZ,EAAGyc,WAAWH,EAAMI,SAASpW,EAAGgW,EAAMI,SAASC,EAAGL,EAAMI,SAASnX,EAAG+W,EAAMI,SAASpX,GAEnFtF,EAAG4c,MAAM5c,EAAG6c,mBAGhBxa,KAAKoX,OAAOtT,EAAI9D,KAAK8C,KAAK2X,OAAOC,OAAO5W,EACxC9D,KAAKoX,OAAOrT,EAAI/D,KAAK8C,KAAK2X,OAAOC,OAAO3W,EAExC/D,KAAK2a,oBAAoBV,EAAOja,KAAKmX,cAWzC3Y,EAAK2X,cAAc7T,UAAUqY,oBAAsB,SAASC,EAAezD,EAAY0D,EAAQxN,GAE3FrN,KAAK2F,cAAciS,iBAAiBkD,aAAatc,EAAKsJ,WAAWE,QAGjEhI,KAAK2F,cAAcoS,UAAY,EAG/B/X,KAAK2F,cAAcgP,MAAQkG,GAAU,EAAI,EAGzC7a,KAAK2F,cAAcwR,WAAaA,EAGhCnX,KAAK2F,cAAcyR,OAASpX,KAAKoX,OAGjCpX,KAAKyL,YAAYsP,MAAM/a,KAAK2F,eAG5B3F,KAAK2L,cAAcoP,MAAM/a,KAAK2F,cAAekV,GAG7CD,EAAc9U,aAAa9F,KAAK2F,cAAe0H,GAG/CrN,KAAKyL,YAAYuP,OAUrBxc,EAAK2X,cAAc7T,UAAU4D,OAAS,SAAStI,EAAOC,GAElDmC,KAAKpC,MAAQA,EAAQoC,KAAK2E,WAC1B3E,KAAKnC,OAASA,EAASmC,KAAK2E,WAE5B3E,KAAK4W,KAAKhZ,MAAQoC,KAAKpC,MACvBoC,KAAK4W,KAAK/Y,OAASmC,KAAKnC,OAEpBmC,KAAKyW,aACLzW,KAAK4W,KAAKqE,MAAMrd,MAAQoC,KAAKpC,MAAQoC,KAAK2E,WAAa,KACvD3E,KAAK4W,KAAKqE,MAAMpd,OAASmC,KAAKnC,OAASmC,KAAK2E,WAAa,MAG7D3E,KAAKrC,GAAGwc,SAAS,EAAG,EAAGna,KAAKpC,MAAOoC,KAAKnC,QAExCmC,KAAKmX,WAAWrT,EAAK9D,KAAKpC,MAAQ,EAAIoC,KAAK2E,WAC3C3E,KAAKmX,WAAWpT,GAAM/D,KAAKnC,OAAS,EAAImC,KAAK2E,YAUjDnG,EAAK2X,cAAc7T,UAAU4Y,wBAA0B,SAAUnd,GAC7D,IAAKA,EAAQ+O,UAET,OAAO,EAEX,IAAInP,EAAKqC,KAAKrC,GACVwd,EAAkBpd,EAAQiR,OA2C9B,OAzCKjR,EAAQ8V,YAAYlW,EAAGmW,MAExB/V,EAAQ8V,YAAYlW,EAAGmW,IAAMnW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQsI,cAEvC1I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQ8V,YAAYlW,EAAGmW,KAErDnW,EAAGyd,qBACCzd,EAAGO,WACH,EACAid,EAAgBE,kBAChBF,EAAgBvd,MAChBud,EAAgBtd,OAChB,EACAsd,EAAgBpH,aAGpBpW,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQud,QAAU9Z,OAAOiC,KAAK8X,aAAaxd,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAG6d,qBAAuB7d,EAAG8d,wBACnI9d,EAAG+d,eAAe/d,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQ4d,WAOThe,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAG6W,QACtD7W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAG6W,UANtD7W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAO1DN,EAAQmX,OAAOvX,EAAGmW,KAAM,GACjB,GAUXtV,EAAK2X,cAAc7T,UAAU8S,cAAgB,SAASrX,GAElD,IAAKA,EAAQ+O,UAET,OAAO,EAEX,GAAI/O,EAAQiR,OAAO4M,qBACf,OAAO5b,KAAKkb,wBAAwBnd,GAGxC,IAAIJ,EAAKqC,KAAKrC,GAwCd,OAtCKI,EAAQ8V,YAAYlW,EAAGmW,MAExB/V,EAAQ8V,YAAYlW,EAAGmW,IAAMnW,EAAGK,iBAEpCL,EAAG6B,cAAc7B,EAAG8B,SAAW1B,EAAQsI,cAEvC1I,EAAGM,YAAYN,EAAGO,WAAYH,EAAQ8V,YAAYlW,EAAGmW,KAErDnW,EAAG8W,YAAY9W,EAAGke,+BAAgC9d,EAAQkZ,oBAE1DtZ,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAMnB,EAAGmB,KAAMnB,EAAGoB,cAAehB,EAAQiR,QAE5ErR,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGY,mBAAoBR,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAEjHZ,EAAQud,QAAU9Z,OAAOiC,KAAK8X,aAAaxd,EAAQH,MAAOG,EAAQF,SAElEF,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAG6d,qBAAuB7d,EAAG8d,wBACnI9d,EAAG+d,eAAe/d,EAAGO,aAIrBP,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGiB,mBAAoBb,EAAQD,YAAcU,EAAKC,WAAWC,OAASf,EAAGe,OAASf,EAAGgB,SAGpHZ,EAAQ4d,WAOThe,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAG6W,QACtD7W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAG6W,UANtD7W,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGS,eAAgBT,EAAGU,eACtDV,EAAGQ,cAAcR,EAAGO,WAAYP,EAAGW,eAAgBX,EAAGU,gBAQ1DN,EAAQmX,OAAOvX,EAAGmW,KAAM,GAGjB,GASXtV,EAAK2X,cAAc7T,UAAUE,QAAU,WAEnChE,EAAK0X,WAAWlW,KAAKuY,aAAe,KAEpCvY,KAAKmX,WAAa,KAClBnX,KAAKoX,OAAS,KAEdpX,KAAKqX,cAAc7U,UACnBxC,KAAKyL,YAAYjJ,UACjBxC,KAAK8L,YAAYtJ,UACjBxC,KAAK2L,cAAcnJ,UAEnBxC,KAAKqX,cAAgB,KACrBrX,KAAKyL,YAAc,KACnBzL,KAAK8L,YAAc,KACnB9L,KAAK2L,cAAgB,KAErB3L,KAAKrC,GAAK,KACVqC,KAAK2F,cAAgB,KAErBnE,OAAOsa,WAAWC,OAAO/b,MAEzBxB,EAAK2W,UAAUnV,KAAKuY,aAAe,KAEnC/Z,EAAK2X,cAAcoC,eAQvB/Z,EAAK2X,cAAc7T,UAAU4V,cAAgB,WAEzC,IAAIva,EAAKqC,KAAKrC,GAEd,IAAKa,EAAKwd,gBACV,CACI,IAAI9Y,KACA+Y,EAAQzd,EAAKsJ,WAEjB5E,EAAE+Y,EAAMjU,SAAkBrK,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMG,MAAkBze,EAAG0e,UAAW1e,EAAG2e,WAC3CpZ,EAAE+Y,EAAMlU,WAAkBpK,EAAG4e,UAAW5e,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMO,SAAkB7e,EAAG0e,UAAW1e,EAAGue,KAC3ChZ,EAAE+Y,EAAMQ,UAAkB9e,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMS,SAAkB/e,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMU,UAAkBhf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMW,cAAkBjf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMY,aAAkBlf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMa,aAAkBnf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMc,aAAkBpf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMe,aAAkBrf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMgB,YAAkBtf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMiB,MAAkBvf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMkB,aAAkBxf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMmB,QAAkBzf,EAAGue,IAAWve,EAAGwe,qBAC3CjZ,EAAE+Y,EAAMoB,aAAkB1f,EAAGue,IAAWve,EAAGwe,qBAE3C3d,EAAKwd,gBAAkB9Y,IAI/B1E,EAAK2X,cAAc7T,UAAUgb,kBAAoB,WAC7C,IAAI3f,EAAKqC,KAAKrC,GACd,OAAOA,EAAG8T,aAAa9T,EAAG+T,0BAG9BlT,EAAK+e,mBAAqB,WACtB/e,EAAK4H,2BAA4B,GAGrC5H,EAAK2X,cAAcoC,YAAc,EACjC/Z,EAAK2X,cAAcqH,gBAWnBhf,EAAKqZ,sBAAwB,WAMzB7X,KAAKwN,iBAAmB,OAG5BhP,EAAKqZ,sBAAsBvV,UAAUC,YAAc/D,EAAKqZ,sBAQxDrZ,EAAKqZ,sBAAsBvV,UAAUuW,WAAa,SAASlb,GAEvDqC,KAAKrC,GAAKA,GASda,EAAKqZ,sBAAsBvV,UAAUwY,aAAe,SAASjT,GAEzD,GAAG7H,KAAKwN,mBAAqB3F,EAAU,OAAO,EAE9C7H,KAAKwN,iBAAmB3F,EAExB,IAAI4V,EAAiBjf,EAAKwd,gBAAgBhc,KAAKwN,kBAO/C,OALIiQ,GAEAzd,KAAKrC,GAAG+f,UAAUD,EAAe,GAAIA,EAAe,KAGjD,GAQXjf,EAAKqZ,sBAAsBvV,UAAUE,QAAU,WAE3CxC,KAAKrC,GAAK,MAYda,EAAKgZ,iBAAmB,aAIxBhZ,EAAKgZ,iBAAiBlV,UAAUC,YAAc/D,EAAKgZ,iBAQnDhZ,EAAKgZ,iBAAiBlV,UAAUuW,WAAa,SAASlb,GAElDqC,KAAKrC,GAAKA,GAUda,EAAKgZ,iBAAiBlV,UAAUyJ,SAAW,SAAS4R,EAAUhY,GAE1D,IAAIhI,EAAKgI,EAAchI,GAEnBggB,EAASvM,OAET5S,EAAKof,cAAcC,eAAeF,EAAUhgB,QAGjB2I,IAA3BqX,EAASG,OAAOngB,EAAGmW,UAAqDxN,IAAhCqX,EAASG,OAAOngB,EAAGmW,IAAIE,MAA6D,IAAvC2J,EAASG,OAAOngB,EAAGmW,IAAIE,KAAKrR,QAKrHgD,EAAc+R,eAAeqG,YAAYJ,EAAUA,EAASG,OAAOngB,EAAGmW,IAAIE,KAAK,GAAIrO,IAUvFnH,EAAKgZ,iBAAiBlV,UAAU2J,QAAU,SAAS0R,EAAUhY,GAEzD,IAAIhI,EAAKqC,KAAKrC,QAEiB2I,IAA3BqX,EAASG,OAAOngB,EAAGmW,UAAqDxN,IAAhCqX,EAASG,OAAOngB,EAAGmW,IAAIE,MAA6D,IAAvC2J,EAASG,OAAOngB,EAAGmW,IAAIE,KAAKrR,QAKrHgD,EAAc+R,eAAesG,WAAWL,EAAUA,EAASG,OAAOngB,EAAGmW,IAAIE,KAAK,GAAIrO,IAStFnH,EAAKgZ,iBAAiBlV,UAAUE,QAAU,WAEtCxC,KAAKrC,GAAK,MAYda,EAAKmZ,oBAAsB,WAEvB3X,KAAKie,gBACLje,KAAKke,SAAU,EACfle,KAAKme,MAAQ,GASjB3f,EAAKmZ,oBAAoBrV,UAAUuW,WAAa,SAASlb,GAErDqC,KAAKrC,GAAKA,GAWda,EAAKmZ,oBAAoBrV,UAAUyb,YAAc,SAASK,EAAUC,EAAW1Y,GAE3E,IAAIhI,EAAKqC,KAAKrC,GACdqC,KAAKse,aAAaF,EAAUC,EAAW1Y,GAEP,IAA7B3F,KAAKie,aAAatb,SAEjBhF,EAAGgb,OAAOhb,EAAG4gB,cACb5gB,EAAG4c,MAAM5c,EAAG6gB,oBACZxe,KAAKke,SAAU,EACfle,KAAKme,MAAQ,GAGjBne,KAAKie,aAAavW,KAAK2W,GAEvB,IAAII,EAAQze,KAAKme,MAEjBxgB,EAAG+gB,WAAU,GAAO,GAAO,GAAO,GAElC/gB,EAAGghB,YAAYhhB,EAAGihB,OAAO,EAAE,KAC3BjhB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAGohB,QAIV,IAAnBV,EAAUW,MAETrhB,EAAGshB,aAAathB,EAAGuhB,aAAeb,EAAU7L,QAAQ7P,OAAS,EAAGhF,EAAGwhB,eAAgB,GAEhFnf,KAAKke,SAEJvgB,EAAGghB,YAAYhhB,EAAGyhB,MAAO,IAAOX,EAAO,KACvC9gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAG0hB,QAIhC1hB,EAAGghB,YAAYhhB,EAAGyhB,MAAMX,EAAO,KAC/B9gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAG2hB,OAIpC3hB,EAAGshB,aAAathB,EAAGuhB,aAAc,EAAGvhB,EAAGwhB,eAAmD,GAAjCd,EAAU7L,QAAQ7P,OAAS,IAEjF3C,KAAKke,QAEJvgB,EAAGghB,YAAYhhB,EAAGyhB,MAAM,KAAMX,EAAM,GAAI,KAIxC9gB,EAAGghB,YAAYhhB,EAAGyhB,MAAMX,EAAM,EAAG,KAGrCze,KAAKke,SAAWle,KAAKke,UAIjBle,KAAKke,SAOLvgB,EAAGghB,YAAYhhB,EAAGyhB,MAAMX,EAAO,KAC/B9gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAG2hB,QANhC3hB,EAAGghB,YAAYhhB,EAAGyhB,MAAO,IAAOX,EAAO,KACvC9gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAG0hB,OAQpC1hB,EAAGshB,aAAathB,EAAG4hB,eAAiBlB,EAAU7L,QAAQ7P,OAAQhF,EAAGwhB,eAAgB,GAE7Enf,KAAKke,QAMLvgB,EAAGghB,YAAYhhB,EAAGyhB,MAAMX,EAAM,EAAG,KAJjC9gB,EAAGghB,YAAYhhB,EAAGyhB,MAAM,KAAMX,EAAM,GAAI,MAQhD9gB,EAAG+gB,WAAU,GAAM,GAAM,GAAM,GAC/B/gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAGmhB,MAEhC9e,KAAKme,SAWT3f,EAAKmZ,oBAAoBrV,UAAUgc,aAAe,SAASF,EAAUC,EAAW1Y,GAG5E3F,KAAKwf,iBAAmBpB,EAExB,IAKIxR,EALAjP,EAAKqC,KAAKrC,GAGVwZ,EAAaxR,EAAcwR,WAC3BC,EAASzR,EAAcyR,OAGL,IAAnBiH,EAAUW,MAETpS,EAASjH,EAAc0R,cAAcoI,uBAErC9Z,EAAc0R,cAAcqI,UAAW9S,GAEvCjP,EAAGgiB,UAAU/S,EAAO+H,MAAOhP,EAAcgP,OAEzChX,EAAGgW,iBAAiB/G,EAAOgJ,mBAAmB,EAAOwI,EAAS7c,eAAeqe,SAAQ,IAErFjiB,EAAGkiB,UAAUjT,EAAOoF,iBAAkBmF,EAAWrT,GAAIqT,EAAWpT,GAChEpG,EAAGkiB,UAAUjT,EAAOqF,cAAemF,EAAOtT,GAAIsT,EAAOrT,GAErDpG,EAAGmiB,WAAWlT,EAAOmJ,UAAWvU,OAAOue,MAAMC,cAAc5B,EAAS3R,OACpE9O,EAAGmiB,WAAWlT,EAAOqJ,MAAOoI,EAAUpI,OAEtCtY,EAAGgiB,UAAU/S,EAAO3L,MAAOmd,EAAS9c,WAAa+c,EAAUpd,OAE3DtD,EAAGsiB,WAAWtiB,EAAGuiB,aAAc7B,EAAUxD,QAEzCld,EAAGwiB,oBAAoBvT,EAAOuF,gBAAiB,EAAGxU,EAAGyiB,OAAO,EAAO,EAAO,GAK1EziB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBhC,EAAUiC,eAKjD1T,EAASjH,EAAc0R,cAAckJ,gBACrC5a,EAAc0R,cAAcqI,UAAW9S,GAEvCjP,EAAGgW,iBAAiB/G,EAAOgJ,mBAAmB,EAAOwI,EAAS7c,eAAeqe,SAAQ,IAErFjiB,EAAGgiB,UAAU/S,EAAO+H,MAAOhP,EAAcgP,OACzChX,EAAGkiB,UAAUjT,EAAOoF,iBAAkBmF,EAAWrT,GAAIqT,EAAWpT,GAChEpG,EAAGkiB,UAAUjT,EAAOqF,cAAemF,EAAOtT,GAAIsT,EAAOrT,GAErDpG,EAAGmiB,WAAWlT,EAAOmJ,UAAWvU,OAAOue,MAAMC,cAAc5B,EAAS3R,OAEpE9O,EAAGgiB,UAAU/S,EAAO3L,MAAOmd,EAAS9c,YAEpC3D,EAAGsiB,WAAWtiB,EAAGuiB,aAAc7B,EAAUxD,QAEzCld,EAAGwiB,oBAAoBvT,EAAOuF,gBAAiB,EAAGxU,EAAGyiB,OAAO,EAAO,GAAO,GAC1EziB,EAAGwiB,oBAAoBvT,EAAO0F,eAAgB,EAAG3U,EAAGyiB,OAAO,EAAM,GAAO,GAGxEziB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBhC,EAAUiC,eAUzD9hB,EAAKmZ,oBAAoBrV,UAAU0b,WAAa,SAASI,EAAUC,EAAW1Y,GAE7E,IAAIhI,EAAKqC,KAAKrC,GAKX,GAJAqC,KAAKie,aAAauC,MAElBxgB,KAAKme,QAE2B,IAA7Bne,KAAKie,aAAatb,OAGjBhF,EAAG6a,QAAQ7a,EAAG4gB,kBAIlB,CAEI,IAAIE,EAAQze,KAAKme,MAEjBne,KAAKse,aAAaF,EAAUC,EAAW1Y,GAEvChI,EAAG+gB,WAAU,GAAO,GAAO,GAAO,GAEZ,IAAnBL,EAAUW,MAEThf,KAAKke,SAAWle,KAAKke,QAElBle,KAAKke,SAEJvgB,EAAGghB,YAAYhhB,EAAGyhB,MAAO,KAAQX,EAAM,GAAI,KAC3C9gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAG2hB,QAIhC3hB,EAAGghB,YAAYhhB,EAAGyhB,MAAMX,EAAM,EAAG,KACjC9gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAG0hB,OAIpC1hB,EAAGshB,aAAathB,EAAGuhB,aAAc,EAAGvhB,EAAGwhB,eAAmD,GAAjCd,EAAU7L,QAAQ7P,OAAS,IAEpFhF,EAAGghB,YAAYhhB,EAAGihB,OAAO,EAAE,KAC3BjhB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAGohB,QAGhCphB,EAAGshB,aAAathB,EAAGuhB,aAAeb,EAAU7L,QAAQ7P,OAAS,EAAGhF,EAAGwhB,eAAgB,GAE/Enf,KAAKke,QAMLvgB,EAAGghB,YAAYhhB,EAAGyhB,MAAMX,EAAO,KAJ/B9gB,EAAGghB,YAAYhhB,EAAGyhB,MAAM,IAAK,EAAS,OAWtCpf,KAAKke,SAOLvgB,EAAGghB,YAAYhhB,EAAGyhB,MAAMX,EAAM,EAAG,KACjC9gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAG0hB,QANhC1hB,EAAGghB,YAAYhhB,EAAGyhB,MAAO,KAAQX,EAAM,GAAI,KAC3C9gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAG2hB,OAQpC3hB,EAAGshB,aAAathB,EAAG4hB,eAAiBlB,EAAU7L,QAAQ7P,OAAQhF,EAAGwhB,eAAgB,GAE7Enf,KAAKke,QAMLvgB,EAAGghB,YAAYhhB,EAAGyhB,MAAMX,EAAO,KAJ/B9gB,EAAGghB,YAAYhhB,EAAGyhB,MAAM,IAAK,EAAS,MAQ9CzhB,EAAG+gB,WAAU,GAAM,GAAM,GAAM,GAC/B/gB,EAAGkhB,UAAUlhB,EAAGmhB,KAAKnhB,EAAGmhB,KAAKnhB,EAAGmhB,QAWxCtgB,EAAKmZ,oBAAoBrV,UAAUE,QAAU,WAEzCxC,KAAKie,aAAe,KACpBje,KAAKrC,GAAK,MAYda,EAAK8Y,mBAAqB,WAMtBtX,KAAKygB,UAAY,GAMjBzgB,KAAK0gB,eAML1gB,KAAK2gB,mBAEL,IAAK,IAAIje,EAAI,EAAGA,EAAI1C,KAAKygB,UAAW/d,IAEhC1C,KAAK0gB,YAAYhe,IAAK,EAO1B1C,KAAK4gB,UAITpiB,EAAK8Y,mBAAmBhV,UAAUC,YAAc/D,EAAK8Y,mBAQrD9Y,EAAK8Y,mBAAmBhV,UAAUuW,WAAa,SAASlb,GAEpDqC,KAAKrC,GAAKA,EAGVqC,KAAKugB,gBAAkB,IAAI/hB,EAAKsX,gBAAgBnY,GAGhDqC,KAAKyf,uBAAyB,IAAIjhB,EAAKwX,uBAAuBrY,GAG9DqC,KAAK6gB,cAAgB,IAAIriB,EAAKuS,WAAWpT,GAGzCqC,KAAK8gB,WAAa,IAAItiB,EAAK8W,eAAe3X,GAG1CqC,KAAK+gB,YAAc,IAAIviB,EAAKmX,YAAYhY,GAGxCqC,KAAKghB,eAAiBxiB,EAAKyiB,eAAiB,IAAIziB,EAAKyiB,eAAetjB,GAAM,KAE1EqC,KAAK0f,UAAU1f,KAAK6gB,gBASxBriB,EAAK8Y,mBAAmBhV,UAAU4e,WAAa,SAASC,GAGpD,IAAIze,EAEJ,IAAKA,EAAI,EAAGA,EAAI1C,KAAK2gB,gBAAgBhe,OAAQD,IAEzC1C,KAAK2gB,gBAAgBje,IAAK,EAI9B,IAAKA,EAAI,EAAGA,EAAIye,EAAQxe,OAAQD,IAChC,CACI,IAAI0e,EAAWD,EAAQze,GACvB1C,KAAK2gB,gBAAgBS,IAAY,EAGrC,IAAIzjB,EAAKqC,KAAKrC,GAEd,IAAK+E,EAAI,EAAGA,EAAI1C,KAAK0gB,YAAY/d,OAAQD,IAElC1C,KAAK0gB,YAAYhe,KAAO1C,KAAK2gB,gBAAgBje,KAE5C1C,KAAK0gB,YAAYhe,GAAK1C,KAAK2gB,gBAAgBje,GAExC1C,KAAK2gB,gBAAgBje,GAEpB/E,EAAG0jB,wBAAwB3e,GAI3B/E,EAAG2jB,yBAAyB5e,KAY5ClE,EAAK8Y,mBAAmBhV,UAAUod,UAAY,SAAS9S,GAEnD,OAAG5M,KAAKuhB,aAAe3U,EAAOoE,OAE9BhR,KAAKuhB,WAAa3U,EAAOoE,KAEzBhR,KAAKwhB,cAAgB5U,EAErB5M,KAAKrC,GAAGkU,WAAWjF,EAAOqE,SAC1BjR,KAAKkhB,WAAWtU,EAAOyE,aAEhB,IAQX7S,EAAK8Y,mBAAmBhV,UAAUE,QAAU,WAExCxC,KAAK0gB,YAAc,KAEnB1gB,KAAK2gB,gBAAkB,KAEvB3gB,KAAKugB,gBAAgB/d,UAErBxC,KAAKyf,uBAAuBjd,UAE5BxC,KAAK6gB,cAAcre,UAEnBxC,KAAK8gB,WAAWte,UAEhBxC,KAAK+gB,YAAYve,UAEbxC,KAAKghB,gBACPhhB,KAAKghB,eAAexe,UAGtBxC,KAAKrC,GAAK,MAoBda,EAAK+Y,iBAAmB,SAAUzU,GAK9B9C,KAAK8C,KAAOA,EAMZ9C,KAAKyhB,SAAW,EAOhBzhB,KAAK0hB,KAAO,IAMZ1hB,KAAK2hB,WAAa,GAClB,IAAIC,EAAW5hB,KAAK2hB,WAAa3hB,KAAK0hB,KAAO,EAGzCG,EAAyB,EAAZ7hB,KAAK0hB,KAQtB1hB,KAAK8hB,SAAW,IAAIC,YAAYH,GAQhC5hB,KAAKgiB,UAAY,IAAIC,aAAajiB,KAAK8hB,UAQvC9hB,KAAKkiB,OAAS,IAAIC,YAAYniB,KAAK8hB,UAQnC9hB,KAAKwS,QAAU,IAAI4P,YAAYP,GAM/B7hB,KAAKqiB,eAAiB,EAEtB,IAAK,IAAI3f,EAAI,EAAG+E,EAAI,EAAG/E,EAAImf,EAAYnf,GAAK,EAAG+E,GAAK,EAChDzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAO9BzH,KAAKsiB,SAAU,EAMftiB,KAAKuiB,iBAAmB,EAMxBviB,KAAKwiB,mBAAqB,KAM1BxiB,KAAKoR,OAAQ,EAMbpR,KAAKyiB,YAMLziB,KAAK8H,cAML9H,KAAK0iB,WAML1iB,KAAK2iB,WAML3iB,KAAK6gB,cAAgB,MAOzBriB,EAAK+Y,iBAAiBjV,UAAUuW,WAAa,SAAUlb,GAGnD,GAFAqC,KAAKwR,aAAe7T,EAAG8T,aAAa9T,EAAG+T,yBACvC1R,KAAKrC,GAAKA,EACNa,EAAK4H,0BAA2B,CAEhC,IAAK,IADDuL,EAAa,6GACRnJ,EAAQ,EAAGA,EAAQxI,KAAKwR,eAAgBhJ,EAC7CmJ,GAAc,0BACVnJ,EAAQ,+CACRA,EAAQ,wCAEhBxI,KAAK6gB,cAAgB,IAAIrf,OAAOohB,OAC5B5iB,KAAK8C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,mCAAqCtG,KAAKwR,aAAe,KACzD,oBACIG,EACA,wEACJ,WAKR3R,KAAK6gB,cAAgB,IAAIrf,OAAOohB,OAC5B5iB,KAAK8C,UACLwD,GAEI,sCACA,wBACA,8BACA,uBACA,+BACA,8BACA,oBACA,iEACA,MAKZtG,KAAK6iB,aAAellB,EAAGmlB,eACvB9iB,KAAKsgB,YAAc3iB,EAAGmlB,eAKtBnlB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAKsgB,aAC5C3iB,EAAGolB,WAAWplB,EAAG0iB,qBAAsBrgB,KAAKwS,QAAS7U,EAAGqlB,aAExDrlB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cACpCllB,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAK8hB,SAAUnkB,EAAGslB,cAEjDjjB,KAAKwN,iBAAmB,MAExB,IAAIZ,EAAS,IAAIpO,EAAKuS,WAAWpT,GAEjCiP,EAAOyD,YAAcrQ,KAAK6gB,cAAcxQ,YACxCzD,EAAOiG,YACPjG,EAAO0E,OAEPtR,KAAK6gB,cAAc6B,QAAQ/kB,EAAGmW,IAAMlH,GAOxCpO,EAAK+Y,iBAAiBjV,UAAUyY,MAAQ,SAAUpV,GAC9C3F,KAAK2F,cAAgBA,EACrB3F,KAAK4M,OAAS5M,KAAK2F,cAAc0R,cAAcwJ,cAE/C7gB,KAAKgM,SAMTxN,EAAK+Y,iBAAiBjV,UAAU0Y,IAAM,WAClChb,KAAK0L,SAQTlN,EAAK+Y,iBAAiBjV,UAAU4C,OAAS,SAAUge,EAAQ7V,GACvD,IAAItP,EAAUmlB,EAAOnlB,QACjBoI,EAAcpI,EAAQoI,YACtBxI,EAAKqC,KAAKrC,GACVa,EAAK2X,cAAcqH,aAAarX,EAAYE,eAAiBF,IAC7DnG,KAAK0L,QACL/N,EAAG6B,cAAc7B,EAAG8B,SAAW0G,EAAYE,cAC3C1I,EAAGM,YAAYN,EAAGO,WAAYiI,EAAY0N,YAAYlW,EAAGmW,KACzDtV,EAAK2X,cAAcqH,aAAarX,EAAYE,cAAgBF,GAIhE,IAAI3C,EAAK0f,EAAO3hB,eAEZ8L,IACA7J,EAAK6J,GAILrN,KAAKuiB,kBAAoBviB,KAAK0hB,OAC9B1hB,KAAK0L,QACL1L,KAAKwiB,mBAAqBzkB,EAAQoI,aAItC,IAAIgd,EAAMplB,EAAQqlB,KAGlB,GAAKD,EAAL,CAIA,IAGIvY,EAAIC,EAAIC,EAAIC,EAHZsY,EAAKH,EAAOxc,OAAO5C,EACnBwf,EAAKJ,EAAOxc,OAAO3C,EAIvB,GAAIhG,EAAQgQ,KAAM,CAEd,IAAIA,EAAOhQ,EAAQgQ,KAGnBnD,GADAC,EAAKkD,EAAKjK,EAAIuf,EAAKtV,EAAKnQ,OACdG,EAAQwP,KAAK3P,MAGvBkN,GADAC,EAAKgD,EAAKhK,EAAIuf,EAAKvV,EAAKlQ,QACdE,EAAQwP,KAAK1P,YAEvB+M,EAAM7M,EAAQiP,MAAW,OAAK,EAAIqW,GAClCxY,EAAM9M,EAAQiP,MAAW,OAAKqW,EAE9BvY,EAAK/M,EAAQiP,MAAMnP,QAAU,EAAIylB,GACjCvY,EAAKhN,EAAQiP,MAAMnP,QAAUylB,EAGjC,IAAI5gB,EAAI1C,KAAKuiB,iBAAmBviB,KAAK2hB,WAEjChd,GADW3E,KAAKuiB,iBACHxkB,EAAQoI,YAAYxB,YACjC0B,EAAetI,EAAQoI,YAAYE,aAEnCpD,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAGR8K,GADKrQ,EAAQwP,KAAK3P,MACbG,EAAQwP,KAAK1P,QAEtB,GAAIE,EAAQsQ,QACZ,CACI,IAAIkV,EAAK/f,EAAGP,EACRugB,EAAKhgB,EAAGN,EACRugB,EAAKjgB,EAAGL,EACRugB,EAAKlgB,EAAGJ,EACRugB,EAAM9Y,EACN+Y,EAAMhZ,EAGVvH,EAAKG,EAAGL,EAAIiL,EAAK/K,EACjBC,EAAKE,EAAGJ,EAAIgL,EAAK9K,EAIjBL,EAAS,sBAALsgB,EAA8BE,EAClCvgB,EAAS,sBAALsgB,EAA8BE,EAClCvgB,EAAIogB,EAAU,sBAALE,EACTrgB,EAAIogB,EAAU,sBAALE,EAGT3lB,EAAQ8lB,qBAGRjZ,EAAKE,EACLD,EAAKE,EACLD,EAAK8Y,EACL7Y,EAAK4Y,EAGT,IAAIzB,EAASliB,KAAKkiB,OACdF,EAAYhiB,KAAKgiB,UACjBvV,EAAOyW,EAAOzW,KACdwJ,GAASxJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApByW,EAAO5hB,YAAoB,IAE7FtB,KAAK2F,cAAc4I,aACnByT,EAAUtf,KAAOO,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EAAK,EACxC2e,EAAUtf,KAAOU,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAAK,EACxC0e,EAAUtf,KAAOygB,EAAIW,GACrB9B,EAAUtf,KAAOygB,EAAIY,GACrB7B,EAAOxf,KAAOuT,EACd+L,EAAUtf,KAAO2D,EAEjB2b,EAAUtf,KAAOO,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EAAK,EACxC2e,EAAUtf,KAAOU,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAAK,EACxC0e,EAAUtf,KAAOygB,EAAInY,GACrBgX,EAAUtf,KAAOygB,EAAIlY,GACrBiX,EAAOxf,KAAOuT,EACd+L,EAAUtf,KAAO2D,EAEjB2b,EAAUtf,KAAOO,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EAAK,EACxC2e,EAAUtf,KAAOU,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAAK,EACxC0e,EAAUtf,KAAOygB,EAAIjY,GACrB8W,EAAUtf,KAAOygB,EAAIhY,GACrB+W,EAAOxf,KAAOuT,EACd+L,EAAUtf,KAAO2D,EAEjB2b,EAAUtf,KAAOO,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EAAK,EACxC2e,EAAUtf,KAAOU,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAAK,EACxC0e,EAAUtf,KAAOygB,EAAI/X,GACrB4W,EAAUtf,KAAOygB,EAAI9X,GACrB6W,EAAOxf,KAAOuT,EACd+L,EAAUtf,KAAO2D,IAEjB2b,EAAUtf,KAAOO,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACnC2e,EAAUtf,KAAOU,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EACnC0e,EAAUtf,KAAOygB,EAAIW,GACrB9B,EAAUtf,KAAOygB,EAAIY,GACrB7B,EAAOxf,KAAOuT,EACd+L,EAAUtf,KAAO2D,EAEjB2b,EAAUtf,KAAOO,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACnC2e,EAAUtf,KAAOU,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EACnC0e,EAAUtf,KAAOygB,EAAInY,GACrBgX,EAAUtf,KAAOygB,EAAIlY,GACrBiX,EAAOxf,KAAOuT,EACd+L,EAAUtf,KAAO2D,EAEjB2b,EAAUtf,KAAOO,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACnC2e,EAAUtf,KAAOU,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EACnC0e,EAAUtf,KAAOygB,EAAIjY,GACrB8W,EAAUtf,KAAOygB,EAAIhY,GACrB+W,EAAOxf,KAAOuT,EACd+L,EAAUtf,KAAO2D,EAEjB2b,EAAUtf,KAAOO,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACnC2e,EAAUtf,KAAOU,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EACnC0e,EAAUtf,KAAOygB,EAAI/X,GACrB4W,EAAUtf,KAAOygB,EAAI9X,GACrB6W,EAAOxf,KAAOuT,EACd+L,EAAUtf,KAAO2D,GAGrBrG,KAAK2iB,QAAQ3iB,KAAKuiB,oBAAsBW,IAS5C1kB,EAAK+Y,iBAAiBjV,UAAU0hB,mBAAqB,SAAUd,GAC3D,IAAInlB,EAAUmlB,EAAOe,cACjB9d,EAAcpI,EAAQoI,YACtBxI,EAAKqC,KAAKrC,GACV0I,EAAe6c,EAAOnlB,QAAQoI,YAAYE,aAC1C7H,EAAK2X,cAAcqH,aAAanX,IAAiBF,IACjDnG,KAAK0L,QACL/N,EAAG6B,cAAc7B,EAAG8B,SAAW4G,GAC/B1I,EAAGM,YAAYN,EAAGO,WAAYiI,EAAY0N,YAAYlW,EAAGmW,KACzDtV,EAAK2X,cAAcqH,aAAanX,GAAgBF,GAIhDnG,KAAKuiB,kBAAoBviB,KAAK0hB,OAC9B1hB,KAAK0L,QACL1L,KAAKwiB,mBAAqBzkB,EAAQoI,aAIjC+c,EAAOE,OACRF,EAAOE,KAAO,IAAI5kB,EAAK0lB,YAG3B,IAAIf,EAAMD,EAAOE,KAEbnO,EAAIlX,EAAQoI,YAAYvI,MACxBumB,EAAIpmB,EAAQoI,YAAYtI,OAQ5BqlB,EAAOkB,aAAatgB,GAAKmR,EAAIiO,EAAOmB,gBAAgBvgB,EACpDof,EAAOkB,aAAargB,GAAKogB,EAAIjB,EAAOmB,gBAAgBtgB,EAEpD,IAAIugB,EAAUpB,EAAOkB,aAAatgB,GAAKmR,EAAIiO,EAAOmB,gBAAgBvgB,GAC9DygB,EAAUrB,EAAOkB,aAAargB,GAAKogB,EAAIjB,EAAOmB,gBAAgBtgB,GAE9DygB,EAAUtB,EAAOtlB,MAAQqX,GAAMiO,EAAOuB,UAAU3gB,EAAIof,EAAOmB,gBAAgBvgB,GAC3E4gB,EAAUxB,EAAOrlB,OAASsmB,GAAMjB,EAAOuB,UAAU1gB,EAAImf,EAAOmB,gBAAgBtgB,GAEhFof,EAAIW,GAAK,EAAIQ,EACbnB,EAAIY,GAAK,EAAIQ,EAEbpB,EAAInY,GAAM,EAAIwZ,EAAUF,EACxBnB,EAAIlY,GAAK,EAAIsZ,EAEbpB,EAAIjY,GAAM,EAAIsZ,EAAUF,EACxBnB,EAAIhY,GAAM,EAAIuZ,EAAUH,EAExBpB,EAAI/X,GAAK,EAAIkZ,EACbnB,EAAI9X,GAAM,EAAIqZ,EAAUH,EAGxB,IAAI9X,EAAOyW,EAAOzW,KACdwJ,GAASxJ,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApByW,EAAO5hB,YAAoB,IAE7F0gB,EAAYhiB,KAAKgiB,UACjBE,EAASliB,KAAKkiB,OAEdtkB,EAAQslB,EAAOtlB,MACfC,EAASqlB,EAAOrlB,OAGhBwlB,EAAKH,EAAOxc,OAAO5C,EACnBwf,EAAKJ,EAAOxc,OAAO3C,EACnB6G,EAAKhN,GAAS,EAAIylB,GAClBxY,EAAKjN,GAASylB,EAEdvY,EAAKjN,GAAU,EAAIylB,GACnBvY,EAAKlN,GAAUylB,EAEf5gB,EAAI1C,KAAKuiB,iBAAmBviB,KAAK2hB,WAEjChd,EAAa5G,EAAQoI,YAAYxB,WAEjCnB,EAAK0f,EAAO3hB,eAEZ0B,EAAIO,EAAGP,EAAI0B,EACXzB,EAAIM,EAAGN,EAAIyB,EACXxB,EAAIK,EAAGL,EAAIwB,EACXvB,EAAII,EAAGJ,EAAIuB,EACXtB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAEZ0e,EAAUtf,KAAOO,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACnC2e,EAAUtf,KAAOU,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAEnC0e,EAAUtf,KAAOygB,EAAIW,GACrB9B,EAAUtf,KAAOygB,EAAIY,GAErB7B,EAAOxf,KAAOuT,EAEd+L,EAAUtf,KAAO2D,EAGjB2b,EAAUtf,KAAQO,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACpC2e,EAAUtf,KAAOU,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAEnC0e,EAAUtf,KAAOygB,EAAInY,GACrBgX,EAAUtf,KAAOygB,EAAIlY,GAErBiX,EAAOxf,KAAOuT,EAEd+L,EAAUtf,KAAO2D,EAGjB2b,EAAUtf,KAAOO,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACnC2e,EAAUtf,KAAOU,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAEnC0e,EAAUtf,KAAOygB,EAAIjY,GACrB8W,EAAUtf,KAAOygB,EAAIhY,GAErB+W,EAAOxf,KAAOuT,EAEd+L,EAAUtf,KAAO2D,EAGjB2b,EAAUtf,KAAOO,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACnC2e,EAAUtf,KAAOU,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAEnC0e,EAAUtf,KAAOygB,EAAI/X,GACrB4W,EAAUtf,KAAOygB,EAAI9X,GAErB6W,EAAOxf,KAAOuT,EAEd+L,EAAUtf,KAAO2D,EAGjBrG,KAAK2iB,QAAQ3iB,KAAKuiB,oBAAsBW,GAQ5C1kB,EAAK+Y,iBAAiBjV,UAAUoJ,MAAQ,WAEpC,GAA8B,IAA1B1L,KAAKuiB,iBAAT,CAIA,IACI3V,EADAjP,EAAKqC,KAAKrC,GAGd,GAAIqC,KAAKoR,MAAO,CACZpR,KAAKoR,OAAQ,EAEbxE,EAAS5M,KAAK6gB,cAAc6B,QAAQ/kB,EAAGmW,IAGvCnW,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cACpCllB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAKsgB,aAE5C,IAAIqE,EAAS3kB,KAAK2hB,WAClBhkB,EAAGwiB,oBAAoBvT,EAAOuF,gBAAiB,EAAGxU,EAAGyiB,OAAO,EAAOuE,EAAQ,GAC3EhnB,EAAGwiB,oBAAoBvT,EAAOyF,cAAe,EAAG1U,EAAGyiB,OAAO,EAAOuE,EAAQ,GAGzEhnB,EAAGwiB,oBAAoBvT,EAAO0F,eAAgB,EAAG3U,EAAGoB,eAAe,EAAM4lB,EAAQ,IAGjFhnB,EAAGwiB,oBAAoBvT,EAAO2F,cAAe,EAAG5U,EAAGyiB,OAAO,EAAOuE,EAAQ,IAI7E,GAAI3kB,KAAKuiB,iBAAgC,GAAZviB,KAAK0hB,KAC9B/jB,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGlgB,KAAK8hB,cACvC,CACHnkB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cACpC,IAAIjM,EAAO5W,KAAKgiB,UAAU6C,SAAS,EAAG7kB,KAAKuiB,iBAAmBviB,KAAK2hB,YACnEhkB,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGtJ,GAgBzC,IAAK,IAbDkO,EAAaC,EAAeC,EAU5B9B,EATA+B,EAAY,EACZjZ,EAAQ,EAERwW,EAAqB,KACrBhV,EAAmBxN,KAAK2F,cAAciS,iBAAiBpK,iBACvDgU,EAAgB,KAEhB0D,GAAY,EACZC,GAAa,EAIRziB,EAAI,EAAG+E,EAAIzH,KAAKuiB,iBAAkB7f,EAAI+E,EAAG/E,IAAK,CAK/CoiB,GAHJ5B,EAASljB,KAAK2iB,QAAQjgB,IAEXuhB,cACOf,EAAOe,cAAc9d,YAErB+c,EAAOnlB,QAAQoI,YAMjC+e,EAAY1X,KAHZuX,EAAgB7B,EAAOrb,WAIvBsd,EAAa3D,KAHbwD,EAAa9B,EAAOtW,QAAU5M,KAAK6gB,eAKnC,IAAIuE,EAAON,EAAY3X,WAMvB,GAJIiY,GAAQlC,EAAOzgB,SAASE,OAAS,IACjCyiB,GAAO,IAIPF,GACAC,KACAnlB,KAAKqlB,YAAY7C,EAAoByC,EAAWjZ,GAEhDA,EAAQtJ,EACRuiB,EAAY,EACZzC,EAAqBsC,EAEjBI,IACA1X,EAAmBuX,EACnB/kB,KAAK2F,cAAciS,iBAAiBkD,aAAatN,IAGjD2X,GAAY,EAGZvY,GAFA4U,EAAgBwD,GAEOtC,QAAQ/kB,EAAGmW,QAG9BlH,EAAS,IAAIpO,EAAKuS,WAAWpT,IAEtB0S,YAAcmR,EAAcnR,YACnCzD,EAAOiG,SAAW2O,EAAc3O,SAChCjG,EAAO0E,OAEPkQ,EAAckB,QAAQ/kB,EAAGmW,IAAMlH,GAInC5M,KAAK2F,cAAc0R,cAAcqI,UAAU9S,GAEvCA,EAAOwE,OACPxE,EAAOkI,eAKX,IAAIqC,EAAanX,KAAK2F,cAAcwR,WACpCxZ,EAAGkiB,UAAUjT,EAAOoF,iBAAkBmF,EAAWrT,EAAGqT,EAAWpT,GAG/D,IAAIkO,EAAejS,KAAK2F,cAAcyR,OACtCzZ,EAAGkiB,UAAUjT,EAAOqF,aAAcA,EAAanO,EAAGmO,EAAalO,GAMvEkhB,IAGJjlB,KAAKqlB,YAAY7C,EAAoByC,EAAWjZ,GAGhDhM,KAAKuiB,iBAAmB,IAS5B/jB,EAAK+Y,iBAAiBjV,UAAU+iB,YAAc,SAAUtnB,EAAS2jB,EAAM4D,GACnE,GAAa,IAAT5D,EAAJ,CAIA,IAAI/jB,EAAKqC,KAAKrC,GAGd,GAAII,EAAQmX,OAAOvX,EAAGmW,KAClB,IAAK9T,KAAK2F,cAAcf,SAASwQ,cAAcrX,GAE3C,YAGJJ,EAAGM,YAAYN,EAAGO,WAAYH,EAAQ8V,YAAYlW,EAAGmW,KAGzDnW,EAAGshB,aAAathB,EAAG4nB,UAAkB,EAAP7D,EAAU/jB,EAAGwhB,eAA6B,EAAbmG,EAAiB,GAE5EtlB,KAAK2F,cAAcoS,cAMvBvZ,EAAK+Y,iBAAiBjV,UAAUuJ,KAAO,WACnC7L,KAAK0L,QACL1L,KAAKoR,OAAQ,GAMjB5S,EAAK+Y,iBAAiBjV,UAAU0J,MAAQ,WACpChM,KAAKoR,OAAQ,GAQjB5S,EAAK+Y,iBAAiBjV,UAAUE,QAAU,WACtCxC,KAAK8hB,SAAW,KAChB9hB,KAAKwS,QAAU,KAEfxS,KAAKrC,GAAG6nB,aAAaxlB,KAAK6iB,cAC1B7iB,KAAKrC,GAAG6nB,aAAaxlB,KAAKsgB,aAE1BtgB,KAAKwiB,mBAAqB,KAE1BxiB,KAAKrC,GAAK,MAiBda,EAAKinB,qBAAuB,SAAS9nB,GAOjCqC,KAAKyhB,SAAW,GAMhBzhB,KAAK0lB,QAAU,IAMf1lB,KAAK0hB,KAAO1hB,KAAK0lB,QAGjB,IAAI9D,EAAuB,EAAZ5hB,KAAK0hB,KAAY1hB,KAAKyhB,SAGjCI,EAA4B,EAAf7hB,KAAK0lB,QAOtB1lB,KAAK8hB,SAAW,IAAIG,aAAaL,GAOjC5hB,KAAKwS,QAAU,IAAI4P,YAAYP,GAM/B7hB,KAAK6iB,aAAe,KAMpB7iB,KAAKsgB,YAAc,KAMnBtgB,KAAKqiB,eAAiB,EAEtB,IAAK,IAAI3f,EAAE,EAAG+E,EAAE,EAAG/E,EAAImf,EAAYnf,GAAK,EAAG+E,GAAK,EAE5CzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAC1BzH,KAAKwS,QAAQ9P,EAAI,GAAK+E,EAAI,EAO9BzH,KAAKsiB,SAAU,EAMftiB,KAAKuiB,iBAAmB,EAMxBviB,KAAKwiB,mBAAqB,KAM1BxiB,KAAKwN,iBAAmB,EAMxBxN,KAAK2F,cAAgB,KAMrB3F,KAAK4M,OAAS,KAMd5M,KAAKqN,OAAS,KAEdrN,KAAK6Y,WAAWlb,IAGpBa,EAAKinB,qBAAqBnjB,UAAUC,YAAc/D,EAAKinB,qBAQvDjnB,EAAKinB,qBAAqBnjB,UAAUuW,WAAa,SAASlb,GAEtDqC,KAAKrC,GAAKA,EAGVqC,KAAK6iB,aAAellB,EAAGmlB,eACvB9iB,KAAKsgB,YAAc3iB,EAAGmlB,eAKtBnlB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAKsgB,aAC5C3iB,EAAGolB,WAAWplB,EAAG0iB,qBAAsBrgB,KAAKwS,QAAS7U,EAAGqlB,aAExDrlB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cACpCllB,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAK8hB,SAAUnkB,EAAGslB,eAQrDzkB,EAAKinB,qBAAqBnjB,UAAUyY,MAAQ,SAAStP,EAAa9F,GAE9D3F,KAAK2F,cAAgBA,EACrB3F,KAAK4M,OAAS5M,KAAK2F,cAAc0R,cAAcyJ,WAE/C9gB,KAAKqN,OAAS5B,EAAYlK,eAAeqe,SAAQ,GAEjD5f,KAAKgM,SAMTxN,EAAKinB,qBAAqBnjB,UAAU0Y,IAAM,WAEtChb,KAAK0L,SAOTlN,EAAKinB,qBAAqBnjB,UAAU4C,OAAS,SAAUuG,GAEnD,IAAIhJ,EAAWgJ,EAAYhJ,SACvBygB,EAASzgB,EAAS,GAKtB,GAAIygB,EAAOnlB,QAAQqlB,KAAnB,CAEApjB,KAAKwiB,mBAAqBU,EAAOnlB,QAAQoI,YAGtC+c,EAAOrb,YAAc7H,KAAK2F,cAAciS,iBAAiBpK,mBAExDxN,KAAK0L,QACL1L,KAAK2F,cAAciS,iBAAiBkD,aAAaoI,EAAOrb,YAG5D,IAAI,IAAInF,EAAE,EAAE+E,EAAGhF,EAASE,OAAQD,EAAE+E,EAAG/E,IAEjC1C,KAAK2lB,aAAaljB,EAASC,IAG/B1C,KAAK0L,UAOTlN,EAAKinB,qBAAqBnjB,UAAUqjB,aAAe,SAASzC,GAExD,IACI/c,EADU+c,EAAOnlB,QACKoI,YACtBxI,EAAKqC,KAAKrC,GACV0I,EAAe6c,EAAOnlB,QAAQoI,YAAYE,aAE9C,IAAI7H,EAAK2X,cAAcqH,aAAanX,IAAiBF,IACjDA,EAAY0N,YAAYlW,EAAGmW,KAAQoP,EAAOnlB,QAAQoI,YAAYgH,aAC9DnN,KAAK0L,QACL/N,EAAG6B,cAAc7B,EAAG8B,SAAW4G,GAC/B1I,EAAGM,YAAYN,EAAGO,WAAYiI,EAAY0N,YAAYlW,EAAGmW,KACzDtV,EAAK2X,cAAcqH,aAAanX,GAAgBF,EAC5C+c,EAAOnlB,QAAQqlB,QAInBF,EAAOhiB,QAAX,CAEA,IAAIiiB,EAA8CvY,EAAIC,EAAIC,EAAIC,EAAIvC,EAAzDsZ,EAAW9hB,KAAK8hB,SAOzB,GALAqB,EAAMD,EAAOnlB,QAAQqlB,KAEbF,EAAOnlB,QAAQiP,MAAMpP,MACpBslB,EAAOnlB,QAAQiP,MAAMnP,OAE1BqlB,EAAOnlB,QAAQgQ,KACnB,CAEI,IAAIA,EAAOmV,EAAOnlB,QAAQgQ,KAG1BnD,GADAC,EAAKkD,EAAKjK,EAAIof,EAAOxc,OAAO5C,EAAIiK,EAAKnQ,OAC3BslB,EAAOnlB,QAAQwP,KAAK3P,MAG9BkN,GADAC,EAAKgD,EAAKhK,EAAImf,EAAOxc,OAAO3C,EAAIgK,EAAKlQ,QAC3BqlB,EAAOnlB,QAAQwP,KAAK1P,YAI9B+M,EAAMsY,EAAOnlB,QAAQiP,MAAY,OAAK,EAAEkW,EAAOxc,OAAO5C,GACtD+G,EAAMqY,EAAOnlB,QAAQiP,MAAY,OAAKkW,EAAOxc,OAAO5C,EAEpDgH,EAAKoY,EAAOnlB,QAAQiP,MAAMnP,QAAU,EAAEqlB,EAAOxc,OAAO3C,GACpDgH,EAAKmY,EAAOnlB,QAAQiP,MAAMnP,QAAUqlB,EAAOxc,OAAO3C,EAGtDyE,EAAgC,EAAxBxI,KAAKuiB,iBAAuBviB,KAAKyhB,SAEzCK,EAAStZ,KAAWqC,EACpBiX,EAAStZ,KAAWuC,EAEpB+W,EAAStZ,KAAW0a,EAAOtiB,SAASkD,EACpCge,EAAStZ,KAAW0a,EAAOtiB,SAASmD,EAGpC+d,EAAStZ,KAAW0a,EAAOpiB,MAAMgD,EACjCge,EAAStZ,KAAW0a,EAAOpiB,MAAMiD,EAGjC+d,EAAStZ,KAAW0a,EAAOliB,SAG3B8gB,EAAStZ,KAAW2a,EAAIW,GACxBhC,EAAStZ,KAAW2a,EAAIlY,GAExB6W,EAAStZ,KAAW0a,EAAOjiB,MAE3B6gB,EAAStZ,KAAWnC,EAIpByb,EAAStZ,KAAWoC,EACpBkX,EAAStZ,KAAWuC,EAEpB+W,EAAStZ,KAAW0a,EAAOtiB,SAASkD,EACpCge,EAAStZ,KAAW0a,EAAOtiB,SAASmD,EAGpC+d,EAAStZ,KAAW0a,EAAOpiB,MAAMgD,EACjCge,EAAStZ,KAAW0a,EAAOpiB,MAAMiD,EAGjC+d,EAAStZ,KAAW0a,EAAOliB,SAG3B8gB,EAAStZ,KAAW2a,EAAInY,GACxB8W,EAAStZ,KAAW2a,EAAIlY,GAExB6W,EAAStZ,KAAW0a,EAAOjiB,MAE3B6gB,EAAStZ,KAAWnC,EAGpByb,EAAStZ,KAAWoC,EACpBkX,EAAStZ,KAAWsC,EAEpBgX,EAAStZ,KAAW0a,EAAOtiB,SAASkD,EACpCge,EAAStZ,KAAW0a,EAAOtiB,SAASmD,EAGpC+d,EAAStZ,KAAW0a,EAAOpiB,MAAMgD,EACjCge,EAAStZ,KAAW0a,EAAOpiB,MAAMiD,EAGjC+d,EAAStZ,KAAW0a,EAAOliB,SAG3B8gB,EAAStZ,KAAW2a,EAAIjY,GACxB4W,EAAStZ,KAAW2a,EAAIhY,GAExB2W,EAAStZ,KAAW0a,EAAOjiB,MAE3B6gB,EAAStZ,KAAWnC,EAKpByb,EAAStZ,KAAWqC,EACpBiX,EAAStZ,KAAWsC,EAEpBgX,EAAStZ,KAAW0a,EAAOtiB,SAASkD,EACpCge,EAAStZ,KAAW0a,EAAOtiB,SAASmD,EAGpC+d,EAAStZ,KAAW0a,EAAOpiB,MAAMgD,EACjCge,EAAStZ,KAAW0a,EAAOpiB,MAAMiD,EAGjC+d,EAAStZ,KAAW0a,EAAOliB,SAG3B8gB,EAAStZ,KAAW2a,EAAI/X,GACxB0W,EAAStZ,KAAW2a,EAAI9X,GAExByW,EAAStZ,KAAW0a,EAAOjiB,MAE3B6gB,EAAStZ,KAAWnC,IAGpBrG,KAAKuiB,kBAEuBviB,KAAK0hB,MAE7B1hB,KAAK0L,UAOblN,EAAKinB,qBAAqBnjB,UAAUoJ,MAAQ,WAGxC,GAA4B,IAAxB1L,KAAKuiB,iBAAT,CAEA,IAAI5kB,EAAKqC,KAAKrC,GAId,GAAIqC,KAAKwiB,mBAAmB3O,YAAYlW,EAAGmW,IAA3C,CASA,GAAG9T,KAAKuiB,iBAAiC,GAAZviB,KAAK0hB,KAE9B/jB,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGlgB,KAAK8hB,cAG9C,CACI,IAAIlL,EAAO5W,KAAK8hB,SAAS+C,SAAS,EAA2B,EAAxB7kB,KAAKuiB,iBAAuBviB,KAAKyhB,UAEtE9jB,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGtJ,GAIzCjZ,EAAGshB,aAAathB,EAAG4nB,UAAmC,EAAxBvlB,KAAKuiB,iBAAsB5kB,EAAGwhB,eAAgB,GAG5Enf,KAAKuiB,iBAAmB,EAGxBviB,KAAK2F,cAAcoS,iBA1Bf/X,KAAK2F,cAAcf,SAASwQ,cAAcpV,KAAKwiB,mBAAoB7kB,KAkC3Ea,EAAKinB,qBAAqBnjB,UAAUuJ,KAAO,WAEvC7L,KAAK0L,SAMTlN,EAAKinB,qBAAqBnjB,UAAU0J,MAAQ,WAExC,IAAIrO,EAAKqC,KAAKrC,GAGdA,EAAG6B,cAAc7B,EAAG8B,UAGpB9B,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cACpCllB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAKsgB,aAG5C,IAAInJ,EAAanX,KAAK2F,cAAcwR,WACpCxZ,EAAGkiB,UAAU7f,KAAK4M,OAAOoF,iBAAkBmF,EAAWrT,EAAGqT,EAAWpT,GAGpEpG,EAAGgW,iBAAiB3T,KAAK4M,OAAO2I,SAAS,EAAOvV,KAAKqN,QAGrD,IAAIsX,EAA0B,EAAhB3kB,KAAKyhB,SAEnB9jB,EAAGwiB,oBAAoBngB,KAAK4M,OAAOuF,gBAAiB,EAAGxU,EAAGyiB,OAAO,EAAOuE,EAAQ,GAChFhnB,EAAGwiB,oBAAoBngB,KAAK4M,OAAO4I,eAAgB,EAAG7X,EAAGyiB,OAAO,EAAOuE,EAAQ,GAC/EhnB,EAAGwiB,oBAAoBngB,KAAK4M,OAAO6I,OAAQ,EAAG9X,EAAGyiB,OAAO,EAAOuE,EAAQ,IACvEhnB,EAAGwiB,oBAAoBngB,KAAK4M,OAAO8I,UAAW,EAAG/X,EAAGyiB,OAAO,EAAOuE,EAAQ,IAC1EhnB,EAAGwiB,oBAAoBngB,KAAK4M,OAAOyF,cAAe,EAAG1U,EAAGyiB,OAAO,EAAOuE,EAAQ,IAC9EhnB,EAAGwiB,oBAAoBngB,KAAK4M,OAAO0F,eAAgB,EAAG3U,EAAGyiB,OAAO,EAAOuE,EAAQ,IAC/EhnB,EAAGwiB,oBAAoBngB,KAAK4M,OAAO2F,cAAe,EAAG5U,EAAGyiB,OAAO,EAAOuE,EAAQ,KAYlFnmB,EAAKiZ,mBAAqB,WAMtBzX,KAAK4lB,eAML5lB,KAAKskB,QAAU,EAMftkB,KAAKukB,QAAU,GAGnB/lB,EAAKiZ,mBAAmBnV,UAAUC,YAAc/D,EAAKiZ,mBAQrDjZ,EAAKiZ,mBAAmBnV,UAAUuW,WAAa,SAASlb,GAEpDqC,KAAKrC,GAAKA,EACVqC,KAAK6lB,eAEL7lB,KAAK8lB,qBAQTtnB,EAAKiZ,mBAAmBnV,UAAUyY,MAAQ,SAASpV,EAAekV,GAE9D7a,KAAK2F,cAAgBA,EACrB3F,KAAK6gB,cAAgBlb,EAAc0R,cAAcwJ,cAEjD,IAAI1J,EAAanX,KAAK2F,cAAcwR,WACpCnX,KAAKpC,MAAuB,EAAfuZ,EAAWrT,EACxB9D,KAAKnC,OAAyB,GAAfsZ,EAAWpT,EAC1B/D,KAAK6a,OAASA,GASlBrc,EAAKiZ,mBAAmBnV,UAAUsJ,WAAa,SAASma,GAEpD,IAAIpoB,EAAKqC,KAAKrC,GAEVwZ,EAAanX,KAAK2F,cAAcwR,WAChCC,EAASpX,KAAK2F,cAAcyR,OAEhC2O,EAAYC,YAAcD,EAAYne,OAAO/F,YAAckkB,EAAYne,OAAOgC,YAG9Emc,EAAYE,sBAAwBjmB,KAAK2F,cAAc+R,eACvD1X,KAAK2F,cAAc+R,eAAiB,IAAIlZ,EAAKmZ,oBAC7C3X,KAAK2F,cAAc+R,eAAemB,WAAWlb,GAC7CA,EAAG6a,QAAQ7a,EAAG4gB,cAKdve,KAAK4lB,YAAYle,KAAKqe,GAEtB,IAAIG,EAASH,EAAYve,aAAa,GAEtCxH,KAAKskB,SAAWyB,EAAYC,YAAYliB,EACxC9D,KAAKukB,SAAWwB,EAAYC,YAAYjiB,EAExC,IAAIhG,EAAUiC,KAAK6lB,YAAYrF,MAC3BziB,EAMAA,EAAQmI,OAAOlG,KAAKpC,MAAQoC,KAAK2F,cAAchB,WAAY3E,KAAKnC,OAASmC,KAAK2F,cAAchB,YAJ5F5G,EAAU,IAAIS,EAAK2nB,cAAcnmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK2F,cAAchB,WAAY3E,KAAKnC,OAASmC,KAAK2F,cAAchB,YAO3HhH,EAAGM,YAAYN,EAAGO,WAAaH,EAAQA,SAEvC,IAAI8D,EAAakkB,EAAYC,YAEzBI,EAAUF,EAAOE,QACrBvkB,EAAWiC,GAAKsiB,EAChBvkB,EAAWkC,GAAKqiB,EAChBvkB,EAAWjE,OAAmB,EAAVwoB,EACpBvkB,EAAWhE,QAAoB,EAAVuoB,EAGlBvkB,EAAWiC,EAAI,IAAEjC,EAAWiC,EAAI,GAChCjC,EAAWjE,MAAQoC,KAAKpC,QAAMiE,EAAWjE,MAAQoC,KAAKpC,OACtDiE,EAAWkC,EAAI,IAAElC,EAAWkC,EAAI,GAChClC,EAAWhE,OAASmC,KAAKnC,SAAOgE,EAAWhE,OAASmC,KAAKnC,QAG5DF,EAAG+B,gBAAgB/B,EAAGgC,YAAa5B,EAAQsoB,aAG3C1oB,EAAGwc,SAAS,EAAG,EAAGtY,EAAWjE,MAAQoC,KAAK2F,cAAchB,WAAY9C,EAAWhE,OAASmC,KAAK2F,cAAchB,YAE3GwS,EAAWrT,EAAIjC,EAAWjE,MAAM,EAChCuZ,EAAWpT,GAAKlC,EAAWhE,OAAO,EAElCuZ,EAAOtT,GAAKjC,EAAWiC,EACvBsT,EAAOrT,GAAKlC,EAAWkC,EAQvBpG,EAAG+gB,WAAU,GAAM,GAAM,GAAM,GAC/B/gB,EAAGyc,WAAW,EAAE,EAAE,EAAG,GACrBzc,EAAG4c,MAAM5c,EAAG6c,kBAEZuL,EAAYO,iBAAmBvoB,GASnCS,EAAKiZ,mBAAmBnV,UAAU4J,UAAY,WAE1C,IAAIvO,EAAKqC,KAAKrC,GACVooB,EAAc/lB,KAAK4lB,YAAYpF,MAC/B3e,EAAakkB,EAAYC,YACzBjoB,EAAUgoB,EAAYO,iBACtBnP,EAAanX,KAAK2F,cAAcwR,WAChCC,EAASpX,KAAK2F,cAAcyR,OAEhC,GAAG2O,EAAYve,aAAa7E,OAAS,EACrC,CACIhF,EAAGwc,SAAS,EAAG,EAAGtY,EAAWjE,MAAQoC,KAAK2F,cAAchB,WAAY9C,EAAWhE,OAASmC,KAAK2F,cAAchB,YAE3GhH,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cAEpC7iB,KAAKumB,YAAY,GAAK,EACtBvmB,KAAKumB,YAAY,GAAK1kB,EAAWhE,OAEjCmC,KAAKumB,YAAY,GAAK1kB,EAAWjE,MACjCoC,KAAKumB,YAAY,GAAK1kB,EAAWhE,OAEjCmC,KAAKumB,YAAY,GAAK,EACtBvmB,KAAKumB,YAAY,GAAK,EAEtBvmB,KAAKumB,YAAY,GAAK1kB,EAAWjE,MACjCoC,KAAKumB,YAAY,GAAK,EAEtB5oB,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGlgB,KAAKumB,aAE1C5oB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAKwmB,UAEpCxmB,KAAKymB,QAAQ,GAAK5kB,EAAWjE,MAAMoC,KAAKpC,MACxCoC,KAAKymB,QAAQ,GAAK5kB,EAAWhE,OAAOmC,KAAKnC,OACzCmC,KAAKymB,QAAQ,GAAK5kB,EAAWjE,MAAMoC,KAAKpC,MACxCoC,KAAKymB,QAAQ,GAAK5kB,EAAWhE,OAAOmC,KAAKnC,OAEzCF,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGlgB,KAAKymB,SAE1C,IAAIC,EAAe3oB,EACf4oB,EAAgB3mB,KAAK6lB,YAAYrF,MACjCmG,IAAcA,EAAgB,IAAInoB,EAAK2nB,cAAcnmB,KAAKrC,GAAIqC,KAAKpC,MAAQoC,KAAK2F,cAAchB,WAAY3E,KAAKnC,OAASmC,KAAK2F,cAAchB,aAC/IgiB,EAAczgB,OAAOlG,KAAKpC,MAAQoC,KAAK2F,cAAchB,WAAY3E,KAAKnC,OAASmC,KAAK2F,cAAchB,YAGlGhH,EAAG+B,gBAAgB/B,EAAGgC,YAAagnB,EAAcN,aACjD1oB,EAAG4c,MAAM5c,EAAG6c,kBAEZ7c,EAAG6a,QAAQ7a,EAAGib,OAEd,IAAK,IAAIlW,EAAI,EAAGA,EAAIqjB,EAAYve,aAAa7E,OAAO,EAAGD,IACvD,CACI,IAAIkkB,EAAab,EAAYve,aAAa9E,GAE1C/E,EAAG+B,gBAAgB/B,EAAGgC,YAAagnB,EAAcN,aAGjD1oB,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYwoB,EAAa3oB,SAI3CiC,KAAK6mB,gBAAgBD,EAAY/kB,EAAYA,EAAWjE,MAAOiE,EAAWhE,QAG1E,IAAIyP,EAAOoZ,EACXA,EAAeC,EACfA,EAAgBrZ,EAGpB3P,EAAGgb,OAAOhb,EAAGib,OAEb7a,EAAU2oB,EACV1mB,KAAK6lB,YAAYne,KAAKif,GAG1B,IAAIT,EAASH,EAAYve,aAAaue,EAAYve,aAAa7E,OAAO,GAEtE3C,KAAKskB,SAAWziB,EAAWiC,EAC3B9D,KAAKukB,SAAW1iB,EAAWkC,EAE3B,IAAI+iB,EAAQ9mB,KAAKpC,MACbmpB,EAAQ/mB,KAAKnC,OAEbymB,EAAU,EACVC,EAAU,EAEV1J,EAAS7a,KAAK6a,OAGlB,GAA+B,IAA5B7a,KAAK4lB,YAAYjjB,OAEhBhF,EAAG+gB,WAAU,GAAM,GAAM,GAAM,OAGnC,CACI,IAAIsI,EAAgBhnB,KAAK4lB,YAAY5lB,KAAK4lB,YAAYjjB,OAAO,GAG7DmkB,GAFAjlB,EAAamlB,EAAchB,aAERpoB,MACnBmpB,EAAQllB,EAAWhE,OAEnBymB,EAAUziB,EAAWiC,EACrBygB,EAAU1iB,EAAWkC,EAErB8W,EAAUmM,EAAcV,iBAAiBD,YAI7ClP,EAAWrT,EAAIgjB,EAAM,EACrB3P,EAAWpT,GAAKgjB,EAAM,EAEtB3P,EAAOtT,EAAIwgB,EACXlN,EAAOrT,EAAIwgB,EAIX,IAAIzgB,GAFJjC,EAAakkB,EAAYC,aAENliB,EAAEwgB,EACjBvgB,EAAIlC,EAAWkC,EAAEwgB,EAIrB5mB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cAEpC7iB,KAAKumB,YAAY,GAAKziB,EACtB9D,KAAKumB,YAAY,GAAKxiB,EAAIlC,EAAWhE,OAErCmC,KAAKumB,YAAY,GAAKziB,EAAIjC,EAAWjE,MACrCoC,KAAKumB,YAAY,GAAKxiB,EAAIlC,EAAWhE,OAErCmC,KAAKumB,YAAY,GAAKziB,EACtB9D,KAAKumB,YAAY,GAAKxiB,EAEtB/D,KAAKumB,YAAY,GAAKziB,EAAIjC,EAAWjE,MACrCoC,KAAKumB,YAAY,GAAKxiB,EAEtBpG,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGlgB,KAAKumB,aAE1C5oB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAKwmB,UAEpCxmB,KAAKymB,QAAQ,GAAK5kB,EAAWjE,MAAMoC,KAAKpC,MACxCoC,KAAKymB,QAAQ,GAAK5kB,EAAWhE,OAAOmC,KAAKnC,OACzCmC,KAAKymB,QAAQ,GAAK5kB,EAAWjE,MAAMoC,KAAKpC,MACxCoC,KAAKymB,QAAQ,GAAK5kB,EAAWhE,OAAOmC,KAAKnC,OAEzCF,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGlgB,KAAKymB,SAE1C9oB,EAAGwc,SAAS,EAAG,EAAG2M,EAAQ9mB,KAAK2F,cAAchB,WAAYoiB,EAAQ/mB,KAAK2F,cAAchB,YAGpFhH,EAAG+B,gBAAgB/B,EAAGgC,YAAakb,GAMnCld,EAAG6B,cAAc7B,EAAG8B,UACpB9B,EAAGM,YAAYN,EAAGO,WAAYH,EAAQA,SAGlCiC,KAAK2F,cAAc+R,gBACnB1X,KAAK2F,cAAc+R,eAAelV,UAEtCxC,KAAK2F,cAAc+R,eAAiBqO,EAAYE,sBAChDF,EAAYE,sBAAwB,KAChCjmB,KAAK2F,cAAc+R,eAAeyG,MAAQ,EAC1CxgB,EAAGgb,OAAOhb,EAAG4gB,cAGb5gB,EAAG6a,QAAQ7a,EAAG4gB,cAKlBve,KAAK6mB,gBAAgBX,EAAQrkB,EAAYilB,EAAOC,GAQhD/mB,KAAK6lB,YAAYne,KAAK3J,GACtBgoB,EAAYO,iBAAmB,MAanC9nB,EAAKiZ,mBAAmBnV,UAAUukB,gBAAkB,SAASX,EAAQrkB,EAAYjE,EAAOC,GAGpF,IAAIF,EAAKqC,KAAKrC,GACViP,EAASsZ,EAAOxD,QAAQ/kB,EAAGmW,IAE3BlH,KAEAA,EAAS,IAAIpO,EAAKuS,WAAWpT,IAEtB0S,YAAc6V,EAAO7V,YAC5BzD,EAAOiG,SAAWqT,EAAOrT,SACzBjG,EAAO0E,MAAK,GAEZ4U,EAAOxD,QAAQ/kB,EAAGmW,IAAMlH,GAI5B5M,KAAK2F,cAAc0R,cAAcqI,UAAU9S,GAI3CjP,EAAGkiB,UAAUjT,EAAOoF,iBAAkBpU,EAAM,GAAIC,EAAO,GACvDF,EAAGkiB,UAAUjT,EAAOqF,aAAc,EAAE,GAEjCiU,EAAOrT,SAASX,aAEfgU,EAAOrT,SAASX,WAAWlL,MAAM,GAAKhH,KAAKpC,MAC3CsoB,EAAOrT,SAASX,WAAWlL,MAAM,GAAKhH,KAAKnC,OAC3CqoB,EAAOrT,SAASX,WAAWlL,MAAM,GAAKhH,KAAKumB,YAAY,GACvDL,EAAOrT,SAASX,WAAWlL,MAAM,GAAKhH,KAAKumB,YAAY,IAG3D3Z,EAAOkI,eAEPnX,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cACpCllB,EAAGwiB,oBAAoBvT,EAAOuF,gBAAiB,EAAGxU,EAAGyiB,OAAO,EAAO,EAAG,GAEtEziB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAKwmB,UACpC7oB,EAAGwiB,oBAAoBvT,EAAOyF,cAAe,EAAG1U,EAAGyiB,OAAO,EAAO,EAAG,GAEpEziB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAKV,aACpC3B,EAAGwiB,oBAAoBvT,EAAO0F,eAAgB,EAAG3U,EAAGyiB,OAAO,EAAO,EAAG,GAErEziB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAKsgB,aAG5C3iB,EAAGshB,aAAathB,EAAG4nB,UAAW,EAAG5nB,EAAGwhB,eAAgB,GAEpDnf,KAAK2F,cAAcoS,aAQvBvZ,EAAKiZ,mBAAmBnV,UAAUwjB,kBAAoB,WAElD,IAAInoB,EAAKqC,KAAKrC,GAGdqC,KAAK6iB,aAAellB,EAAGmlB,eACvB9iB,KAAKwmB,SAAW7oB,EAAGmlB,eACnB9iB,KAAKV,YAAc3B,EAAGmlB,eACtB9iB,KAAKsgB,YAAc3iB,EAAGmlB,eAItB9iB,KAAKumB,YAAc,IAAItE,cAAc,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,IAE1CtkB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6iB,cACpCllB,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAKumB,YAAa5oB,EAAGqlB,aAGpDhjB,KAAKymB,QAAU,IAAIxE,cAAc,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,IAEtCtkB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAKwmB,UACpC7oB,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAKymB,QAAS9oB,EAAGqlB,aAEhDhjB,KAAKinB,WAAa,IAAIhF,cAAc,EAAK,SACL,EAAK,SACL,EAAK,SACL,EAAK,WAEzCtkB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAKV,aACpC3B,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAKinB,WAAYtpB,EAAGqlB,aAGnDrlB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAKsgB,aAC5C3iB,EAAGolB,WAAWplB,EAAG0iB,qBAAsB,IAAI+B,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKzkB,EAAGqlB,cASnFxkB,EAAKiZ,mBAAmBnV,UAAUE,QAAU,WAExC,IAAI7E,EAAKqC,KAAKrC,GAEdqC,KAAK4lB,YAAc,KAEnB5lB,KAAKskB,QAAU,EACftkB,KAAKukB,QAAU,EAGf,IAAK,IAAI7hB,EAAI,EAAGA,EAAI1C,KAAK6lB,YAAYljB,OAAQD,IACzC1C,KAAK6lB,YAAYnjB,GAAGF,UAGxBxC,KAAK6lB,YAAc,KAGnBloB,EAAG6nB,aAAaxlB,KAAK6iB,cACrBllB,EAAG6nB,aAAaxlB,KAAKwmB,UACrB7oB,EAAG6nB,aAAaxlB,KAAKV,aACrB3B,EAAG6nB,aAAaxlB,KAAKsgB,cAwBzB,IAAI9f,GACA0mB,MAAO,wBACPC,MAAO,qBACPC,MAAO,wBACPC,MAAO,2BAuvCP,OAltCJ7oB,EAAK2nB,cAAgB,SAASxoB,EAAIC,EAAOC,EAAQC,EAAWmB,GAExDA,EAAqC,iBAAhBA,EAA2BA,EAAc,EAK9De,KAAKrC,GAAKA,EAOTqC,KAAKqmB,YAAcrnB,EAAmBrB,EAAIC,EAAOC,EAAQC,GAAaU,EAAKC,WAAW6oB,QAASroB,GAK/Fe,KAAKjC,QAAUiC,KAAKqmB,YAAY5lB,cAChCT,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKC,aAAeD,KAAKqmB,YAAYpmB,cAG1CzB,EAAK2nB,cAAc7jB,UAAUC,YAAc/D,EAAK2nB,cAOhD3nB,EAAK2nB,cAAc7jB,UAAUiY,MAAQ,WAEjC,IAAI5c,EAAKqC,KAAKrC,GAEdA,EAAGyc,WAAW,EAAE,EAAE,EAAG,GACrBzc,EAAG4c,MAAM5c,EAAG6c,mBAUhBhc,EAAK2nB,cAAc7jB,UAAU4D,OAAS,SAAStI,EAAOC,GAElD,GAAGmC,KAAKpC,QAAUA,GAASoC,KAAKnC,SAAWA,EAA3C,CAEAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEd,IAAIF,EAAKqC,KAAKrC,GACdA,EAAGM,YAAYN,EAAGO,WAAa8B,KAAKjC,SACpCJ,EAAGkB,WAAWlB,EAAGO,WAAY,EAAGP,EAAGmB,KAAOlB,EAAQC,EAAS,EAAGF,EAAGmB,KAAMnB,EAAGoB,cAAe,MAEzFpB,EAAGiC,iBAAiBjC,EAAGkC,aAAcG,KAAKC,cAC1CtC,EAAG4pB,oBAAoB5pB,EAAGkC,aAAclC,EAAG6pB,cAAe5pB,EAAQC,KAQtEW,EAAK2nB,cAAc7jB,UAAUE,QAAU,WAEnC,IAAI7E,EAAKqC,KAAKrC,GACdA,EAAG8pB,kBAAmBznB,KAAKqmB,aAC3B1oB,EAAG+pB,cAAe1nB,KAAKjC,SAEvBiC,KAAKqmB,YAAc,KACnBrmB,KAAKjC,QAAU,MAenBS,EAAKmpB,aAAe,SAAS/pB,EAAOC,GAQhCmC,KAAKpC,MAAQA,EAQboC,KAAKnC,OAASA,EAQdmC,KAAK6W,OAASrV,OAAOsa,WAAW1T,OAAOpI,KAAMA,KAAKpC,MAAOoC,KAAKnC,QAQ9DmC,KAAKyN,QAAUzN,KAAK6W,OAAOsB,WAAW,MAEtCnY,KAAK6W,OAAOjZ,MAAQA,EACpBoC,KAAK6W,OAAOhZ,OAASA,GAGzBW,EAAKmpB,aAAarlB,UAAUC,YAAc/D,EAAKmpB,aAQ/CnpB,EAAKmpB,aAAarlB,UAAUiY,MAAQ,WAEhCva,KAAKyN,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzCxO,KAAKyN,QAAQma,UAAU,EAAE,EAAG5nB,KAAKpC,MAAOoC,KAAKnC,SAUjDW,EAAKmpB,aAAarlB,UAAU4D,OAAS,SAAStI,EAAOC,GAEjDmC,KAAKpC,MAAQoC,KAAK6W,OAAOjZ,MAAQA,EACjCoC,KAAKnC,OAASmC,KAAK6W,OAAOhZ,OAASA,GAQvCW,EAAKmpB,aAAarlB,UAAUE,QAAU,WAElChB,OAAOsa,WAAWC,OAAO/b,OAa7BxB,EAAKqpB,kBAAoB,aAIzBrpB,EAAKqpB,kBAAkBvlB,UAAUC,YAAc/D,EAAKqpB,kBASpDrpB,EAAKqpB,kBAAkBvlB,UAAUyJ,SAAW,SAAS4R,EAAUhY,GAE9D,IAAI8H,EAAU9H,EAAc8H,QAEzBA,EAAQqa,OAER,IAAIC,EAAapK,EAAS1c,MACtB+mB,EAAYrK,EAASpc,eAErBoD,EAAagB,EAAchB,WAE/B8I,EAAQe,aAAawZ,EAAU/kB,EAAI0B,EACdqjB,EAAU9kB,EAAIyB,EACdqjB,EAAU7kB,EAAIwB,EACdqjB,EAAU5kB,EAAIuB,EACdqjB,EAAU3kB,GAAKsB,EACfqjB,EAAU1kB,GAAKqB,GAEpCnG,EAAKypB,eAAeC,mBAAmBvK,EAAUlQ,GAEjDA,EAAQ0a,OAERxK,EAASrc,WAAaymB,GAS1BvpB,EAAKqpB,kBAAkBvlB,UAAU2J,QAAU,SAAStG,GAEhDA,EAAc8H,QAAQ2a,WAa1B5pB,EAAKkQ,aAAe,aAWpBlQ,EAAKkQ,aAAaC,iBAAmB,SAASuU,EAAQjN,GAElD,IAAIY,EAASqM,EAAOvW,eAAiBnL,OAAOsa,WAAW1T,OAAOpI,MAI9D,OAFAxB,EAAKkQ,aAAa2Z,WAAWnF,EAAOnlB,QAASkY,EAAOY,GAE7CA,GAYXrY,EAAKkQ,aAAa4Z,iBAAmB,SAASvqB,EAASkY,EAAOY,GAE1D,IAAIpJ,EAAUoJ,EAAOsB,WAAW,MAE5B5K,EAAOxP,EAAQwP,KACf0H,EAAI1H,EAAK3P,MACTumB,EAAI5W,EAAK1P,OAETE,EAAQsQ,UAER4G,EAAIkP,EACJA,EAAI5W,EAAK3P,OAGTiZ,EAAOjZ,QAAUqX,GAAK4B,EAAOhZ,SAAWsmB,IAExCtN,EAAOjZ,MAAQqX,EACf4B,EAAOhZ,OAASsmB,GAGpB1W,EAAQma,UAAU,EAAG,EAAG3S,EAAGkP,GAE3B1W,EAAQ8a,UAAY,KAAO,SAAmB,EAARtS,GAAWuS,SAAS,KAAKC,QAAQ,GACvEhb,EAAQib,SAAS,EAAG,EAAGzT,EAAGkP,GAE1B1W,EAAQC,yBAA2B,WACnCD,EAAQmB,UAAU7Q,EAAQoI,YAAY6I,OAAQzB,EAAKzJ,EAAGyJ,EAAKxJ,EAAGkR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,GAE7E1W,EAAQC,yBAA2B,mBACnCD,EAAQmB,UAAU7Q,EAAQoI,YAAY6I,OAAQzB,EAAKzJ,EAAGyJ,EAAKxJ,EAAGkR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,IAajF3lB,EAAKkQ,aAAaia,iBAAmB,SAAS5qB,EAASkY,EAAOY,GAE1D,IAAIpJ,EAAUoJ,EAAOsB,WAAW,MAE5B5K,EAAOxP,EAAQwP,KACf0H,EAAI1H,EAAK3P,MACTumB,EAAI5W,EAAK1P,OAETE,EAAQsQ,UAER4G,EAAIkP,EACJA,EAAI5W,EAAK3P,OAGTiZ,EAAOjZ,QAAUqX,GAAK4B,EAAOhZ,SAAWsmB,IAExCtN,EAAOjZ,MAAQqX,EACf4B,EAAOhZ,OAASsmB,GAGpB1W,EAAQC,yBAA2B,OAEnCD,EAAQmB,UAAU7Q,EAAQoI,YAAY6I,OAAQzB,EAAKzJ,EAAGyJ,EAAKxJ,EAAGkR,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,GAS7E,IAAK,IAPDyE,EAAYpnB,OAAOue,MAAMC,cAAc/J,GACvChS,EAAI2kB,EAAU,GAAItO,EAAIsO,EAAU,GAAI1lB,EAAI0lB,EAAU,GAElDC,EAAYpb,EAAQqb,aAAa,EAAG,EAAG7T,EAAGkP,GAE1C4E,EAASF,EAAU7U,KAEdtR,EAAI,EAAGA,EAAIqmB,EAAOpmB,OAAQD,GAAK,EAMpC,GAJAqmB,EAAOrmB,EAAI,IAAMuB,EACjB8kB,EAAOrmB,EAAI,IAAM4X,EACjByO,EAAOrmB,EAAI,IAAMQ,GAEZ1E,EAAKkQ,aAAasa,eACvB,CACI,IAAI/nB,EAAQ8nB,EAAOrmB,EAAI,GAEvBqmB,EAAOrmB,EAAI,IAAM,IAAMzB,EACvB8nB,EAAOrmB,EAAI,IAAM,IAAMzB,EACvB8nB,EAAOrmB,EAAI,IAAM,IAAMzB,EAI/BwM,EAAQwb,aAAaJ,EAAW,EAAG,IAevCrqB,EAAK0qB,eAAiB,SAAUpmB,EAAMsT,GAKlCpW,KAAK8C,KAAOA,EAEPtE,EAAK6X,kBAEN7X,EAAK6X,gBAAkBrW,MAS3BA,KAAKoT,KAAO5R,OAAO2nB,OAQnBnpB,KAAK2E,WAAa7B,EAAK6B,WAYvB3E,KAAK2W,kBAAoB7T,EAAK6T,kBAQ9B3W,KAAKwW,YAAc1T,EAAK0T,YAQxBxW,KAAKyW,YAAa,EASlBzW,KAAKpC,MAAQkF,EAAKlF,MAAQoC,KAAK2E,WAS/B3E,KAAKnC,OAASiF,EAAKjF,OAASmC,KAAK2E,WAQjC3E,KAAK4W,KAAO9T,EAAK+T,OAOjB7W,KAAKyN,QAAUzN,KAAK4W,KAAKuB,WAAW,MAAQlX,MAAOjB,KAAKwW,cAQxDxW,KAAKopB,SAAU,EAQfppB,KAAKme,MAAQ,EAObne,KAAK8L,YAAc,IAAItN,EAAKqpB,kBAO5B7nB,KAAK2F,eACD8H,QAASzN,KAAKyN,QACd3B,YAAa9L,KAAK8L,YAClBhO,UAAW,KACX+P,eAAgBrM,OAAO6nB,OAAOC,mBAAmBtpB,KAAKyN,SAMtDc,YAAa6H,EAAO7H,cAAe,GAGvCvO,KAAKkY,gBAELlY,KAAKkG,OAAOlG,KAAKpC,MAAOoC,KAAKnC,SAKjCW,EAAK0qB,eAAe5mB,UAAUC,YAAc/D,EAAK0qB,eAQjD1qB,EAAK0qB,eAAe5mB,UAAU4C,OAAS,SAAUxE,GAE7CV,KAAKyN,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAEzCxO,KAAKyN,QAAQG,YAAc,EAE3B5N,KAAK2F,cAAc6H,iBAAmB,EACtCxN,KAAK2F,cAAcsI,OAASjO,KAAK8C,KAAK2X,OAAOC,OAAO5W,EACpD9D,KAAK2F,cAAcuI,OAASlO,KAAK8C,KAAK2X,OAAOC,OAAO3W,EAEpD/D,KAAKyN,QAAQC,yBAA2B,cAEpC6b,UAAUC,YAAcxpB,KAAK4W,KAAK6S,eAElCzpB,KAAKyN,QAAQ8a,UAAY,QACzBvoB,KAAKyN,QAAQ8M,SAGbva,KAAK2W,oBAED3W,KAAKwW,YAELxW,KAAKyN,QAAQma,UAAU,EAAG,EAAG5nB,KAAKpC,MAAOoC,KAAKnC,QAEzC6C,EAAK2Z,WAEVra,KAAKyN,QAAQ8a,UAAY7nB,EAAK2Z,SAASqP,KACvC1pB,KAAKyN,QAAQib,SAAS,EAAG,EAAG1oB,KAAKpC,MAAQoC,KAAKnC,UAItDmC,KAAK2a,oBAAoBja,IAI7BlC,EAAK0qB,eAAe5mB,UAAUgX,mBAAqB,SAAUC,KAc7D/a,EAAK0qB,eAAe5mB,UAAUE,QAAU,SAAUmnB,QAE3BrjB,IAAfqjB,IAA4BA,GAAa,GAEzCA,GAAc3pB,KAAK4W,KAAKvV,QAExBrB,KAAK4W,KAAKvV,OAAOoH,YAAYzI,KAAK4W,MAGtC5W,KAAK4W,KAAO,KACZ5W,KAAKyN,QAAU,KACfzN,KAAK8L,YAAc,KACnB9L,KAAK2F,cAAgB,MAWzBnH,EAAK0qB,eAAe5mB,UAAU4D,OAAS,SAAUtI,EAAOC,GAEpDmC,KAAKpC,MAAQA,EAAQoC,KAAK2E,WAC1B3E,KAAKnC,OAASA,EAASmC,KAAK2E,WAE5B3E,KAAK4W,KAAKhZ,MAAQoC,KAAKpC,MACvBoC,KAAK4W,KAAK/Y,OAASmC,KAAKnC,OAEpBmC,KAAKyW,aAELzW,KAAK4W,KAAKqE,MAAMrd,MAAQoC,KAAKpC,MAAQoC,KAAK2E,WAAa,KACvD3E,KAAK4W,KAAKqE,MAAMpd,OAASmC,KAAKnC,OAASmC,KAAK2E,WAAa,MAGzD3E,KAAK2F,cAAckI,iBAEnB7N,KAAKyN,QAAQzN,KAAK2F,cAAckI,gBAAmB7N,KAAK2F,cAAc7H,YAAcU,EAAKC,WAAWC,SAc5GF,EAAK0qB,eAAe5mB,UAAUqY,oBAAsB,SAAUC,EAAenN,EAASJ,GAElFrN,KAAK2F,cAAc8H,QAAUA,GAAWzN,KAAKyN,QAC7CzN,KAAK2F,cAAchB,WAAa3E,KAAK2E,WACrCiW,EAAc7U,cAAc/F,KAAK2F,cAAe0H,IAUpD7O,EAAK0qB,eAAe5mB,UAAU4V,cAAgB,WAE1C,IAAK1Z,EAAKmP,iBACV,CACI,IAAIzK,KACA+Y,EAAQzd,EAAKsJ,WACb8hB,EAAS5pB,KAAK8C,KAAK+mB,OAAOC,eAE9B5mB,EAAE+Y,EAAMjU,QAAU,cAClB9E,EAAE+Y,EAAMG,KAAO,UACflZ,EAAE+Y,EAAMlU,UAAY,EAAW,WAAa,cAC5C7E,EAAE+Y,EAAMO,QAAU,EAAW,SAAW,cACxCtZ,EAAE+Y,EAAMQ,SAAW,EAAW,UAAY,cAC1CvZ,EAAE+Y,EAAMS,QAAU,EAAW,SAAW,cACxCxZ,EAAE+Y,EAAMU,SAAW,EAAW,UAAY,cAC1CzZ,EAAE+Y,EAAMW,aAAe,EAAW,cAAgB,cAClD1Z,EAAE+Y,EAAMY,YAAc,EAAW,aAAe,cAChD3Z,EAAE+Y,EAAMa,YAAc,EAAW,aAAe,cAChD5Z,EAAE+Y,EAAMc,YAAc,EAAW,aAAe,cAChD7Z,EAAE+Y,EAAMe,YAAc,EAAW,aAAe,cAChD9Z,EAAE+Y,EAAMgB,WAAa,EAAW,YAAc,cAC9C/Z,EAAE+Y,EAAMiB,KAAO,EAAW,MAAQ,cAClCha,EAAE+Y,EAAMkB,YAAc,EAAW,aAAe,cAChDja,EAAE+Y,EAAMmB,OAAS,EAAW,QAAU,cACtCla,EAAE+Y,EAAMoB,YAAc,EAAW,aAAe,cAEhD7e,EAAKmP,iBAAmBzK,IAkBhC1E,EAAKurB,YAAc,SAAS/a,EAAQlR,EAAW6G,GAQ3C3E,KAAK2E,WAAaA,GAAc,EAShC3E,KAAKpC,MAAQ,IASboC,KAAKnC,OAAS,IASdmC,KAAKlC,UAAYA,GAAaU,EAAKC,WAAW6oB,QAS9CtnB,KAAK8M,WAAY,EAQjB9M,KAAKgP,OAASA,EASdhP,KAAKiX,oBAAqB,EAS1BjX,KAAK6T,eASL7T,KAAKsb,QAAS,EAOdtb,KAAKqG,aAAe,EAOpBrG,KAAKkV,SAAU,GAAM,GAAM,GAAM,GAE5BlG,KAKAhP,KAAKgP,OAAOgb,UAAYhqB,KAAKgP,OAAOmJ,aAAenY,KAAKgP,OAAOpR,OAASoC,KAAKgP,OAAOnR,SAErFmC,KAAK8M,WAAY,EACjB9M,KAAKpC,MAAQoC,KAAKgP,OAAOib,cAAgBjqB,KAAKgP,OAAOpR,MACrDoC,KAAKnC,OAASmC,KAAKgP,OAAOkb,eAAiBlqB,KAAKgP,OAAOnR,OACvDmC,KAAKoR,SAYTpR,KAAKmN,YAAa,EAOlBnN,KAAK2b,WAAY,IAIrBnd,EAAKurB,YAAYznB,UAAUC,YAAc/D,EAAKurB,YAW9CvrB,EAAKurB,YAAYznB,UAAU6nB,YAAc,SAASvsB,EAAOC,GAErDmC,KAAK8M,WAAY,EACjB9M,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKoR,SAQT5S,EAAKurB,YAAYznB,UAAUE,QAAU,WAE7BxC,KAAKgP,QAELxN,OAAOsa,WAAWsO,eAAepqB,KAAKgP,QAG1ChP,KAAKgP,OAAS,KAEdhP,KAAKqqB,iBAQT7rB,EAAKurB,YAAYznB,UAAU8O,MAAQ,WAE/B,IAAK,IAAI1O,EAAI,EAAGA,EAAI1C,KAAK6T,YAAYlR,OAAQD,IAEzC1C,KAAKkV,OAAOxS,IAAK,GAUzBlE,EAAKurB,YAAYznB,UAAU+nB,cAAgB,WAEvCrqB,KAAKoR,QAGL,IAAK,IAAI1O,EAAI1C,KAAK6T,YAAYlR,OAAS,EAAGD,GAAK,EAAGA,IAClD,CACI,IAAI4nB,EAAYtqB,KAAK6T,YAAYnR,GAC7B/E,EAAKa,EAAK0X,WAAWxT,GAEtB/E,GAAM2sB,GAEL3sB,EAAG+pB,cAAc4C,GAKzBtqB,KAAK6T,YAAYlR,OAAS,EAE1B3C,KAAKoR,SAaT5S,EAAKurB,YAAYQ,WAAa,SAAS1T,EAAQ/Y,EAAW6G,GActD,OAZqB,IAAjBkS,EAAOjZ,QAEPiZ,EAAOjZ,MAAQ,GAGG,IAAlBiZ,EAAOhZ,SAEPgZ,EAAOhZ,OAAS,GAGpB8G,EAAaA,GAAc,EAEpB,IAAInG,EAAKurB,YAAYlT,EAAQ/Y,EAAW6G,IAcnDnG,EAAKgsB,mBAAoB,EAazBhsB,EAAK+N,QAAU,SAASpG,EAAa6G,EAAOO,EAAMQ,GAQ9C/N,KAAKyqB,SAAU,EAEVzd,IAEDhN,KAAKyqB,SAAU,EACfzd,EAAQ,IAAIxO,EAAKyD,UAAU,EAAE,EAAE,EAAE,IAGjCkE,aAAuB3H,EAAK+N,UAE5BpG,EAAcA,EAAYA,aAS9BnG,KAAKmG,YAAcA,EAQnBnG,KAAKgN,MAAQA,EAQbhN,KAAK+N,KAAOA,EAQZ/N,KAAKoN,OAAQ,EAQbpN,KAAK0qB,UAAW,EAQhB1qB,KAAK2qB,gBAAiB,EAQtB3qB,KAAKyO,gBAAiB,EAStBzO,KAAKojB,KAAO,KAQZpjB,KAAKpC,MAAQ,EAQboC,KAAKnC,OAAS,EASdmC,KAAKuN,KAAOA,GAAQ,IAAI/O,EAAKyD,UAAU,EAAG,EAAG,EAAG,GAUhDjC,KAAKqO,SAAU,EAEXlI,EAAY2G,YAER9M,KAAKyqB,UAASzd,EAAQ,IAAIxO,EAAKyD,UAAU,EAAG,EAAGkE,EAAYvI,MAAOuI,EAAYtI,SAClFmC,KAAK4qB,SAAS5d,KAKtBxO,EAAK+N,QAAQjK,UAAUC,YAAc/D,EAAK+N,QAQ1C/N,EAAK+N,QAAQjK,UAAUuoB,oBAAsB,WAEzC,IAAI1kB,EAAcnG,KAAKmG,YAEnBnG,KAAKyqB,UAELzqB,KAAKgN,MAAQ,IAAIxO,EAAKyD,UAAU,EAAG,EAAGkE,EAAYvI,MAAOuI,EAAYtI,SAGzEmC,KAAK4qB,SAAS5qB,KAAKgN,QASvBxO,EAAK+N,QAAQjK,UAAUE,QAAU,SAAS0K,GAElCA,GAAalN,KAAKmG,YAAY3D,UAElCxC,KAAKoN,OAAQ,GASjB5O,EAAK+N,QAAQjK,UAAUsoB,SAAW,SAAS5d,GAavC,GAXAhN,KAAKyqB,SAAU,EAEfzqB,KAAKgN,MAAQA,EACbhN,KAAKpC,MAAQoP,EAAMpP,MACnBoC,KAAKnC,OAASmP,EAAMnP,OAEpBmC,KAAKuN,KAAKzJ,EAAIkJ,EAAMlJ,EACpB9D,KAAKuN,KAAKxJ,EAAIiJ,EAAMjJ,EACpB/D,KAAKuN,KAAK3P,MAAQoP,EAAMpP,MACxBoC,KAAKuN,KAAK1P,OAASmP,EAAMnP,OAEpBmC,KAAK+N,QAASf,EAAMlJ,EAAIkJ,EAAMpP,MAAQoC,KAAKmG,YAAYvI,OAASoP,EAAMjJ,EAAIiJ,EAAMnP,OAASmC,KAAKmG,YAAYtI,QAW/GmC,KAAKoN,MAAQJ,GAASA,EAAMpP,OAASoP,EAAMnP,QAAUmC,KAAKmG,YAAY6I,QAAUhP,KAAKmG,YAAY2G,UAE7F9M,KAAK+N,OAEL/N,KAAKpC,MAAQoC,KAAK+N,KAAKnQ,MACvBoC,KAAKnC,OAASmC,KAAK+N,KAAKlQ,OACxBmC,KAAKgN,MAAMpP,MAAQoC,KAAK+N,KAAKnQ,MAC7BoC,KAAKgN,MAAMnP,OAASmC,KAAK+N,KAAKlQ,QAG9BmC,KAAKoN,OAAOpN,KAAK8qB,iBArBrB,CAEI,IAAKtsB,EAAKgsB,kBAEN,MAAM,IAAI7hB,MAAM,wEAA0E3I,MAG9FA,KAAKoN,OAAQ,IAwBrB5O,EAAK+N,QAAQjK,UAAUwoB,WAAa,WAE5B9qB,KAAKojB,OAAKpjB,KAAKojB,KAAO,IAAI5kB,EAAK0lB,YAEnC,IAAIlX,EAAQhN,KAAKuN,KACbwd,EAAK/qB,KAAKmG,YAAYvI,MACtBotB,EAAKhrB,KAAKmG,YAAYtI,OAE1BmC,KAAKojB,KAAKU,GAAK9W,EAAMlJ,EAAIinB,EACzB/qB,KAAKojB,KAAKW,GAAK/W,EAAMjJ,EAAIinB,EAEzBhrB,KAAKojB,KAAKpY,IAAMgC,EAAMlJ,EAAIkJ,EAAMpP,OAASmtB,EACzC/qB,KAAKojB,KAAKnY,GAAK+B,EAAMjJ,EAAIinB,EAEzBhrB,KAAKojB,KAAKlY,IAAM8B,EAAMlJ,EAAIkJ,EAAMpP,OAASmtB,EACzC/qB,KAAKojB,KAAKjY,IAAM6B,EAAMjJ,EAAIiJ,EAAMnP,QAAUmtB,EAE1ChrB,KAAKojB,KAAKhY,GAAK4B,EAAMlJ,EAAIinB,EACzB/qB,KAAKojB,KAAK/X,IAAM2B,EAAMjJ,EAAIiJ,EAAMnP,QAAUmtB,GAS9CxsB,EAAK+N,QAAQjK,UAAUuhB,mBAAqB,WAEnC7jB,KAAKojB,OAAQpjB,KAAKojB,KAAO,IAAI5kB,EAAK0lB,YAEvC,IAAIlX,EAAQhN,KAAKuN,KACbwd,EAAK/qB,KAAKmG,YAAYvI,MACtBotB,EAAKhrB,KAAKmG,YAAYtI,OAE1BmC,KAAKojB,KAAKU,GAAK9W,EAAMlJ,EAAIinB,EACzB/qB,KAAKojB,KAAKW,GAAK/W,EAAMjJ,EAAIinB,EAEzBhrB,KAAKojB,KAAKpY,IAAMgC,EAAMlJ,EAAIkJ,EAAMnP,QAAUktB,EAC1C/qB,KAAKojB,KAAKnY,GAAK+B,EAAMjJ,EAAIinB,EAEzBhrB,KAAKojB,KAAKlY,IAAM8B,EAAMlJ,EAAIkJ,EAAMnP,QAAUktB,EAC1C/qB,KAAKojB,KAAKjY,IAAM6B,EAAMjJ,EAAIiJ,EAAMpP,OAASotB,EAEzChrB,KAAKojB,KAAKhY,GAAK4B,EAAMlJ,EAAIinB,EACzB/qB,KAAKojB,KAAK/X,IAAM2B,EAAMjJ,EAAIiJ,EAAMpP,OAASotB,GAa7CxsB,EAAK+N,QAAQge,WAAa,SAAS1T,EAAQ/Y,GAEvC,IAAIqI,EAAc3H,EAAKurB,YAAYQ,WAAW1T,EAAQ/Y,GAEtD,OAAO,IAAIU,EAAK+N,QAAQpG,IAG5B3H,EAAK0lB,WAAa,WAEdlkB,KAAK8jB,GAAK,EACV9jB,KAAK+jB,GAAK,EAEV/jB,KAAKgL,GAAK,EACVhL,KAAKiL,GAAK,EAEVjL,KAAKkL,GAAK,EACVlL,KAAKmL,GAAK,EAEVnL,KAAKoL,GAAK,EACVpL,KAAKqL,GAAK,GAOa,oBAAZ4f,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAUzsB,GAE/BysB,QAAQzsB,KAAOA,GACU,oBAAX2sB,QAA0BA,OAAOC,IAC/CD,OAAO,OAA6BzqB,EAAKlC,KAAOA,GAEhDkC,EAAKlC,KAAOA,EAGTA,IACR+F,KAAKvE,MAOR,WAoxhBA,SAASqrB,EAAiBC,EAAaC,GAMnCvrB,KAAKwrB,aAAeF,EAMpBtrB,KAAKyrB,WAAaF,EAMlBvrB,KAAK0rB,cAAgB,KApyhBrB,IAAIhrB,EAAOV,KAWXwB,EAASA,IAOTmqB,QAAS,SAOTC,SAOAC,KAAM,EAON1C,OAAQ,EAOR5S,MAAO,EAOPuV,SAAU,EAOVC,YAAa,EAObC,KAAM,EAONC,KAAM,EAONC,MAAO,EAOPC,GAAI,EAOJC,KAAM,EAONC,OAAQ,EAORC,OAAQ,EAORC,MAAO,EAOPC,SAAU,EAOVC,KAAM,EAONC,WAAY,EAOZC,WAAY,EAOZC,MAAO,EAOPC,cAAe,EAOfC,QAAS,EAOTC,aAAc,GAOdC,QAAS,GAOTC,QAAS,GAOTC,WAAY,GAOZC,cAAe,GAOfC,aAAc,GAOdC,QAAS,GAOTC,YAAa,GAObC,UAAW,GAOXC,QAAS,GAOTC,KAAM,GAONC,OAAQ,GAORC,UAAW,GAOXC,KAAM,GAONC,OAAQ,GAORC,MAAO,GAOPC,iBAAkB,GAOlBC,SAAU,GAOVC,MAAO,GAOPC,eAAgB,EAOhBC,WAAY,EAOZC,SAAU,EAOVC,UAAW,EAOXC,SAAU,EAOVC,SAAU,IAOVC,WAAY,GAOZC,WAAY,IAOZC,YAAa,EAObC,iBAAkB,IAOlBC,iBAAkB,IAOlBC,iBAAkB,GAOlBC,iBAAkB,IAOlBC,SAAU,EAOVC,WAAY,EAOZC,UAAW,EAOXC,SAAU,EAOVC,YAAa,EAObC,YAAa,EAObC,OAAQ,EAORC,UAAW,EAOXC,aAAc,EAOdC,aAAc,EAOdC,YAAa,GAObC,cAAe,GAOfC,aAAc,GA2Bd7nB,YACIE,OAAQ,EACRoU,IAAK,EACLrU,SAAU,EACVyU,OAAQ,EACRC,QAAS,EACTC,OAAQ,EACRC,QAAS,EACTC,YAAa,EACbC,WAAY,EACZC,WAAY,EACZC,WAAY,GACZC,WAAY,GACZC,UAAW,GACXC,IAAK,GACLC,WAAY,GACZC,MAAO,GACPC,WAAY,IAehB5e,YACI6oB,QAAS,EACT5oB,OAAQ,EACRC,QAAS,GAGbH,KAAMA,SAGNwS,KAAM,GA6GV,GAnGKvN,KAAKmsB,QACNnsB,KAAKmsB,MAAQ,SAAe9rB,GACxB,OAAOA,EAAI,EAAIL,KAAKwC,KAAKnC,GAAKL,KAAKsL,MAAMjL,KAO5C+rB,SAASvtB,UAAUwtB,OAGpBD,SAASvtB,UAAUwtB,KAAO,WAEtB,IAAIC,EAAQ1oB,MAAM/E,UAAUytB,MAE5B,OAAO,SAAUC,GASb,SAASC,IACL,IAAIC,EAAOC,EAAUC,OAAOL,EAAMxrB,KAAK8rB,YACvCzoB,EAAOtC,MAAMtF,gBAAgBiwB,EAAQjwB,KAAOgwB,EAASE,GATzD,IAAItoB,EAAS5H,KAAMmwB,EAAYJ,EAAMxrB,KAAK8rB,UAAW,GAErD,GAAsB,mBAAXzoB,EAEP,MAAM,IAAI0oB,UAqBd,OAbAL,EAAM3tB,UAAY,SAAUiuB,EAAEC,GAM1B,GALIA,IAEAD,EAAEjuB,UAAYkuB,KAGZxwB,gBAAgBuwB,GAGlB,OAAO,IAAIA,EATD,CAWf3oB,EAAOtF,WAEH2tB,GA/BW,IAuCzB5oB,MAAMC,UAEPD,MAAMC,QAAU,SAAUmpB,GAEtB,MAA+C,mBAAxC7pB,OAAOtE,UAAUkmB,SAASjkB,KAAKksB,KAQzCppB,MAAM/E,UAAUouB,UAEjBrpB,MAAM/E,UAAUouB,QAAU,SAASC,GAE/B,aAEA,QAAa,IAAT3wB,MAA4B,OAATA,KAEnB,MAAM,IAAIswB,UAGd,IAAIM,EAAIhqB,OAAO5G,MACX6wB,EAAMD,EAAEjuB,SAAW,EAEvB,GAAmB,mBAARguB,EAEP,MAAM,IAAIL,UAKd,IAAK,IAFDN,EAAUK,UAAU1tB,QAAU,EAAI0tB,UAAU,QAAK,EAE5C3tB,EAAI,EAAGA,EAAImuB,EAAKnuB,IAEjBA,KAAKkuB,GAELD,EAAIpsB,KAAKyrB,EAASY,EAAEluB,GAAIA,EAAGkuB,KAWT,mBAAvB5gB,OAAOmS,aAA4D,iBAAvBnS,OAAOmS,YAC9D,CACI,IAAI2O,EAAa,SAAS1d,GAEtB,IAAIod,EAAQ,IAAInpB,MAEhB2I,OAAOoD,GAAQ,SAASqd,GAEpB,GAAoB,iBAAV,EACV,CACIppB,MAAM9C,KAAKvE,KAAMywB,GACjBzwB,KAAK2C,OAAS8tB,EAEd,IAAS/tB,EAAI,EAAGA,EAAI1C,KAAK2C,OAAQD,IAE7B1C,KAAK0C,GAAK,MAIlB,CACI2E,MAAM9C,KAAKvE,KAAMywB,EAAI9tB,QAErB3C,KAAK2C,OAAS8tB,EAAI9tB,OAElB,IAAK,IAAID,EAAI,EAAGA,EAAI1C,KAAK2C,OAAQD,IAE7B1C,KAAK0C,GAAK+tB,EAAI/tB,KAK1BsN,OAAOoD,GAAM9Q,UAAYkuB,EACzBxgB,OAAOoD,GAAM7Q,YAAcyN,OAAOoD,IAGtC0d,EAAW,gBACXA,EAAW,eACXA,EAAW,eACXA,EAAW,cACXA,EAAW,eAMV9gB,OAAO1P,UAER0P,OAAO1P,WACP0P,OAAO1P,QAAQ2P,IAAMD,OAAO1P,QAAQywB,OAAS,aAC7C/gB,OAAO1P,QAAQ0Z,KAAOhK,OAAO1P,QAAQywB,OAAS,cAO7CnqB,OAAOoqB,SAGRpqB,OAAOoqB,OAAS,SAASppB,EAAQqpB,GAE7B,aACA,GAAc,MAAVrpB,EACA,MAAM,IAAI0oB,UAAU,8CAMxB,IAAK,IAHDY,EAAKtqB,OAAOgB,GACZupB,EAASvqB,OAAOtE,UAAU8uB,eAErB5oB,EAAQ,EAAGA,EAAQ6nB,UAAU1tB,OAAQ6F,IAAS,CACnD,IAAI6oB,EAAahB,UAAU7nB,GAE3B,GAAkB,MAAd6oB,EACA,IAAK,IAAIC,KAAWD,EAEZF,EAAO5sB,KAAK8sB,EAAYC,KACxBJ,EAAGI,GAAWD,EAAWC,IAKzC,OAAOJ,IAcf1vB,EAAO+vB,OAUHC,cAAe,SAAUC,GAErB,OAAOA,EAAOC,MAAM,IAAIxT,UAAUxO,KAAK,KAY3CiiB,YAAa,SAASC,EAAKC,GAEvB,IAAIC,EAAQD,EAAKH,MAAM,KAEvB,OAAQI,EAAMnvB,QAEV,KAAK,EACD,OAAOivB,EAAIC,GACf,KAAK,EACD,OAAOD,EAAIE,EAAM,IAAIA,EAAM,IAC/B,KAAK,EACD,OAAOF,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IACzC,KAAK,EACD,OAAOF,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IACnD,QACI,OAAO9xB,KAAK+xB,aAAaH,EAAKC,KAqB1CG,cAAe,SAASJ,EAAKK,GAEzB,IAAK,IAAIJ,KAAQI,EAEbjyB,KAAKkyB,YAAYN,EAAKC,EAAMI,EAAMJ,IAGtC,OAAOD,GAkBXM,YAAa,SAASN,EAAKC,EAAM7qB,GAE7B,IAAI8qB,EAAQD,EAAKH,MAAM,KAEvB,OAAQI,EAAMnvB,QAEV,KAAK,EACDivB,EAAIC,GAAQ7qB,EACZ,MACJ,KAAK,EACD4qB,EAAIE,EAAM,IAAIA,EAAM,IAAM9qB,EAC1B,MACJ,KAAK,EACD4qB,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAM9qB,EACpC,MACJ,KAAK,EACD4qB,EAAIE,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAIA,EAAM,IAAM9qB,EAC9C,MACJ,QACIhH,KAAKmyB,aAAaP,EAAKC,EAAM7qB,KAazC+qB,aAAc,SAASH,EAAKC,GAOxB,IALA,IAAIC,EAAQD,EAAKH,MAAM,KACnBb,EAAMiB,EAAMnvB,OACZD,EAAI,EACJ0vB,EAAMR,EAEHlvB,EAAImuB,GACX,CACI,IAAIje,EAAMkf,EAAMpvB,GAEhB,GAAW,MAAP0vB,EAOA,OALAA,EAAMA,EAAIxf,GACVlQ,IAQR,OAAO0vB,GAcXD,aAAc,SAASP,EAAKC,EAAM7qB,GAE9B,IAAI8qB,EAAQD,EAAKH,MAAM,KACnBb,EAAMiB,EAAMnvB,OACZD,EAAI,EACJ2vB,EAAaT,EACbhf,EAAMkf,EAAM,GAEhB,GAAY,IAARjB,EAEAe,EAAIC,GAAQ7qB,MAGhB,CACI,KAAOtE,EAAKmuB,EAAM,GAEdwB,EAAaA,EAAWzf,GAExBA,EAAMkf,IADNpvB,GAIJ2vB,EAAWzf,GAAO5L,EAGtB,OAAO4qB,GAcXU,WAAY,SAAUC,GAElB,YADejsB,IAAXisB,IAAwBA,EAAS,IAC9BA,EAAS,GAAsB,IAAhB9uB,KAAK+uB,UAAkBD,GAWjDE,aAAc,SAAUC,EAASC,GAC7B,OAAQlvB,KAAK+uB,SAAW,GAAOE,EAAUC,GAW7CC,eAAgB,SAAUlR,EAAMmR,GAE5B,IAAIC,EAAI,EACJC,EAAK,EA4BT,MA1BoB,iBAATrR,EAGiB,MAApBA,EAAK+G,QAAQ,IAEbqK,EAAIE,SAAStR,EAAM,IAAM,IAIrBqR,EAFc,IAAdF,EAEK7iB,OAAOijB,WAAaH,EAIpB9iB,OAAOkjB,YAAcJ,GAK9BC,EAAKC,SAAStR,EAAM,IAKxBqR,EAAKrR,EAGFqR,GA+BXI,IAAK,SAAUC,EAAKvC,EAAKsC,EAAKE,GAE1B,QAAY/sB,IAARuqB,EAAqB,IAAIA,EAAM,EACnC,QAAYvqB,IAAR6sB,EAAqB,IAAIA,EAAM,IACnC,QAAY7sB,IAAR+sB,EAAqB,IAAIA,EAAM,EAInC,IAAIC,EAAS,EAEb,GAAIzC,EAAM,IAJVuC,EAAMA,EAAI5K,YAIS7lB,OAEf,OAAQ0wB,GAEJ,KAAK,EACDD,EAAM,IAAI/rB,MAAMwpB,EAAM,EAAIuC,EAAIzwB,QAAQ+M,KAAKyjB,GAAOC,EAClD,MAEJ,KAAK,EACD,IAAIG,EAAQ9vB,KAAKwC,MAAMqtB,EAASzC,EAAMuC,EAAIzwB,QAAU,GAChD6wB,EAAOF,EAASC,EACpBH,EAAM,IAAI/rB,MAAMmsB,EAAK,GAAG9jB,KAAKyjB,GAAOC,EAAM,IAAI/rB,MAAMksB,EAAM,GAAG7jB,KAAKyjB,GAClE,MAEJ,QACIC,GAAY,IAAI/rB,MAAMwpB,EAAM,EAAIuC,EAAIzwB,QAAQ+M,KAAKyjB,GAK7D,OAAOC,GAWXK,cAAe,SAAU7B,GAMrB,GAAoB,iBAAV,GAAsBA,EAAI8B,UAAY9B,IAAQA,EAAI5hB,OAExD,OAAO,EAOX,IACI,GAAI4hB,EAAIrvB,iBAAqB6uB,eAAe7sB,KAAKqtB,EAAIrvB,YAAYD,UAAW,iBAExE,OAAO,EAEb,MAAOgM,GACL,OAAO,EAKX,OAAO,GAWXqlB,OAAQ,WAEJ,IAAIC,EAAS/B,EAAMpiB,EAAKokB,EAAMC,EAAaC,EACvCnsB,EAASyoB,UAAU,OACnB3tB,EAAI,EACJC,EAAS0tB,UAAU1tB,OACnBqxB,GAAO,EAkBX,IAfsB,kBAAXpsB,IAEPosB,EAAOpsB,EACPA,EAASyoB,UAAU,OAEnB3tB,EAAI,GAIJC,IAAWD,IAEXkF,EAAS5H,OACP0C,GAGCA,EAAIC,EAAQD,IAGf,GAAgC,OAA3BkxB,EAAUvD,UAAU3tB,IAGrB,IAAKmvB,KAAQ+B,EAETnkB,EAAM7H,EAAOiqB,GAITjqB,KAHJisB,EAAOD,EAAQ/B,MASXmC,GAAQH,IAASryB,EAAO+vB,MAAMkC,cAAcI,KAAUC,EAAczsB,MAAMC,QAAQusB,MAE9EC,GAEAA,GAAc,EACdC,EAAQtkB,GAAOpI,MAAMC,QAAQmI,GAAOA,MAIpCskB,EAAQtkB,GAAOjO,EAAO+vB,MAAMkC,cAAchkB,GAAOA,KAIrD7H,EAAOiqB,GAAQrwB,EAAO+vB,MAAMoC,OAAOK,EAAMD,EAAOF,SAIlCvtB,IAATutB,IAELjsB,EAAOiqB,GAAQgC,IAO/B,OAAOjsB,GAgBXqsB,eAAgB,SAAUrsB,EAAQssB,EAAOC,QAErB7tB,IAAZ6tB,IAAyBA,GAAU,GAIvC,IAAK,IAFDC,EAAYxtB,OAAOytB,KAAKH,GAEnBxxB,EAAI,EAAGA,EAAI0xB,EAAUzxB,OAAQD,IACtC,CACI,IAAIkQ,EAAMwhB,EAAU1xB,GAChBsE,EAAQktB,EAAMthB,IAEbuhB,GAAYvhB,KAAOhL,KAOhBZ,GACsB,mBAAdA,EAAMF,KAA2C,mBAAdE,EAAMD,IAcjDa,EAAOgL,GAAO5L,EAXa,mBAAhBA,EAAM+sB,MAEbnsB,EAAOgL,GAAO5L,EAAM+sB,QAIpBntB,OAAOuF,eAAevE,EAAQgL,EAAK5L,MAqBvDktB,MAAO,SAAU1uB,EAAM0rB,GAEnB,IAAK1rB,GAA0B,iBAAX,EAEhB,OAAO0rB,EAGX,IAAK,IAAIte,KAAOpN,EAChB,CACI,IAAI8uB,EAAI9uB,EAAKoN,GAEb,IAAI0hB,EAAEC,aAAcD,EAAEE,UAAtB,CAKA,IAAIphB,SAAe5N,EAAKoN,GAEnBpN,EAAKoN,IAAiB,WAATQ,SAOF8d,EAAGte,KAAUQ,EAErB8d,EAAGte,GAAOpR,EAAO+vB,MAAM2C,MAAM1uB,EAAKoN,GAAMse,EAAGte,IAI3Cse,EAAGte,GAAOpR,EAAO+vB,MAAM2C,MAAM1uB,EAAKoN,GAAM,IAAI0hB,EAAE/xB,aAXlD2uB,EAAGte,GAAOpN,EAAKoN,IAgBvB,OAAOse,IAsBf1vB,EAAOizB,OAAS,SAAU3wB,EAAGC,EAAG2wB,GAE5B5wB,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT2wB,EAAWA,GAAY,EAKvB10B,KAAK8D,EAAIA,EAKT9D,KAAK+D,EAAIA,EAMT/D,KAAK20B,UAAYD,EAMjB10B,KAAK40B,QAAU,EAEXF,EAAW,IAEX10B,KAAK40B,QAAqB,GAAXF,GAOnB10B,KAAKoT,KAAO5R,EAAOksB,QAIvBlsB,EAAOizB,OAAOnyB,WAQVuyB,cAAe,WAEX,OAAYpxB,KAAKqxB,GAAK90B,KAAK40B,QAApB,GAYXpC,OAAQ,SAAUuC,QAEFzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1C,IAAI+vB,EAAI,EAAIntB,KAAKqxB,GAAKrxB,KAAK+uB,SACvBwC,EAAIvxB,KAAK+uB,SAAW/uB,KAAK+uB,SACzBvuB,EAAK+wB,EAAI,EAAK,EAAIA,EAAIA,EACtBlxB,EAAIG,EAAIR,KAAKI,IAAI+sB,GACjB7sB,EAAIE,EAAIR,KAAKG,IAAIgtB,GAKrB,OAHAmE,EAAIjxB,EAAI9D,KAAK8D,EAAKA,EAAI9D,KAAKi1B,OAC3BF,EAAIhxB,EAAI/D,KAAK+D,EAAKA,EAAI/D,KAAKi1B,OAEpBF,GAUXnrB,UAAW,WAEP,OAAO,IAAIpI,EAAOS,UAAUjC,KAAK8D,EAAI9D,KAAKi1B,OAAQj1B,KAAK+D,EAAI/D,KAAKi1B,OAAQj1B,KAAK00B,SAAU10B,KAAK00B,WAYhGQ,MAAO,SAAUpxB,EAAGC,EAAG2wB,GAOnB,OALA10B,KAAK8D,EAAIA,EACT9D,KAAK+D,EAAIA,EACT/D,KAAK20B,UAAYD,EACjB10B,KAAK40B,QAAqB,GAAXF,EAER10B,MAUXm1B,SAAU,SAAUnmB,GAEhB,OAAOhP,KAAKk1B,MAAMlmB,EAAOlL,EAAGkL,EAAOjL,EAAGiL,EAAO0lB,WAUjDU,OAAQ,SAAUC,GAMd,OAJAA,EAAKvxB,EAAI9D,KAAK8D,EACduxB,EAAKtxB,EAAI/D,KAAK+D,EACdsxB,EAAKX,SAAW10B,KAAK20B,UAEdU,GAYXC,SAAU,SAAUD,EAAME,GAEtB,IAAID,EAAW9zB,EAAOiC,KAAK6xB,SAASt1B,KAAK8D,EAAG9D,KAAK+D,EAAGsxB,EAAKvxB,EAAGuxB,EAAKtxB,GACjE,OAAOwxB,EAAQ9xB,KAAK8xB,MAAMD,GAAYA,GAU1CvB,MAAO,SAAUyB,GAWb,YATelvB,IAAXkvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIh0B,EAAOizB,OAAOz0B,KAAK8D,EAAG9D,KAAK+D,EAAG/D,KAAK00B,UAIhDc,EAAON,MAAMl1B,KAAK8D,EAAG9D,KAAK+D,EAAG/D,KAAK00B,UAG/Bc,GAWXxrB,SAAU,SAAUlG,EAAGC,GAEnB,OAAOvC,EAAOizB,OAAOzqB,SAAShK,KAAM8D,EAAGC,IAY3C0xB,mBAAoB,SAAUC,EAAOC,EAAWZ,GAE5C,OAAOvzB,EAAOizB,OAAOgB,mBAAmBz1B,KAAM01B,EAAOC,EAAWZ,IAmBpEa,OAAQ,SAAUC,EAAOC,EAAYC,EAAUJ,EAAWZ,GAEjDc,IAASA,EAAQ,IACJ,MAAdC,IAAsBA,EAAa,GACvB,MAAZC,IAAoBA,EAAWv0B,EAAOiC,KAAKC,KAC1CqxB,IAAOA,MAIZ,IAFA,IAAIryB,EAAI,EAEDA,EAAImzB,GAEP71B,KAAKy1B,mBACDj0B,EAAOiC,KAAKuyB,OAAOF,EAAYC,EAAUrzB,EAAImzB,GAC7CF,EACAZ,EAAIryB,KAAOqyB,EAAIryB,GAAK,IAAIlB,EAAOX,QAGnC6B,GAAK,EAGT,OAAOqyB,GAWX3d,OAAQ,SAAUtJ,EAAIE,GAKlB,OAHAhO,KAAK8D,GAAKgK,EACV9N,KAAK+D,GAAKiK,EAEHhO,MAUXi2B,YAAa,SAAUC,GACnB,OAAOl2B,KAAKoX,OAAO8e,EAAMpyB,EAAGoyB,EAAMnyB,IAQtCykB,SAAU,WACN,MAAO,sBAAwBxoB,KAAK8D,EAAI,MAAQ9D,KAAK+D,EAAI,aAAe/D,KAAK00B,SAAW,WAAa10B,KAAKi1B,OAAS,QAK3HzzB,EAAOizB,OAAOnyB,UAAUC,YAAcf,EAAOizB,OAQ7C7tB,OAAOuF,eAAe3K,EAAOizB,OAAOnyB,UAAW,YAE3CwE,IAAK,WACD,OAAO9G,KAAK20B,WAGhB5tB,IAAK,SAAUC,GAEPA,EAAQ,IAERhH,KAAK20B,UAAY3tB,EACjBhH,KAAK40B,QAAkB,GAAR5tB,MAW3BJ,OAAOuF,eAAe3K,EAAOizB,OAAOnyB,UAAW,UAE3CwE,IAAK,WACD,OAAO9G,KAAK40B,SAGhB7tB,IAAK,SAAUC,GAEPA,EAAQ,IAERhH,KAAK40B,QAAU5tB,EACfhH,KAAK20B,UAAoB,EAAR3tB,MAY7BJ,OAAOuF,eAAe3K,EAAOizB,OAAOnyB,UAAW,QAE3CwE,IAAK,WACD,OAAO9G,KAAK8D,EAAI9D,KAAK40B,SAGzB7tB,IAAK,SAAUC,GAEPA,EAAQhH,KAAK8D,GAEb9D,KAAK40B,QAAU,EACf50B,KAAK20B,UAAY,GAIjB30B,KAAKi1B,OAASj1B,KAAK8D,EAAIkD,KAYnCJ,OAAOuF,eAAe3K,EAAOizB,OAAOnyB,UAAW,SAE3CwE,IAAK,WACD,OAAO9G,KAAK8D,EAAI9D,KAAK40B,SAGzB7tB,IAAK,SAAUC,GAEPA,EAAQhH,KAAK8D,GAEb9D,KAAK40B,QAAU,EACf50B,KAAK20B,UAAY,GAIjB30B,KAAKi1B,OAASjuB,EAAQhH,KAAK8D,KAYvC8C,OAAOuF,eAAe3K,EAAOizB,OAAOnyB,UAAW,OAE3CwE,IAAK,WACD,OAAO9G,KAAK+D,EAAI/D,KAAK40B,SAGzB7tB,IAAK,SAAUC,GAEPA,EAAQhH,KAAK+D,GAEb/D,KAAK40B,QAAU,EACf50B,KAAK20B,UAAY,GAIjB30B,KAAKi1B,OAASj1B,KAAK+D,EAAIiD,KAYnCJ,OAAOuF,eAAe3K,EAAOizB,OAAOnyB,UAAW,UAE3CwE,IAAK,WACD,OAAO9G,KAAK+D,EAAI/D,KAAK40B,SAGzB7tB,IAAK,SAAUC,GAEPA,EAAQhH,KAAK+D,GAEb/D,KAAK40B,QAAU,EACf50B,KAAK20B,UAAY,GAIjB30B,KAAKi1B,OAASjuB,EAAQhH,KAAK+D,KAavC6C,OAAOuF,eAAe3K,EAAOizB,OAAOnyB,UAAW,QAE3CwE,IAAK,WAED,OAAI9G,KAAK40B,QAAU,EAERnxB,KAAKqxB,GAAK90B,KAAK40B,QAAU50B,KAAK40B,QAI9B,KAanBhuB,OAAOuF,eAAe3K,EAAOizB,OAAOnyB,UAAW,SAE3CwE,IAAK,WACD,OAA2B,IAAnB9G,KAAK20B,WAGjB5tB,IAAK,SAAUC,IAEG,IAAVA,GAEAhH,KAAKk1B,MAAM,EAAG,EAAG,MAe7B1zB,EAAOizB,OAAOzqB,SAAW,SAAU/G,EAAGa,EAAGC,GAGrC,OAAId,EAAEgyB,OAAS,GAAKnxB,GAAKb,EAAEuwB,MAAQ1vB,GAAKb,EAAEswB,OAASxvB,GAAKd,EAAEkzB,KAAOpyB,GAAKd,EAAEmzB,SAE1DnzB,EAAEa,EAAIA,IAAMb,EAAEa,EAAIA,IAClBb,EAAEc,EAAIA,IAAMd,EAAEc,EAAIA,IAEPd,EAAEgyB,OAAShyB,EAAEgyB,QAgB1CzzB,EAAOizB,OAAO4B,OAAS,SAAUpzB,EAAGC,GAEhC,OAAQD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAAKd,EAAEyxB,WAAaxxB,EAAEwxB,UAY3DlzB,EAAOizB,OAAO6B,WAAa,SAAUrzB,EAAGC,GAEpC,OAAQ1B,EAAOiC,KAAK6xB,SAASryB,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,IAAOd,EAAEgyB,OAAS/xB,EAAE+xB,QAatEzzB,EAAOizB,OAAOgB,mBAAqB,SAAUxyB,EAAGyyB,EAAOC,EAAWZ,GAa9D,YAXkBzuB,IAAdqvB,IAA2BA,GAAY,QAC/BrvB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,QAExB,IAAd80B,IAEAD,EAAQl0B,EAAOiC,KAAK8yB,SAASb,IAGjCX,EAAIjxB,EAAIb,EAAEa,EAAIb,EAAEgyB,OAASxxB,KAAKI,IAAI6xB,GAClCX,EAAIhxB,EAAId,EAAEc,EAAId,EAAEgyB,OAASxxB,KAAKG,IAAI8xB,GAE3BX,GAWXvzB,EAAOizB,OAAO+B,oBAAsB,SAAUrzB,EAAGc,GAE7C,IAAI4K,EAAKpL,KAAKgzB,IAAItzB,EAAEW,EAAIG,EAAEH,EAAIG,EAAEyyB,WAGhC,GAAI7nB,EAFQ5K,EAAEyyB,UAAYvzB,EAAE8xB,OAIxB,OAAO,EAGX,IAAInmB,EAAKrL,KAAKgzB,IAAItzB,EAAEY,EAAIE,EAAEF,EAAIE,EAAE0yB,YAGhC,GAAI7nB,EAFQ7K,EAAE0yB,WAAaxzB,EAAE8xB,OAIzB,OAAO,EAGX,GAAIpmB,GAAM5K,EAAEyyB,WAAa5nB,GAAM7K,EAAE0yB,WAE7B,OAAO,EAGX,IAAIC,EAAc/nB,EAAK5K,EAAEyyB,UACrBG,EAAc/nB,EAAK7K,EAAE0yB,WAKzB,OAJoBC,EAAcA,EACdC,EAAcA,GACZ1zB,EAAE8xB,OAAS9xB,EAAE8xB,QAcvCzzB,EAAOizB,OAAOqC,eAAiB,SAAU3zB,EAAG4zB,EAAGC,GAC3C,IAAI7S,EAAIhhB,EAAEW,EACNmzB,EAAI9zB,EAAEY,EACNmzB,GAAMH,EAAE/b,IAAIjX,EAAIgzB,EAAE/qB,MAAMjI,IAAMgzB,EAAE/b,IAAIlX,EAAIizB,EAAE/qB,MAAMlI,GAChDqzB,EAAIJ,EAAE/b,IAAIjX,EAAKmzB,EAAIH,EAAE/b,IAAIlX,EACzBb,EAAIE,EAAE8xB,OACN/xB,EAAIC,EAAE8xB,OACNmC,EAAMD,EAAID,EAAI/S,EAEdL,GAAMK,GAAKjhB,EAAIA,GAAKg0B,GAAKj0B,EAAIA,IAAMk0B,EAAIF,GAAKh0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMi0B,EAAIA,GAAMh0B,EAAIA,EAAMk0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUh0B,EAAIA,GAAMi0B,EAAIA,GAAMh0B,EAAIA,GAClK8H,GAAMmZ,GAAKjhB,EAAIA,GAAKg0B,GAAKj0B,EAAIA,IAAMk0B,EAAIF,GAAKh0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMi0B,EAAIA,GAAMh0B,EAAIA,EAAMk0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUh0B,EAAIA,GAAMi0B,EAAIA,GAAMh0B,EAAIA,GAElK6gB,EAAKmT,EAAIpT,EAAKqT,EACdlsB,EAAKisB,EAAIlsB,EAAKmsB,EACdE,EAAK,IAAI71B,EAAOX,MAAMijB,EAAIC,GAC1BuT,EAAK,IAAI91B,EAAOX,MAAMmK,EAAIC,GAC1BssB,EAAWR,EAAES,eAAeH,EAAGvzB,EAAGuzB,EAAGtzB,EAAG,KACxC0zB,EAAWV,EAAES,eAAeF,EAAGxzB,EAAGwzB,EAAGvzB,EAAG,KAE5C,OAAIwzB,GAAYE,GAELT,IAAgBK,EAAIC,GAEtBC,GAEEP,IAAgBK,GAElBI,GAEET,IAAgBM,KAIhBN,OAMfx4B,KAAKi2B,OAASjzB,EAAOizB,OAmBrBjzB,EAAOk2B,QAAU,SAAU5zB,EAAGC,EAAGnG,EAAOC,GAEpCiG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTnG,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBmC,KAAK8D,EAAIA,EAKT9D,KAAK+D,EAAIA,EAKT/D,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKoT,KAAO5R,EAAO6rB,SAIvB7rB,EAAOk2B,QAAQp1B,WAWX4yB,MAAO,SAAUpxB,EAAGC,EAAGnG,EAAOC,GAO1B,OALAmC,KAAK8D,EAAIA,EACT9D,KAAK+D,EAAIA,EACT/D,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MAUX4J,UAAW,WAEP,OAAO,IAAIpI,EAAOS,UAAUjC,KAAK8D,EAAI9D,KAAKpC,MAAOoC,KAAK+D,EAAI/D,KAAKnC,OAAQmC,KAAKpC,MAAOoC,KAAKnC,SAW5Fs3B,SAAU,SAAUnmB,GAEhB,OAAOhP,KAAKk1B,MAAMlmB,EAAOlL,EAAGkL,EAAOjL,EAAGiL,EAAOpR,MAAOoR,EAAOnR,SAU/Du3B,OAAQ,SAASC,GAOb,OALAA,EAAKvxB,EAAI9D,KAAK8D,EACduxB,EAAKtxB,EAAI/D,KAAK+D,EACdsxB,EAAKz3B,MAAQoC,KAAKpC,MAClBy3B,EAAKx3B,OAASmC,KAAKnC,OAEZw3B,GAUXtB,MAAO,SAASyB,GAWZ,YATelvB,IAAXkvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIh0B,EAAOk2B,QAAQ13B,KAAK8D,EAAG9D,KAAK+D,EAAG/D,KAAKpC,MAAOoC,KAAKnC,QAI7D23B,EAAON,MAAMl1B,KAAK8D,EAAG9D,KAAK+D,EAAG/D,KAAKpC,MAAOoC,KAAKnC,QAG3C23B,GAYXxrB,SAAU,SAAUlG,EAAGC,GAEnB,OAAOvC,EAAOk2B,QAAQ1tB,SAAShK,KAAM8D,EAAGC,IAY5CyuB,OAAQ,SAAUuC,QAEFzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1C,IAAIkC,EAAIU,KAAK+uB,SAAW/uB,KAAKqxB,GAAK,EAC9B7wB,EAAIR,KAAK+uB,SAQb,OANAuC,EAAIjxB,EAAIL,KAAKS,KAAKD,GAAKR,KAAKI,IAAId,GAChCgyB,EAAIhxB,EAAIN,KAAKS,KAAKD,GAAKR,KAAKG,IAAIb,GAEhCgyB,EAAIjxB,EAAI9D,KAAK8D,EAAKixB,EAAIjxB,EAAI9D,KAAKpC,MAAQ,EACvCm3B,EAAIhxB,EAAI/D,KAAK+D,EAAKgxB,EAAIhxB,EAAI/D,KAAKnC,OAAS,EAEjCk3B,GASXvM,SAAU,WACN,MAAO,uBAAyBxoB,KAAK8D,EAAI,MAAQ9D,KAAK+D,EAAI,UAAY/D,KAAKpC,MAAQ,WAAaoC,KAAKnC,OAAS,QAKtH2D,EAAOk2B,QAAQp1B,UAAUC,YAAcf,EAAOk2B,QAO9C9wB,OAAOuF,eAAe3K,EAAOk2B,QAAQp1B,UAAW,QAE5CwE,IAAK,WACD,OAAO9G,KAAK8D,GAGhBiD,IAAK,SAAUC,GAEXhH,KAAK8D,EAAIkD,KAWjBJ,OAAOuF,eAAe3K,EAAOk2B,QAAQp1B,UAAW,SAE5CwE,IAAK,WACD,OAAO9G,KAAK8D,EAAI9D,KAAKpC,OAGzBmJ,IAAK,SAAUC,GAEPA,EAAQhH,KAAK8D,EAEb9D,KAAKpC,MAAQ,EAIboC,KAAKpC,MAAQoJ,EAAQhH,KAAK8D,KAWtC8C,OAAOuF,eAAe3K,EAAOk2B,QAAQp1B,UAAW,OAE5CwE,IAAK,WACD,OAAO9G,KAAK+D,GAGhBgD,IAAK,SAAUC,GACXhH,KAAK+D,EAAIiD,KAUjBJ,OAAOuF,eAAe3K,EAAOk2B,QAAQp1B,UAAW,UAE5CwE,IAAK,WACD,OAAO9G,KAAK+D,EAAI/D,KAAKnC,QAGzBkJ,IAAK,SAAUC,GAEPA,EAAQhH,KAAK+D,EAEb/D,KAAKnC,OAAS,EAIdmC,KAAKnC,OAASmJ,EAAQhH,KAAK+D,KAYvC6C,OAAOuF,eAAe3K,EAAOk2B,QAAQp1B,UAAW,SAE5CwE,IAAK,WACD,OAAuB,IAAf9G,KAAKpC,OAA+B,IAAhBoC,KAAKnC,QAGrCkJ,IAAK,SAAUC,IAEG,IAAVA,GAEAhH,KAAKk1B,MAAM,EAAG,EAAG,EAAG,MAgBhC1zB,EAAOk2B,QAAQ1tB,SAAW,SAAU/G,EAAGa,EAAGC,GAEtC,GAAId,EAAErF,OAAS,GAAKqF,EAAEpF,QAAU,EAC5B,OAAO,EAIX,IAAI85B,GAAU7zB,EAAIb,EAAEa,GAAKb,EAAErF,MAAS,GAChCg6B,GAAU7zB,EAAId,EAAEc,GAAKd,EAAEpF,OAAU,GAKrC,OAHA85B,GAASA,EACTC,GAASA,EAEDD,EAAQC,EAAQ,KAY5Bp2B,EAAOk2B,QAAQZ,eAAiB,SAAUxoB,EAAGyoB,EAAGC,GAC5C,IAAI7S,EAAI7V,EAAExK,EACNmzB,EAAI3oB,EAAEvK,EACNmzB,GAAMH,EAAE/b,IAAIjX,EAAIgzB,EAAE/qB,MAAMjI,IAAMgzB,EAAE/b,IAAIlX,EAAIizB,EAAE/qB,MAAMlI,GAChDqzB,EAAIJ,EAAE/b,IAAIjX,EAAKmzB,EAAIH,EAAE/b,IAAIlX,EACzBb,EAAIqL,EAAE1Q,MAAQ,EACdsF,EAAIoL,EAAEzQ,OAAS,EACfu5B,EAAMD,EAAID,EAAI/S,EAEdL,GAAMK,GAAKjhB,EAAIA,GAAKg0B,GAAKj0B,EAAIA,IAAMk0B,EAAIF,GAAKh0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMi0B,EAAIA,GAAMh0B,EAAIA,EAAMk0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUh0B,EAAIA,GAAMi0B,EAAIA,GAAMh0B,EAAIA,GAClK8H,GAAMmZ,GAAKjhB,EAAIA,GAAKg0B,GAAKj0B,EAAIA,IAAMk0B,EAAIF,GAAKh0B,EAAIC,EAAKO,KAAKS,KAAMjB,EAAIA,GAAMi0B,EAAIA,GAAMh0B,EAAIA,EAAMk0B,EAAMA,EAAQH,EAAIA,EAAM,EAAIG,EAAMH,KAAUh0B,EAAIA,GAAMi0B,EAAIA,GAAMh0B,EAAIA,GAElK6gB,EAAKmT,EAAIpT,EAAKqT,EACdlsB,EAAKisB,EAAIlsB,EAAKmsB,EACdE,EAAK,IAAI71B,EAAOX,MAAMijB,EAAIC,GAC1BuT,EAAK,IAAI91B,EAAOX,MAAMmK,EAAIC,GAC1BssB,EAAWR,EAAES,eAAeH,EAAGvzB,EAAGuzB,EAAGtzB,EAAG,KACxC0zB,EAAWV,EAAES,eAAeF,EAAGxzB,EAAGwzB,EAAGvzB,EAAG,KAE5C,OAAIwzB,GAAYE,GAELT,IAAgBK,EAAIC,GAEtBC,GAEEP,IAAgBK,GAElBI,GAEET,IAAgBM,KAIhBN,OAMfx4B,KAAKk5B,QAAUl2B,EAAOk2B,QAkBtBl2B,EAAOq2B,KAAO,SAAU7sB,EAAIC,EAAIC,EAAIC,GAEhCH,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAKXnL,KAAKgM,MAAQ,IAAIxK,EAAOX,MAAMmK,EAAIC,GAKlCjL,KAAKgb,IAAM,IAAIxZ,EAAOX,MAAMqK,EAAIC,GAMhCnL,KAAKoT,KAAO5R,EAAOosB,MAIvBpsB,EAAOq2B,KAAKv1B,WAYR4yB,MAAO,SAAUlqB,EAAIC,EAAIC,EAAIC,GAKzB,OAHAnL,KAAKgM,MAAMkpB,MAAMlqB,EAAIC,GACrBjL,KAAKgb,IAAIka,MAAMhqB,EAAIC,GAEZnL,MAWX83B,WAAY,SAAU9rB,EAAOgP,GAIzB,OAFAhb,KAAKk1B,MAAMlpB,EAAMlI,EAAGkI,EAAMjI,EAAGiX,EAAIlX,EAAGkX,EAAIjX,GAEjC/D,MAcX+3B,WAAY,SAAUC,EAAaC,EAAWC,GAI1C,YAFkB5xB,IAAd4xB,IAA2BA,GAAY,GAEvCA,EAEOl4B,KAAKk1B,MAAM8C,EAAYG,QAASH,EAAYI,QAASH,EAAUE,QAASF,EAAUG,SAGtFp4B,KAAK83B,WAAWE,EAAaC,IAcxCI,UAAW,SAAUv0B,EAAGC,EAAG2xB,EAAO/yB,GAK9B,OAHA3C,KAAKgM,MAAMkpB,MAAMpxB,EAAGC,GACpB/D,KAAKgb,IAAIka,MAAMpxB,EAAKL,KAAKI,IAAI6xB,GAAS/yB,EAASoB,EAAKN,KAAKG,IAAI8xB,GAAS/yB,GAE/D3C,MAiBXs4B,OAAQ,SAAU5C,EAAOC,GAErB,IAAI9mB,GAAM7O,KAAKgM,MAAMlI,EAAI9D,KAAKgb,IAAIlX,GAAK,EACnCgL,GAAM9O,KAAKgM,MAAMjI,EAAI/D,KAAKgb,IAAIjX,GAAK,EAKvC,OAHA/D,KAAKgM,MAAMssB,OAAOzpB,EAAIC,EAAI4mB,EAAOC,GACjC31B,KAAKgb,IAAIsd,OAAOzpB,EAAIC,EAAI4mB,EAAOC,GAExB31B,MAgBXu4B,aAAc,SAAUz0B,EAAGC,EAAG2xB,EAAOC,GAKjC,OAHA31B,KAAKgM,MAAMssB,OAAOx0B,EAAGC,EAAG2xB,EAAOC,GAC/B31B,KAAKgb,IAAIsd,OAAOx0B,EAAGC,EAAG2xB,EAAOC,GAEtB31B,MAeXs2B,WAAY,SAAUkC,EAAMC,EAAWC,GAEnC,OAAOl3B,EAAOq2B,KAAKc,iBAAiB34B,KAAKgM,MAAOhM,KAAKgb,IAAKwd,EAAKxsB,MAAOwsB,EAAKxd,IAAKyd,EAAWC,IAY/FE,QAAS,SAAUJ,GAEf,OAAOh3B,EAAOq2B,KAAKe,QAAQ54B,KAAMw4B,IAWrCK,SAAU,SAAU9D,GAOhB,YALYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1Ck0B,EAAIjxB,GAAK9D,KAAKgM,MAAMlI,EAAI9D,KAAKgb,IAAIlX,GAAK,EACtCixB,EAAIhxB,GAAK/D,KAAKgM,MAAMjI,EAAI/D,KAAKgb,IAAIjX,GAAK,EAE/BgxB,GAeX+D,SAAU,SAAUh1B,EAAGC,GAEnB,IAGIV,EAAKS,GAHC9D,KAAKgM,MAAMlI,EAAI9D,KAAKgb,IAAIlX,GAAK,EAInCR,EAAKS,GAHC/D,KAAKgM,MAAMjI,EAAI/D,KAAKgb,IAAIjX,GAAK,EAKvC/D,KAAKgM,MAAM+sB,IAAI11B,EAAIC,GACnBtD,KAAKgb,IAAI+d,IAAI11B,EAAIC,IAarB01B,YAAa,SAAUl1B,EAAGC,EAAGk1B,GAEzB,OAAOz3B,EAAOiC,KAAKy1B,YAAYp1B,EAAI9D,KAAKgM,MAAMlI,IAAM9D,KAAKgb,IAAIjX,EAAI/D,KAAKgM,MAAMjI,IAAK/D,KAAKgb,IAAIlX,EAAI9D,KAAKgM,MAAMlI,IAAMC,EAAI/D,KAAKgM,MAAMjI,GAAIk1B,GAAW,IAajJzB,eAAgB,SAAU1zB,EAAGC,EAAGk1B,GAE5B,IAAIE,EAAO11B,KAAK21B,IAAIp5B,KAAKgM,MAAMlI,EAAG9D,KAAKgb,IAAIlX,GACvCu1B,EAAO51B,KAAKuC,IAAIhG,KAAKgM,MAAMlI,EAAG9D,KAAKgb,IAAIlX,GACvCw1B,EAAO71B,KAAK21B,IAAIp5B,KAAKgM,MAAMjI,EAAG/D,KAAKgb,IAAIjX,GACvCw1B,EAAO91B,KAAKuC,IAAIhG,KAAKgM,MAAMjI,EAAG/D,KAAKgb,IAAIjX,GAE3C,OAAQ/D,KAAKg5B,YAAYl1B,EAAGC,EAAGk1B,IAAan1B,GAAKq1B,GAAQr1B,GAAKu1B,GAAUt1B,GAAKu1B,GAAQv1B,GAAKw1B,GAY9F/G,OAAQ,SAAUuC,QAEFzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1C,IAAI+vB,EAAIntB,KAAK+uB,SAKb,OAHAuC,EAAIjxB,EAAI9D,KAAKgM,MAAMlI,EAAI8sB,GAAK5wB,KAAKgb,IAAIlX,EAAI9D,KAAKgM,MAAMlI,GACpDixB,EAAIhxB,EAAI/D,KAAKgM,MAAMjI,EAAI6sB,GAAK5wB,KAAKgb,IAAIjX,EAAI/D,KAAKgM,MAAMjI,GAE7CgxB,GAaXyE,kBAAmB,SAAUC,EAAUC,QAElBpzB,IAAbmzB,IAA0BA,EAAW,QACzBnzB,IAAZozB,IAAyBA,MAE7B,IAAI1uB,EAAKvH,KAAK8xB,MAAMv1B,KAAKgM,MAAMlI,GAC3BmH,EAAKxH,KAAK8xB,MAAMv1B,KAAKgM,MAAMjI,GAC3BmH,EAAKzH,KAAK8xB,MAAMv1B,KAAKgb,IAAIlX,GACzBqH,EAAK1H,KAAK8xB,MAAMv1B,KAAKgb,IAAIjX,GAEzB+J,EAAKrK,KAAKgzB,IAAIvrB,EAAKF,GACnBgD,EAAKvK,KAAKgzB,IAAItrB,EAAKF,GACnB0uB,EAAM3uB,EAAKE,EAAM,GAAK,EACtB0uB,EAAM3uB,EAAKE,EAAM,GAAK,EACtB0uB,EAAM/rB,EAAKE,EAEf0rB,EAAQhyB,MAAMsD,EAAIC,IAIlB,IAFA,IAAIvI,EAAI,EAEEsI,IAAOE,GAAQD,IAAOE,GAChC,CACI,IAAI2uB,EAAKD,GAAO,EAEZC,GAAM9rB,IAEN6rB,GAAO7rB,EACPhD,GAAM2uB,GAGNG,EAAKhsB,IAEL+rB,GAAO/rB,EACP7C,GAAM2uB,GAGNl3B,EAAI+2B,GAAa,GAEjBC,EAAQhyB,MAAMsD,EAAIC,IAGtBvI,IAIJ,OAAOg3B,GAUX3F,MAAO,SAAUyB,GAWb,YATelvB,IAAXkvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIh0B,EAAOq2B,KAAK73B,KAAKgM,MAAMlI,EAAG9D,KAAKgM,MAAMjI,EAAG/D,KAAKgb,IAAIlX,EAAG9D,KAAKgb,IAAIjX,GAI1EyxB,EAAON,MAAMl1B,KAAKgM,MAAMlI,EAAG9D,KAAKgM,MAAMjI,EAAG/D,KAAKgb,IAAIlX,EAAG9D,KAAKgb,IAAIjX,GAG3DyxB,IAWf5uB,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,UAEzCwE,IAAK,WACD,OAAOrD,KAAKS,MAAMlE,KAAKgb,IAAIlX,EAAI9D,KAAKgM,MAAMlI,IAAM9D,KAAKgb,IAAIlX,EAAI9D,KAAKgM,MAAMlI,IAAM9D,KAAKgb,IAAIjX,EAAI/D,KAAKgM,MAAMjI,IAAM/D,KAAKgb,IAAIjX,EAAI/D,KAAKgM,MAAMjI,OAU5I6C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,SAEzCwE,IAAK,WACD,OAAOtF,EAAOX,MAAM60B,MAAM11B,KAAKgb,IAAKhb,KAAKgM,UAUjDpF,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,SAEzCwE,IAAK,WACD,OAAQ9G,KAAKgb,IAAIjX,EAAI/D,KAAKgM,MAAMjI,IAAM/D,KAAKgb,IAAIlX,EAAI9D,KAAKgM,MAAMlI,MAUtE8C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,aAEzCwE,IAAK,WACD,QAAU9G,KAAKgb,IAAIlX,EAAI9D,KAAKgM,MAAMlI,IAAM9D,KAAKgb,IAAIjX,EAAI/D,KAAKgM,MAAMjI,MAUxE6C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,KAEzCwE,IAAK,WACD,OAAOrD,KAAK21B,IAAIp5B,KAAKgM,MAAMlI,EAAG9D,KAAKgb,IAAIlX,MAU/C8C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,KAEzCwE,IAAK,WACD,OAAOrD,KAAK21B,IAAIp5B,KAAKgM,MAAMjI,EAAG/D,KAAKgb,IAAIjX,MAU/C6C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,QAEzCwE,IAAK,WACD,OAAOrD,KAAK21B,IAAIp5B,KAAKgM,MAAMlI,EAAG9D,KAAKgb,IAAIlX,MAU/C8C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,SAEzCwE,IAAK,WACD,OAAOrD,KAAKuC,IAAIhG,KAAKgM,MAAMlI,EAAG9D,KAAKgb,IAAIlX,MAU/C8C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,OAEzCwE,IAAK,WACD,OAAOrD,KAAK21B,IAAIp5B,KAAKgM,MAAMjI,EAAG/D,KAAKgb,IAAIjX,MAU/C6C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,UAEzCwE,IAAK,WACD,OAAOrD,KAAKuC,IAAIhG,KAAKgM,MAAMjI,EAAG/D,KAAKgb,IAAIjX,MAU/C6C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,SAEzCwE,IAAK,WACD,OAAOrD,KAAKgzB,IAAIz2B,KAAKgM,MAAMlI,EAAI9D,KAAKgb,IAAIlX,MAUhD8C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,UAEzCwE,IAAK,WACD,OAAOrD,KAAKgzB,IAAIz2B,KAAKgM,MAAMjI,EAAI/D,KAAKgb,IAAIjX,MAUhD6C,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,WAEzCwE,IAAK,WACD,OAAOrD,KAAKI,IAAI7D,KAAK01B,MAAQ,uBAUrC9uB,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,WAEzCwE,IAAK,WACD,OAAOrD,KAAKG,IAAI5D,KAAK01B,MAAQ,uBAUrC9uB,OAAOuF,eAAe3K,EAAOq2B,KAAKv1B,UAAW,eAEzCwE,IAAK,WACD,OAAOtF,EAAOiC,KAAKs2B,KAAK/5B,KAAK01B,MAAQ,oBAAqBjyB,KAAKqxB,GAAIrxB,KAAKqxB,OAoBhFtzB,EAAOq2B,KAAKc,iBAAmB,SAAU11B,EAAGC,EAAGoL,EAAGwkB,EAAG2F,EAAWC,QAE1CpyB,IAAdmyB,IAA2BA,GAAY,QAC5BnyB,IAAXoyB,IAAwBA,EAAS,IAAIl3B,EAAOX,OAEhD,IAAIm5B,EAAK92B,EAAEa,EAAId,EAAEc,EACbk2B,EAAKnH,EAAE/uB,EAAIuK,EAAEvK,EACbm2B,EAAKj3B,EAAEa,EAAIZ,EAAEY,EACbq2B,EAAK7rB,EAAExK,EAAIgvB,EAAEhvB,EACbs2B,EAAMl3B,EAAEY,EAAIb,EAAEc,EAAMd,EAAEa,EAAIZ,EAAEa,EAC5Bs2B,EAAMvH,EAAEhvB,EAAIwK,EAAEvK,EAAMuK,EAAExK,EAAIgvB,EAAE/uB,EAC5Bu2B,EAASN,EAAKG,EAAOF,EAAKC,EAE9B,GAAc,IAAVI,EAEA,OAAO,KAMX,GAHA5B,EAAO50B,GAAMo2B,EAAKG,EAAOF,EAAKC,GAAOE,EACrC5B,EAAO30B,GAAMk2B,EAAKG,EAAOJ,EAAKK,GAAOC,EAEjC7B,EACJ,CACI,IAAI8B,GAAOzH,EAAE/uB,EAAIuK,EAAEvK,IAAMb,EAAEY,EAAIb,EAAEa,IAAMgvB,EAAEhvB,EAAIwK,EAAExK,IAAMZ,EAAEa,EAAId,EAAEc,GACzDy2B,IAAQ1H,EAAEhvB,EAAIwK,EAAExK,IAAMb,EAAEc,EAAIuK,EAAEvK,IAAO+uB,EAAE/uB,EAAIuK,EAAEvK,IAAMd,EAAEa,EAAIwK,EAAExK,IAAMy2B,EACjEE,IAAQv3B,EAAEY,EAAIb,EAAEa,IAAMb,EAAEc,EAAIuK,EAAEvK,IAAQb,EAAEa,EAAId,EAAEc,IAAMd,EAAEa,EAAIwK,EAAExK,IAAOy2B,EAEvE,OAAIC,GAAM,GAAKA,GAAM,GAAKC,GAAM,GAAKA,GAAM,EAEhC/B,EAIA,KAIf,OAAOA,GAkBXl3B,EAAOq2B,KAAKvB,WAAa,SAAUrzB,EAAGC,EAAGu1B,EAAWC,GAEhD,OAAOl3B,EAAOq2B,KAAKc,iBAAiB11B,EAAE+I,MAAO/I,EAAE+X,IAAK9X,EAAE8I,MAAO9I,EAAE8X,IAAKyd,EAAWC,IAsBnFl3B,EAAOq2B,KAAKrB,oBAAsB,SAAUgC,EAAMkC,GAG9C,GAAoB,IAAhBlC,EAAK71B,QAAgB+3B,EAAKC,MAE1B,OAAO,EAGX,IAAI3vB,EAAKwtB,EAAKxsB,MAAMlI,EAChBmH,EAAKutB,EAAKxsB,MAAMjI,EAEhBmH,EAAKstB,EAAKxd,IAAIlX,EACdqH,EAAKqtB,EAAKxd,IAAIjX,EAEd62B,EAAMF,EAAK52B,EACX+2B,EAAMH,EAAK32B,EACX+2B,EAAMJ,EAAKnH,MACXwH,EAAML,EAAKtE,OAEXxF,EAAI,EAKR,GAAK5lB,GAAM4vB,GAAO5vB,GAAM8vB,GAAO7vB,GAAM4vB,GAAO5vB,GAAM8vB,GAC7C7vB,GAAM0vB,GAAO1vB,GAAM4vB,GAAO3vB,GAAM0vB,GAAO1vB,GAAM4vB,EAE9C,OAAO,EAGX,GAAI/vB,EAAK4vB,GAAO1vB,GAAM0vB,GAKlB,IAFAhK,EAAI3lB,GAAME,EAAKF,IAAO2vB,EAAM5vB,IAAOE,EAAKF,IAEhC6vB,GAAOjK,GAAKmK,EAEhB,OAAO,OAGV,GAAI/vB,EAAK8vB,GAAO5vB,GAAM4vB,IAGvBlK,EAAI3lB,GAAME,EAAKF,IAAO6vB,EAAM9vB,IAAOE,EAAKF,KAE/B6vB,GAAOjK,GAAKmK,EAEjB,OAAO,EAIf,GAAI9vB,EAAK4vB,GAAO1vB,GAAM0vB,GAKlB,IAFAjK,EAAI5lB,GAAME,EAAKF,IAAO6vB,EAAM5vB,IAAOE,EAAKF,KAE/B2vB,GAAOhK,GAAKkK,EAEjB,OAAO,OAGV,GAAI7vB,EAAK8vB,GAAO5vB,GAAM4vB,IAGvBnK,EAAI5lB,GAAME,EAAKF,IAAO+vB,EAAM9vB,IAAOE,EAAKF,KAE/B2vB,GAAOhK,GAAKkK,EAEjB,OAAO,EAIf,OAAO,GAcXt5B,EAAOq2B,KAAKmD,0BAA4B,SAAUxC,EAAMkC,EAAMhC,GAE1D,IAAIuC,EAAOz5B,EAAOq2B,KAAKmD,0BAElBtC,IAEDA,EAAS,IAAIl3B,EAAOX,OAGnBo6B,EAAKC,QAEND,EAAKC,OAAS,IAAI15B,EAAOq2B,KAAQ,IAAIr2B,EAAOq2B,KAAQ,IAAIr2B,EAAOq2B,KAAQ,IAAIr2B,EAAOq2B,OAGjFoD,EAAKE,mBAENF,EAAKE,iBAAmB,IAAI35B,EAAOX,OAGvC,IAAIq6B,EAAQD,EAAKC,MACbC,EAAmBF,EAAKE,iBAAiBp0B,IAAI,GAE7C6zB,EAAMF,EAAK52B,EACX+2B,EAAMH,EAAK32B,EACX+2B,EAAMJ,EAAKnH,MACXwH,EAAML,EAAKtE,OACXgF,EAAkB7wB,EAAAA,EAEtB2wB,EAAM,GAAGhG,MAAM0F,EAAKC,EAAKC,EAAKD,GAC9BK,EAAM,GAAGhG,MAAM0F,EAAKG,EAAKD,EAAKC,GAC9BG,EAAM,GAAGhG,MAAM0F,EAAKC,EAAKD,EAAKG,GAC9BG,EAAM,GAAGhG,MAAM4F,EAAKD,EAAKC,EAAKC,GAE9B,IAAK,IAAIM,EAAM34B,EAAI,EAAI24B,EAAOH,EAAMx4B,GAAKA,IAErC,GAAI81B,EAAKlC,WAAW+E,GAAM,EAAMF,GAChC,CACI,IAAI7F,EAAWkD,EAAKxsB,MAAMspB,SAAS6F,GAE/B7F,EAAW8F,IAEXA,EAAkB9F,EAClBoD,EAAOvD,SAASgG,IAK5B,OAAgB,MAAZ7F,EAEOoD,EAGJ,MAaXl3B,EAAOq2B,KAAKe,QAAU,SAAU31B,EAAGC,GAE/B,OAAO,EAAIA,EAAEo4B,YAAc,kBAAoBr4B,EAAEyyB,OA6BrDl0B,EAAOC,OAAS,SAAUwB,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,QAE5BgD,IAANrD,GAAyB,OAANA,IAAcA,EAAI,QAC/BqD,IAANpD,GAAyB,OAANA,IAAcA,EAAI,QAC/BoD,IAANnD,GAAyB,OAANA,IAAcA,EAAI,QAC/BmD,IAANlD,GAAyB,OAANA,IAAcA,EAAI,QAC9BkD,IAAPjD,GAA2B,OAAPA,IAAeA,EAAK,QACjCiD,IAAPhD,GAA2B,OAAPA,IAAeA,EAAK,GAM5CtD,KAAKiD,EAAIA,EAMTjD,KAAKkD,EAAIA,EAMTlD,KAAKmD,EAAIA,EAMTnD,KAAKoD,EAAIA,EAMTpD,KAAKqD,GAAKA,EAMVrD,KAAKsD,GAAKA,EAMVtD,KAAKoT,KAAO5R,EAAOqsB,QAIvBrsB,EAAOC,OAAOa,WAkBVi5B,UAAW,SAAUC,GAEjB,OAAOx7B,KAAKk1B,MAAMsG,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAgB9EtG,MAAO,SAAUjyB,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,GAS7B,OAPAtD,KAAKiD,EAAIA,EACTjD,KAAKkD,EAAIA,EACTlD,KAAKmD,EAAIA,EACTnD,KAAKoD,EAAIA,EACTpD,KAAKqD,GAAKA,EACVrD,KAAKsD,GAAKA,EAEHtD,MAaX+zB,MAAO,SAAUyB,GAgBb,YAdelvB,IAAXkvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIh0B,EAAOC,OAAOzB,KAAKiD,EAAGjD,KAAKkD,EAAGlD,KAAKmD,EAAGnD,KAAKoD,EAAGpD,KAAKqD,GAAIrD,KAAKsD,KAIzEkyB,EAAOvyB,EAAIjD,KAAKiD,EAChBuyB,EAAOtyB,EAAIlD,KAAKkD,EAChBsyB,EAAOryB,EAAInD,KAAKmD,EAChBqyB,EAAOpyB,EAAIpD,KAAKoD,EAChBoyB,EAAOnyB,GAAKrD,KAAKqD,GACjBmyB,EAAOlyB,GAAKtD,KAAKsD,IAGdkyB,GAWXJ,OAAQ,SAAU/nB,GAId,OAFAA,EAAO8nB,SAASn1B,MAETqN,GAWX8nB,SAAU,SAAU9nB,GAShB,OAPArN,KAAKiD,EAAIoK,EAAOpK,EAChBjD,KAAKkD,EAAImK,EAAOnK,EAChBlD,KAAKmD,EAAIkK,EAAOlK,EAChBnD,KAAKoD,EAAIiK,EAAOjK,EAChBpD,KAAKqD,GAAKgK,EAAOhK,GACjBrD,KAAKsD,GAAK+J,EAAO/J,GAEVtD,MAYX4f,QAAS,SAAU7K,EAAWymB,GA6B1B,YA3Bcl1B,IAAVk1B,IAAuBA,EAAQ,IAAIvZ,aAAa,IAEhDlN,GAEAymB,EAAM,GAAKx7B,KAAKiD,EAChBu4B,EAAM,GAAKx7B,KAAKkD,EAChBs4B,EAAM,GAAK,EACXA,EAAM,GAAKx7B,KAAKmD,EAChBq4B,EAAM,GAAKx7B,KAAKoD,EAChBo4B,EAAM,GAAK,EACXA,EAAM,GAAKx7B,KAAKqD,GAChBm4B,EAAM,GAAKx7B,KAAKsD,GAChBk4B,EAAM,GAAK,IAIXA,EAAM,GAAKx7B,KAAKiD,EAChBu4B,EAAM,GAAKx7B,KAAKmD,EAChBq4B,EAAM,GAAKx7B,KAAKqD,GAChBm4B,EAAM,GAAKx7B,KAAKkD,EAChBs4B,EAAM,GAAKx7B,KAAKoD,EAChBo4B,EAAM,GAAKx7B,KAAKsD,GAChBk4B,EAAM,GAAK,EACXA,EAAM,GAAK,EACXA,EAAM,GAAK,GAGRA,GAcXl2B,MAAO,SAAUm2B,EAAKC,GAOlB,YALep1B,IAAXo1B,IAAwBA,EAAS,IAAIl6B,EAAOX,OAEhD66B,EAAO53B,EAAI9D,KAAKiD,EAAIw4B,EAAI33B,EAAI9D,KAAKmD,EAAIs4B,EAAI13B,EAAI/D,KAAKqD,GAClDq4B,EAAO33B,EAAI/D,KAAKkD,EAAIu4B,EAAI33B,EAAI9D,KAAKoD,EAAIq4B,EAAI13B,EAAI/D,KAAKsD,GAE3Co4B,GAcXj2B,aAAc,SAAUg2B,EAAKC,QAEVp1B,IAAXo1B,IAAwBA,EAAS,IAAIl6B,EAAOX,OAEhD,IAAIiT,EAAK,GAAK9T,KAAKiD,EAAIjD,KAAKoD,EAAIpD,KAAKmD,GAAKnD,KAAKkD,GAC3CY,EAAI23B,EAAI33B,EACRC,EAAI03B,EAAI13B,EAKZ,OAHA23B,EAAO53B,EAAI9D,KAAKoD,EAAI0Q,EAAKhQ,GAAK9D,KAAKmD,EAAI2Q,EAAK/P,GAAK/D,KAAKsD,GAAKtD,KAAKmD,EAAInD,KAAKqD,GAAKrD,KAAKoD,GAAK0Q,EACxF4nB,EAAO33B,EAAI/D,KAAKiD,EAAI6Q,EAAK/P,GAAK/D,KAAKkD,EAAI4Q,EAAKhQ,IAAM9D,KAAKsD,GAAKtD,KAAKiD,EAAIjD,KAAKqD,GAAKrD,KAAKkD,GAAK4Q,EAElF4nB,GAaXC,UAAW,SAAU73B,EAAGC,GAKpB,OAHA/D,KAAKqD,IAAMS,EACX9D,KAAKsD,IAAMS,EAEJ/D,MAYXc,MAAO,SAAUgD,EAAGC,GAShB,OAPA/D,KAAKiD,GAAKa,EACV9D,KAAKoD,GAAKW,EACV/D,KAAKmD,GAAKW,EACV9D,KAAKkD,GAAKa,EACV/D,KAAKqD,IAAMS,EACX9D,KAAKsD,IAAMS,EAEJ/D,MAWXs4B,OAAQ,SAAU5C,GAEd,IAAI7xB,EAAMJ,KAAKI,IAAI6xB,GACf9xB,EAAMH,KAAKG,IAAI8xB,GAEfsE,EAAKh6B,KAAKiD,EACVm3B,EAAKp6B,KAAKmD,EACVy4B,EAAM57B,KAAKqD,GASf,OAPArD,KAAKiD,EAAI+2B,EAAKn2B,EAAI7D,KAAKkD,EAAIU,EAC3B5D,KAAKkD,EAAI82B,EAAKp2B,EAAI5D,KAAKkD,EAAIW,EAC3B7D,KAAKmD,EAAIi3B,EAAKv2B,EAAI7D,KAAKoD,EAAIQ,EAC3B5D,KAAKoD,EAAIg3B,EAAKx2B,EAAI5D,KAAKoD,EAAIS,EAC3B7D,KAAKqD,GAAKu4B,EAAM/3B,EAAM7D,KAAKsD,GAAKM,EAChC5D,KAAKsD,GAAKs4B,EAAMh4B,EAAM5D,KAAKsD,GAAKO,EAEzB7D,MAWX67B,OAAQ,SAAUxuB,GAEd,IAAI2sB,EAAKh6B,KAAKiD,EACVi3B,EAAKl6B,KAAKkD,EACVk3B,EAAKp6B,KAAKmD,EACV24B,EAAK97B,KAAKoD,EAUd,OARApD,KAAKiD,EAAKoK,EAAOpK,EAAI+2B,EAAK3sB,EAAOnK,EAAIk3B,EACrCp6B,KAAKkD,EAAKmK,EAAOpK,EAAIi3B,EAAK7sB,EAAOnK,EAAI44B,EACrC97B,KAAKmD,EAAKkK,EAAOlK,EAAI62B,EAAK3sB,EAAOjK,EAAIg3B,EACrCp6B,KAAKoD,EAAKiK,EAAOlK,EAAI+2B,EAAK7sB,EAAOjK,EAAI04B,EAErC97B,KAAKqD,GAAKgK,EAAOhK,GAAK22B,EAAK3sB,EAAO/J,GAAK82B,EAAKp6B,KAAKqD,GACjDrD,KAAKsD,GAAK+J,EAAOhK,GAAK62B,EAAK7sB,EAAO/J,GAAKw4B,EAAK97B,KAAKsD,GAE1CtD,MAUX+7B,SAAU,WAEN,OAAO/7B,KAAKk1B,MAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAMzC1zB,EAAO0I,eAAiB,IAAI1I,EAAOC,OAmBnCD,EAAOX,MAAQ,SAAUiD,EAAGC,GAExBD,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAKT/D,KAAK8D,EAAIA,EAKT9D,KAAK+D,EAAIA,EAMT/D,KAAKoT,KAAO5R,EAAOssB,OAIvBtsB,EAAOX,MAAMyB,WAST6yB,SAAU,SAAUnmB,GAEhB,OAAOhP,KAAKk1B,MAAMlmB,EAAOlL,EAAGkL,EAAOjL,IAUvCi4B,OAAQ,WAEJ,OAAOh8B,KAAKk1B,MAAMl1B,KAAK+D,EAAG/D,KAAK8D,IAgBnCoxB,MAAO,SAAUpxB,EAAGC,GAEhB,OAAOvC,EAAOX,MAAMkG,IAAI/G,KAAM8D,EAAGC,IAgBrCgD,IAAK,SAAUjD,EAAGC,GAEd,OAAOvC,EAAOX,MAAMkG,IAAI/G,KAAM8D,EAAGC,IAarCk4B,WAAY,SAASC,EAASjH,EAAQU,GAKpC,OAHc,MAAVV,IAAkBA,EAAS,GAC3BU,IAAauG,EAAU16B,EAAOiC,KAAK8yB,SAAS2F,IAEzCl8B,KAAKk1B,MAAMzxB,KAAKI,IAAIq4B,GAAWjH,EAAQxxB,KAAKG,IAAIs4B,GAAWjH,IAYpE8D,IAAK,SAAUj1B,EAAGC,GAId,OAFA/D,KAAK8D,GAAKA,EACV9D,KAAK+D,GAAKA,EACH/D,MAYXm8B,SAAU,SAAUr4B,EAAGC,GAInB,OAFA/D,KAAK8D,GAAKA,EACV9D,KAAK+D,GAAKA,EACH/D,MAYXo8B,SAAU,SAAUt4B,EAAGC,GAInB,OAFA/D,KAAK8D,GAAKA,EACV9D,KAAK+D,GAAKA,EACH/D,MAYXq8B,OAAQ,SAAUv4B,EAAGC,GAIjB,OAFA/D,KAAK8D,GAAKA,EACV9D,KAAK+D,GAAKA,EACH/D,MAYXs8B,OAAQ,SAAUlD,EAAKpzB,GAGnB,OADAhG,KAAK8D,EAAItC,EAAOiC,KAAK84B,MAAMv8B,KAAK8D,EAAGs1B,EAAKpzB,GACjChG,MAYXw8B,OAAQ,SAAUpD,EAAKpzB,GAGnB,OADAhG,KAAK+D,EAAIvC,EAAOiC,KAAK84B,MAAMv8B,KAAK+D,EAAGq1B,EAAKpzB,GACjChG,MAYXu8B,MAAO,SAAUnD,EAAKpzB,GAIlB,OAFAhG,KAAK8D,EAAItC,EAAOiC,KAAK84B,MAAMv8B,KAAK8D,EAAGs1B,EAAKpzB,GACxChG,KAAK+D,EAAIvC,EAAOiC,KAAK84B,MAAMv8B,KAAK+D,EAAGq1B,EAAKpzB,GACjChG,MAWXmoB,KAAM,SAAUuS,GAEZ,IAAIlH,EAAOkH,EAAKlH,KAAM2C,EAAMuE,EAAKvE,IAAK5C,EAAQmH,EAAKnH,MAAO6C,EAASsE,EAAKtE,OAOxE,OALSp2B,KAAK8D,EAAI0vB,EAAUxzB,KAAK8D,EAAI0vB,EAC5BxzB,KAAK8D,EAAIyvB,IAAUvzB,KAAK8D,EAAIyvB,GAC5BvzB,KAAK+D,EAAIoyB,EAAUn2B,KAAK+D,EAAIoyB,EAC5Bn2B,KAAK+D,EAAIqyB,IAAUp2B,KAAK+D,EAAIqyB,GAE9Bp2B,MAWX+zB,MAAO,SAAUyB,GAWb,YATelvB,IAAXkvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIh0B,EAAOX,MAAMb,KAAK8D,EAAG9D,KAAK+D,GAIvCyxB,EAAON,MAAMl1B,KAAK8D,EAAG9D,KAAK+D,GAGvByxB,GAWXJ,OAAQ,SAAUC,GAKd,OAHAA,EAAKvxB,EAAI9D,KAAK8D,EACduxB,EAAKtxB,EAAI/D,KAAK+D,EAEPsxB,GAYXC,SAAU,SAAUD,EAAME,GAEtB,OAAO/zB,EAAOX,MAAMy0B,SAASt1B,KAAMq1B,EAAME,IAW7Cc,OAAQ,SAAUpzB,GAEd,OAAOA,EAAEa,IAAM9D,KAAK8D,GAAKb,EAAEc,IAAM/D,KAAK+D,GAY1C04B,SAAU,SAAU34B,EAAGC,GAEnB,OAAO/D,KAAK8D,IAAMA,GAAK9D,KAAK+D,IAAMA,GAItC24B,YAAa,SAAUz5B,EAAGg2B,GAEtB,OAAOz3B,EAAOX,MAAM67B,YAAY18B,KAAMiD,EAAGg2B,IAI7C0D,cAAe,SAAU74B,EAAGC,EAAGk1B,GAE3B,OAAOz3B,EAAOX,MAAM87B,cAAc38B,KAAM8D,EAAGC,EAAGk1B,IAYlDvD,MAAO,SAAUzyB,EAAG0yB,GAEhB,OAAO31B,KAAK48B,QAAQ35B,EAAEa,EAAGb,EAAEc,EAAG4xB,IAalCiH,QAAS,SAAU94B,EAAGC,EAAG4xB,GAErB,IAAID,EAAQjyB,KAAKo5B,MAAM94B,EAAI/D,KAAK+D,EAAGD,EAAI9D,KAAK8D,GAE5C,OAAI6xB,EAEOn0B,EAAOiC,KAAKq5B,SAASpH,GAIrBA,GAYfqH,KAAM,SAAUpH,GAEZ,IAAID,EAAQjyB,KAAKo5B,MAAM78B,KAAK+D,EAAG/D,KAAK8D,GAEpC,OAAI6xB,EAEOn0B,EAAOiC,KAAKq5B,SAASpH,GAIrBA,GAgBf4C,OAAQ,SAAUx0B,EAAGC,EAAG2xB,EAAOC,EAAWL,GAEtC,OAAO9zB,EAAOX,MAAMy3B,OAAOt4B,KAAM8D,EAAGC,EAAG2xB,EAAOC,EAAWL,IAU7D0H,aAAc,WAEV,OAAOv5B,KAAKS,KAAMlE,KAAK8D,EAAI9D,KAAK8D,EAAM9D,KAAK+D,EAAI/D,KAAK+D,IAUxDk5B,eAAgB,WAEZ,OAAQj9B,KAAK8D,EAAI9D,KAAK8D,EAAM9D,KAAK+D,EAAI/D,KAAK+D,GAW9Cm5B,aAAc,SAAUC,GAEpB,OAAOn9B,KAAKo9B,YAAYhB,SAASe,EAAWA,IAUhDC,UAAW,WAEP,IAAKp9B,KAAKq9B,SACV,CACI,IAAInG,EAAIl3B,KAAKg9B,eACbh9B,KAAK8D,GAAKozB,EACVl3B,KAAK+D,GAAKmzB,EAGd,OAAOl3B,MAYXs9B,MAAO,SAAUt3B,GAOb,OALIhG,KAAKi9B,iBAAmBj3B,EAAMA,GAE9BhG,KAAKk9B,aAAal3B,GAGfhG,MAYXu9B,OAAQ,SAAUnE,GAOd,OALIp5B,KAAKi9B,iBAAmB7D,EAAMA,GAE9Bp5B,KAAKk9B,aAAa9D,GAGfp5B,MAUXq9B,OAAQ,WAEJ,OAAmB,IAAXr9B,KAAK8D,GAAsB,IAAX9D,KAAK+D,GAWjCy5B,IAAK,SAAUv6B,GAEX,OAASjD,KAAK8D,EAAIb,EAAEa,EAAM9D,KAAK+D,EAAId,EAAEc,GAWzC05B,MAAO,SAAUx6B,GAEb,OAASjD,KAAK8D,EAAIb,EAAEc,EAAM/D,KAAK+D,EAAId,EAAEa,GAUzC45B,KAAM,WAEF,OAAO19B,KAAKk1B,OAAOl1B,KAAK+D,EAAG/D,KAAK8D,IAUpC65B,MAAO,WAEH,OAAO39B,KAAKk1B,MAAMl1B,KAAK+D,GAAI/D,KAAK8D,IAUpC85B,gBAAiB,WAEb,OAAO59B,KAAKk1B,OAAgB,EAAVl1B,KAAK+D,EAAQ/D,KAAK8D,IAUxCiL,MAAO,WAEH,OAAO/O,KAAKk1B,MAAMzxB,KAAKsL,MAAM/O,KAAK8D,GAAIL,KAAKsL,MAAM/O,KAAK+D,KAU1DkC,KAAM,WAEF,OAAOjG,KAAKk1B,MAAMzxB,KAAKwC,KAAKjG,KAAK8D,GAAIL,KAAKwC,KAAKjG,KAAK+D,KAUxDwxB,MAAO,WAEH,OAAOv1B,KAAKk1B,MAAMzxB,KAAK8xB,MAAMv1B,KAAK8D,GAAIL,KAAK8xB,MAAMv1B,KAAK+D,KAU1DykB,SAAU,WAEN,MAAO,cAAgBxoB,KAAK8D,EAAI,MAAQ9D,KAAK+D,EAAI,QAMzDvC,EAAOX,MAAMyB,UAAUC,YAAcf,EAAOX,MAW5CW,EAAOX,MAAMk4B,IAAM,SAAU91B,EAAGC,EAAG6xB,GAO/B,YALYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1Ck0B,EAAIjxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBixB,EAAIhxB,EAAId,EAAEc,EAAIb,EAAEa,EAETgxB,GAaXvzB,EAAOX,MAAMs7B,SAAW,SAAUl5B,EAAGC,EAAG6xB,GAOpC,YALYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1Ck0B,EAAIjxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBixB,EAAIhxB,EAAId,EAAEc,EAAIb,EAAEa,EAETgxB,GAaXvzB,EAAOX,MAAMu7B,SAAW,SAAUn5B,EAAGC,EAAG6xB,GAOpC,YALYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1Ck0B,EAAIjxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBixB,EAAIhxB,EAAId,EAAEc,EAAIb,EAAEa,EAETgxB,GAaXvzB,EAAOX,MAAMw7B,OAAS,SAAUp5B,EAAGC,EAAG6xB,GAOlC,YALYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1Ck0B,EAAIjxB,EAAIb,EAAEa,EAAIZ,EAAEY,EAChBixB,EAAIhxB,EAAId,EAAEc,EAAIb,EAAEa,EAETgxB,GAYXvzB,EAAOX,MAAMw1B,OAAS,SAAUpzB,EAAGC,GAE/B,OAAOD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAIpCvC,EAAOX,MAAM47B,SAAW,SAAUx5B,EAAGa,EAAGC,GAEpC,OAAOd,EAAEa,IAAMA,GAAKb,EAAEc,IAAMA,GAIhCvC,EAAOX,MAAM67B,YAAc,SAAUz5B,EAAGC,EAAG+1B,GAEvC,OAAOz3B,EAAOiC,KAAKi5B,YAAYz5B,EAAEa,EAAGZ,EAAEY,EAAGm1B,IAClCz3B,EAAOiC,KAAKi5B,YAAYz5B,EAAEc,EAAGb,EAAEa,EAAGk1B,IAI7Cz3B,EAAOX,MAAM87B,cAAgB,SAAU15B,EAAGa,EAAGC,EAAGk1B,GAE5C,OAAOz3B,EAAOiC,KAAKi5B,YAAYz5B,EAAEa,EAAGA,EAAGm1B,IAChCz3B,EAAOiC,KAAKi5B,YAAYz5B,EAAEc,EAAGA,EAAGk1B,IAY3Cz3B,EAAOX,MAAM60B,MAAQ,SAAUzyB,EAAGC,GAE9B,OAAOO,KAAKo5B,MAAM55B,EAAEc,EAAIb,EAAEa,EAAGd,EAAEa,EAAIZ,EAAEY,IAYzCtC,EAAOX,MAAMg9B,SAAW,SAAU56B,EAAG8xB,GAIjC,YAFYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAEnCk0B,EAAIG,OAAOjyB,EAAEa,GAAIb,EAAEc,IAc9BvC,EAAOX,MAAMi9B,YAAc,SAAU76B,EAAGC,EAAGkB,EAAG2wB,GAI1C,YAFYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAEnCk0B,EAAIG,MAAMjyB,EAAEa,EAAIZ,EAAEY,EAAIM,EAAGnB,EAAEc,EAAIb,EAAEa,EAAIK,IAchD5C,EAAOX,MAAMk9B,YAAc,SAAU96B,EAAGC,EAAG4vB,EAAGiC,GAI1C,YAFYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAEnCk0B,EAAIG,MAAMjyB,EAAEa,GAAKZ,EAAEY,EAAIb,EAAEa,GAAKgvB,EAAG7vB,EAAEc,GAAKb,EAAEa,EAAId,EAAEc,GAAK+uB,IAYhEtxB,EAAOX,MAAM68B,KAAO,SAAUz6B,EAAG8xB,GAI7B,YAFYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAEnCk0B,EAAIG,OAAOjyB,EAAEc,EAAGd,EAAEa,IAY7BtC,EAAOX,MAAM88B,MAAQ,SAAU16B,EAAG8xB,GAI9B,YAFYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAEnCk0B,EAAIG,MAAMjyB,EAAEc,GAAId,EAAEa,IAa7BtC,EAAOX,MAAMy0B,SAAW,SAAUryB,EAAGC,EAAGqyB,GAEpC,IAAID,EAAW9zB,EAAOiC,KAAK6xB,SAASryB,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,GACrD,OAAOwxB,EAAQ9xB,KAAK8xB,MAAMD,GAAYA,GAa1C9zB,EAAOX,MAAMm9B,QAAU,SAAU/6B,EAAGC,EAAG6xB,QAEvBzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1C,IAAIo9B,EAAMh7B,EAAEu6B,IAAIt6B,GAAKA,EAAE+5B,iBAOvB,OALY,IAARgB,GAEAlJ,EAAIG,MAAM+I,EAAM/6B,EAAEY,EAAGm6B,EAAM/6B,EAAEa,GAG1BgxB,GAaXvzB,EAAOX,MAAMq9B,YAAc,SAAUj7B,EAAGC,EAAG6xB,QAE3BzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1C,IAAIo9B,EAAMh7B,EAAEu6B,IAAIt6B,GAOhB,OALY,IAAR+6B,GAEAlJ,EAAIG,MAAM+I,EAAM/6B,EAAEY,EAAGm6B,EAAM/6B,EAAEa,GAG1BgxB,GAYXvzB,EAAOX,MAAM+8B,gBAAkB,SAAU36B,EAAG8xB,GAIxC,YAFYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAEnCk0B,EAAIG,OAAa,EAAPjyB,EAAEc,EAAQd,EAAEa,IAYjCtC,EAAOX,MAAMu8B,UAAY,SAAUn6B,EAAG8xB,QAEtBzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1C,IAAIq2B,EAAIj0B,EAAE+5B,eAOV,OALU,IAAN9F,GAEAnC,EAAIG,MAAMjyB,EAAEa,EAAIozB,EAAGj0B,EAAEc,EAAImzB,GAGtBnC,GAqBXvzB,EAAOX,MAAMy3B,OAAS,SAAUr1B,EAAGa,EAAGC,EAAG2xB,EAAOC,EAAWL,GAIvD,GAFIK,IAAaD,EAAQl0B,EAAOiC,KAAK8yB,SAASb,SAE7BpvB,IAAbgvB,EACJ,CACIryB,EAAEk5B,SAASr4B,EAAGC,GAEd,IAAIK,EAAIX,KAAKG,IAAI8xB,GACbvyB,EAAIM,KAAKI,IAAI6xB,GAEbryB,EAAKF,EAAIF,EAAEa,EAAIM,EAAInB,EAAEc,EACrBT,EAAKc,EAAInB,EAAEa,EAAIX,EAAIF,EAAEc,EAEzBd,EAAEa,EAAIT,EAAKS,EACXb,EAAEc,EAAIT,EAAKS,MAGf,CACI,IAAI6sB,EAAI8E,EAAQjyB,KAAKo5B,MAAM55B,EAAEc,EAAIA,EAAGd,EAAEa,EAAIA,GAC1Cb,EAAEa,EAAIA,EAAIwxB,EAAW7xB,KAAKI,IAAI+sB,GAC9B3tB,EAAEc,EAAIA,EAAIuxB,EAAW7xB,KAAKG,IAAIgtB,GAGlC,OAAO3tB,GAYXzB,EAAOX,MAAMs9B,SAAW,SAAUC,EAAQrJ,GAItC,QAFYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAEK,mBAA3C+F,OAAOtE,UAAUkmB,SAASjkB,KAAK65B,GAE/B,MAAM,IAAIz1B,MAAM,qDAGpB,IAAI01B,EAAeD,EAAOz7B,OAE1B,GAAI07B,EAAe,EAEf,MAAM,IAAI11B,MAAM,4DAGpB,GAAqB,IAAjB01B,EAGA,OADAtJ,EAAII,SAASiJ,EAAO,IACbrJ,EAGX,IAAK,IAAIryB,EAAI,EAAGA,EAAI27B,EAAc37B,IAE9BlB,EAAOX,MAAMk4B,IAAIhE,EAAKqJ,EAAO17B,GAAIqyB,GAKrC,OAFAA,EAAIsH,OAAOgC,EAAcA,GAElBtJ,GAeXvzB,EAAOX,MAAMy9B,MAAQ,SAAS1M,EAAK2M,EAAOC,GAEtCD,EAAQA,GAAS,IACjBC,EAAQA,GAAS,IAEjB,IAAItI,EAAQ,IAAI10B,EAAOX,MAYvB,OAVI+wB,EAAI2M,KAEJrI,EAAMpyB,EAAIkvB,SAASpB,EAAI2M,GAAQ,KAG/B3M,EAAI4M,KAEJtI,EAAMnyB,EAAIivB,SAASpB,EAAI4M,GAAQ,KAG5BtI,GAWX10B,EAAOX,MAAM49B,QAAU,SAAS7M,GAE5B,OAAe,MAAPA,GAAkC,iBAAVA,EAAI9tB,GAAqC,iBAAV8tB,EAAI7tB,GAcvEvC,EAAOX,MAAMkG,IAAM,SAAS6qB,EAAK9tB,EAAGC,GAKhC,OAHA6tB,EAAI9tB,EAAIA,GAAK,EACb8tB,EAAI7tB,EAAIA,IAAc,IAANA,EAAW6tB,EAAI9tB,EAAI,GAE5B8tB,GAkBXpwB,EAAOX,MAAM69B,cAAgB,SAASN,EAAQO,GAIrCA,IAEDA,EAAS3+B,KAAKm+B,SAASC,IAG3B,IAAIvvB,EAAK8vB,EAAO76B,EACZgL,EAAK6vB,EAAO56B,EA4ChB,OAAOq6B,EAAOQ,KA1CH,SAAS37B,EAAGC,GACnB,GAAID,EAAEa,EAAI+K,GAAM,GAAK3L,EAAEY,EAAI+K,EAAK,EAE5B,OAAQ,EAGZ,GAAI5L,EAAEa,EAAI+K,EAAK,GAAK3L,EAAEY,EAAI+K,GAAM,EAE5B,OAAO,EAGX,GAAI5L,EAAEa,EAAI+K,GAAO,GAAK3L,EAAEY,EAAI+K,GAAO,EAE/B,OAAI5L,EAAEc,EAAI+K,GAAM,GAAK5L,EAAEa,EAAI+K,GAAM,EAErB7L,EAAEc,EAAIb,EAAEa,EAAK,GAAK,EAGtBb,EAAEa,EAAId,EAAEc,EAAK,GAAK,EAI9B,IAAI86B,GAAO57B,EAAEa,EAAI+K,KAAQ3L,EAAEa,EAAI+K,IAAO5L,EAAEY,EAAI+K,KAAQ5L,EAAEc,EAAI+K,GAE1D,OAAI+vB,EAAM,GAEE,EAGRA,EAAM,EAEC,GAKD57B,EAAEa,EAAI+K,IAAO5L,EAAEa,EAAI+K,IAAO5L,EAAEc,EAAI+K,IAAO7L,EAAEc,EAAI+K,IAC7C5L,EAAEY,EAAI+K,IAAO3L,EAAEY,EAAI+K,IAAO3L,EAAEa,EAAI+K,IAAO5L,EAAEa,EAAI+K,IAEnC,EAAI,KAShCtQ,KAAKqC,MAAQW,EAAOX,MAyBpBW,EAAOs9B,QAAU,WAKb9+B,KAAK++B,KAAO,EAMZ/+B,KAAKg/B,WAED3O,UAAU1tB,OAAS,GAEnB3C,KAAKk1B,MAAM5vB,MAAMtF,KAAMqwB,WAM3BrwB,KAAKi/B,QAAS,EAKdj/B,KAAKk/B,WAAY,EAKjBl/B,KAAKoT,KAAO5R,EAAOyrB,SAIvBzrB,EAAOs9B,QAAQx8B,WASX68B,cAAe,SAAU3J,QAENlvB,IAAXkvB,IAAwBA,MAE5B,IAAK,IAAI9yB,EAAI,EAAGA,EAAI1C,KAAKg/B,QAAQr8B,OAAQD,IAEN,iBAApB1C,KAAKg/B,QAAQt8B,IAEpB8yB,EAAO9tB,KAAK1H,KAAKg/B,QAAQt8B,IACzB8yB,EAAO9tB,KAAK1H,KAAKg/B,QAAQt8B,EAAI,IAC7BA,MAIA8yB,EAAO9tB,KAAK1H,KAAKg/B,QAAQt8B,GAAGoB,GAC5B0xB,EAAO9tB,KAAK1H,KAAKg/B,QAAQt8B,GAAGqB,IAIpC,OAAOyxB,GAYX4J,QAAS,WAML,OAJAp/B,KAAKg/B,QAAUh/B,KAAKm/B,gBAEpBn/B,KAAKk/B,WAAY,EAEVl/B,MAYX+zB,MAAO,SAAUyB,GAEb,IAAI4I,EAASp+B,KAAKg/B,QAAQjP,QAW1B,YATezpB,IAAXkvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIh0B,EAAOs9B,QAAQV,GAI5B5I,EAAON,MAAMkJ,GAGV5I,GAYXxrB,SAAU,SAAUlG,EAAGC,GAInB,IAAIs7B,GAAS,EAEb,GAAIr/B,KAAKk/B,UAEL,IAAK,IAAIx8B,GAAK,EAAG+E,EAAIzH,KAAKg/B,QAAQr8B,OAAS,GAAID,GAAK,GAAK1C,KAAKg/B,QAAQr8B,OAAQ8E,EAAI/E,EAClF,CACI,IAAI48B,EAAKt/B,KAAKg/B,QAAQt8B,GAClB68B,EAAKv/B,KAAKg/B,QAAQt8B,EAAI,GAEtB88B,EAAKx/B,KAAKg/B,QAAQv3B,GAClBg4B,EAAKz/B,KAAKg/B,QAAQv3B,EAAI,IAEpB83B,GAAMx7B,GAAKA,EAAI07B,GAAQA,GAAM17B,GAAKA,EAAIw7B,IAASz7B,GAAK07B,EAAKF,IAAOv7B,EAAIw7B,IAAOE,EAAKF,GAAMD,IAExFD,GAAUA,QAOlB,IAAK,IAAI38B,GAAK,EAAG+E,EAAIzH,KAAKg/B,QAAQr8B,OAAS,IAAKD,EAAI1C,KAAKg/B,QAAQr8B,OAAQ8E,EAAI/E,EAC7E,CACI,IAAI48B,EAAKt/B,KAAKg/B,QAAQt8B,GAAGoB,EACrBy7B,EAAKv/B,KAAKg/B,QAAQt8B,GAAGqB,EAErBy7B,EAAKx/B,KAAKg/B,QAAQv3B,GAAG3D,EACrB27B,EAAKz/B,KAAKg/B,QAAQv3B,GAAG1D,GAEnBw7B,GAAMx7B,GAAKA,EAAI07B,GAAQA,GAAM17B,GAAKA,EAAIw7B,IAASz7B,GAAK07B,EAAKF,IAAOv7B,EAAIw7B,IAAOE,EAAKF,GAAMD,IAExFD,GAAUA,GAKtB,OAAOA,GAuBXnK,MAAO,SAAUkJ,GAKb,GAHAp+B,KAAK++B,KAAO,EACZ/+B,KAAKg/B,WAED3O,UAAU1tB,OAAS,EACvB,CAES0E,MAAMC,QAAQ82B,KAEfA,EAAS/2B,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,YAMxC,IAAK,IAHDtM,EAAK2b,OAAOC,UAGPj9B,EAAI,EAAGmuB,EAAMuN,EAAOz7B,OAAQD,EAAImuB,EAAKnuB,IAC9C,CACI,GAAyB,iBAAd07B,EAAO17B,GAClB,CACQK,EAAI,IAAIvE,KAAKqC,MAAMu9B,EAAO17B,GAAI07B,EAAO17B,EAAI,IAC7CA,SAEC,GAAI2E,MAAMC,QAAQ82B,EAAO17B,IAEtBK,EAAI,IAAIvE,KAAKqC,MAAMu9B,EAAO17B,GAAG,GAAI07B,EAAO17B,GAAG,SAI/C,IAAIK,EAAI,IAAIvE,KAAKqC,MAAMu9B,EAAO17B,GAAGoB,EAAGs6B,EAAO17B,GAAGqB,GAGlD/D,KAAKg/B,QAAQt3B,KAAK3E,GAGdA,EAAEgB,EAAIggB,IAENA,EAAKhhB,EAAEgB,GAIf/D,KAAK4/B,cAAc7b,GAGvB,OAAO/jB,MAYX4/B,cAAe,SAAU7b,GAOrB,IAAK,IALDuT,EACAuI,EACAC,EACAliC,EAEK8E,EAAI,EAAGmuB,EAAM7wB,KAAKg/B,QAAQr8B,OAAQD,EAAImuB,EAAKnuB,IAEhD40B,EAAKt3B,KAAKg/B,QAAQt8B,GAIdm9B,EAFAn9B,IAAMmuB,EAAM,EAEP7wB,KAAKg/B,QAAQ,GAIbh/B,KAAKg/B,QAAQt8B,EAAI,GAG1Bo9B,GAAcxI,EAAGvzB,EAAIggB,GAAO8b,EAAG97B,EAAIggB,IAAO,EAC1CnmB,EAAQ05B,EAAGxzB,EAAI+7B,EAAG/7B,EAClB9D,KAAK++B,MAAQe,EAAYliC,EAG7B,OAAOoC,KAAK++B,OAMpBv9B,EAAOs9B,QAAQx8B,UAAUC,YAAcf,EAAOs9B,QAW9Cl4B,OAAOuF,eAAe3K,EAAOs9B,QAAQx8B,UAAW,UAE5CwE,IAAK,WACD,OAAO9G,KAAKg/B,WAMpBxgC,KAAKsgC,QAAUt9B,EAAOs9B,QAmBtBt9B,EAAOS,UAAY,SAAU6B,EAAGC,EAAGnG,EAAOC,GAEtCiG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTnG,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnBmC,KAAK8D,EAAIA,EAKT9D,KAAK+D,EAAIA,EAKT/D,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAKoT,KAAO5R,EAAOmsB,WAIvBnsB,EAAOS,UAAUK,WASb8U,OAAQ,SAAUtJ,EAAIE,GAKlB,OAHAhO,KAAK8D,GAAKgK,EACV9N,KAAK+D,GAAKiK,EAEHhO,MAUXi2B,YAAa,SAAUC,GAEnB,OAAOl2B,KAAKoX,OAAO8e,EAAMpyB,EAAGoyB,EAAMnyB,IAatCmxB,MAAO,SAAUpxB,EAAGC,EAAGnG,EAAOC,GAO1B,OALAmC,KAAK8D,EAAIA,EACT9D,KAAK+D,EAAIA,EACT/D,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MAYXc,MAAO,SAAUgD,EAAGC,GAOhB,YALUuC,IAANvC,IAAmBA,EAAID,GAE3B9D,KAAKpC,OAASkG,EACd9D,KAAKnC,QAAUkG,EAER/D,MAYX84B,SAAU,SAAUh1B,EAAGC,GAKnB,OAHA/D,KAAKm4B,QAAUr0B,EACf9D,KAAKo4B,QAAUr0B,EAER/D,MAQX+O,MAAO,WAEH/O,KAAK8D,EAAIL,KAAKsL,MAAM/O,KAAK8D,GACzB9D,KAAK+D,EAAIN,KAAKsL,MAAM/O,KAAK+D,IAQ7Bg8B,SAAU,WAEN//B,KAAK8D,EAAIL,KAAKsL,MAAM/O,KAAK8D,GACzB9D,KAAK+D,EAAIN,KAAKsL,MAAM/O,KAAK+D,GACzB/D,KAAKpC,MAAQ6F,KAAKsL,MAAM/O,KAAKpC,OAC7BoC,KAAKnC,OAAS4F,KAAKsL,MAAM/O,KAAKnC,SAQlCoI,KAAM,WAEFjG,KAAK8D,EAAIL,KAAKwC,KAAKjG,KAAK8D,GACxB9D,KAAK+D,EAAIN,KAAKwC,KAAKjG,KAAK+D,IAQ5Bi8B,QAAS,WAELhgC,KAAK8D,EAAIL,KAAKwC,KAAKjG,KAAK8D,GACxB9D,KAAK+D,EAAIN,KAAKwC,KAAKjG,KAAK+D,GACxB/D,KAAKpC,MAAQ6F,KAAKwC,KAAKjG,KAAKpC,OAC5BoC,KAAKnC,OAAS4F,KAAKwC,KAAKjG,KAAKnC,SAUjCs3B,SAAU,SAAUnmB,GAEhB,OAAOhP,KAAKk1B,MAAMlmB,EAAOlL,EAAGkL,EAAOjL,EAAGiL,EAAOpR,MAAOoR,EAAOnR,SAU/DoiC,eAAgB,SAASjxB,GAErB,OAAOhP,KAAKk1B,MAAMlmB,EAAOwkB,KAAMxkB,EAAOmnB,IAAKnnB,EAAOpR,MAAOoR,EAAOnR,SAUpEu3B,OAAQ,SAAUC,GAOd,OALAA,EAAKvxB,EAAI9D,KAAK8D,EACduxB,EAAKtxB,EAAI/D,KAAK+D,EACdsxB,EAAKz3B,MAAQoC,KAAKpC,MAClBy3B,EAAKx3B,OAASmC,KAAKnC,OAEZw3B,GAWX6K,QAAS,SAAUpyB,EAAIE,GAEnB,OAAOxM,EAAOS,UAAUi+B,QAAQlgC,KAAM8N,EAAIE,IAU9C0T,KAAM,SAAU8T,GAEZ,OAAOh0B,EAAOS,UAAUyf,KAAK1hB,KAAMw1B,IAavCtvB,OAAQ,SAAUtI,EAAOC,GAKrB,OAHAmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEPmC,MAUX+zB,MAAO,SAAUyB,GAEb,OAAOh0B,EAAOS,UAAU8xB,MAAM/zB,KAAMw1B,IAWxCxrB,SAAU,SAAUlG,EAAGC,GAEnB,OAAOvC,EAAOS,UAAU+H,SAAShK,KAAM8D,EAAGC,IAW9Co8B,aAAc,SAAUj9B,GAEpB,OAAO1B,EAAOS,UAAUk+B,aAAaj9B,EAAGlD,OAW5Cq2B,OAAQ,SAAUnzB,GAEd,OAAO1B,EAAOS,UAAUo0B,OAAOr2B,KAAMkD,IAWzCk9B,aAAc,SAAUl9B,EAAG6xB,GAEvB,OAAOvzB,EAAOS,UAAUm+B,aAAapgC,KAAMkD,EAAG6xB,IAYlDuB,WAAY,SAAUpzB,GAElB,OAAO1B,EAAOS,UAAUq0B,WAAWt2B,KAAMkD,IAe7Cm9B,cAAe,SAAU7M,EAAMD,EAAO4C,EAAKC,EAAQkK,GAE/C,OAAO9+B,EAAOS,UAAUo+B,cAAcrgC,KAAMwzB,EAAMD,EAAO4C,EAAKC,EAAQkK,IAW1EC,MAAO,SAAUr9B,EAAG6xB,GAEhB,OAAOvzB,EAAOS,UAAUs+B,MAAMvgC,KAAMkD,EAAG6xB,IAY3CvC,OAAQ,SAAUuC,GAOd,YALYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAE1Ck0B,EAAIjxB,EAAI9D,KAAKwgC,QACbzL,EAAIhxB,EAAI/D,KAAKygC,QAEN1L,GAoBX2L,SAAU,SAAU9/B,EAAUm0B,GAI1B,YAFYzuB,IAARyuB,IAAqBA,EAAM,IAAIvzB,EAAOX,OAElCD,GAEJ,QACA,KAAKY,EAAOutB,SACR,OAAOgG,EAAIhuB,IAAI/G,KAAK8D,EAAG9D,KAAK+D,GAEhC,KAAKvC,EAAOwtB,WACR,OAAO+F,EAAIhuB,IAAI/G,KAAKm4B,QAASn4B,KAAK+D,GAEtC,KAAKvC,EAAOytB,UACR,OAAO8F,EAAIhuB,IAAI/G,KAAKuzB,MAAOvzB,KAAK+D,GAEpC,KAAKvC,EAAO2tB,YACR,OAAO4F,EAAIhuB,IAAI/G,KAAK8D,EAAG9D,KAAKo4B,SAEhC,KAAK52B,EAAO6tB,OACR,OAAO0F,EAAIhuB,IAAI/G,KAAKm4B,QAASn4B,KAAKo4B,SAEtC,KAAK52B,EAAO+tB,aACR,OAAOwF,EAAIhuB,IAAI/G,KAAKuzB,MAAOvzB,KAAKo4B,SAEpC,KAAK52B,EAAOiuB,YACR,OAAOsF,EAAIhuB,IAAI/G,KAAK8D,EAAG9D,KAAKo2B,QAEhC,KAAK50B,EAAOkuB,cACR,OAAOqF,EAAIhuB,IAAI/G,KAAKm4B,QAASn4B,KAAKo2B,QAEtC,KAAK50B,EAAOmuB,aACR,OAAOoF,EAAIhuB,IAAI/G,KAAKuzB,MAAOvzB,KAAKo2B,UAe5CuK,MAAO,SAAUxK,EAAK5C,EAAO6C,EAAQ5C,GAE5BnD,UAAU1tB,SACXwzB,EAAM,IAAI30B,EAAOq2B,KACjBtE,EAAQ,IAAI/xB,EAAOq2B,KACnBzB,EAAS,IAAI50B,EAAOq2B,KACpBrE,EAAO,IAAIhyB,EAAOq2B,MAGtB,IAAI7sB,EAAKhL,KAAK8D,EACVmH,EAAKjL,KAAK+D,EACVmH,EAAKlL,KAAKuzB,MACVpoB,EAAKnL,KAAKo2B,OAOd,OALAD,EAAIjB,MAAMlqB,EAAIC,EAAIC,EAAID,GACtBsoB,EAAM2B,MAAMhqB,EAAID,EAAIC,EAAIC,GACxBirB,EAAOlB,MAAMlqB,EAAIG,EAAID,EAAIC,GACzBqoB,EAAK0B,MAAMlqB,EAAIC,EAAID,EAAIG,GAElBklB,UAAU1tB,OAIR,MAHKwzB,EAAK5C,EAAO6C,EAAQ5C,IAYpChL,SAAU,WAEN,MAAO,kBAAoBxoB,KAAK8D,EAAI,MAAQ9D,KAAK+D,EAAI,UAAY/D,KAAKpC,MAAQ,WAAaoC,KAAKnC,OAAS,UAAYmC,KAAK26B,MAAQ,QAW1I/zB,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,aAE9CwE,IAAK,WACD,OAAOrD,KAAK8xB,MAAMv1B,KAAKpC,MAAQ,MAUvCgJ,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,cAE9CwE,IAAK,WACD,OAAOrD,KAAK8xB,MAAMv1B,KAAKnC,OAAS,MAUxC+I,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,UAE9CwE,IAAK,WACD,OAAO9G,KAAK+D,EAAI/D,KAAKnC,QAGzBkJ,IAAK,SAAUC,GAEPA,GAAShH,KAAK+D,EAEd/D,KAAKnC,OAAS,EAIdmC,KAAKnC,OAASmJ,EAAQhH,KAAK+D,KAYvC6C,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,cAE9CwE,IAAK,WACD,OAAO,IAAItF,EAAOX,MAAMb,KAAK8D,EAAG9D,KAAKo2B,SAGzCrvB,IAAK,SAAUC,GACXhH,KAAK8D,EAAIkD,EAAMlD,EACf9D,KAAKo2B,OAASpvB,EAAMjD,KAU5B6C,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,eAE9CwE,IAAK,WACD,OAAO,IAAItF,EAAOX,MAAMb,KAAKuzB,MAAOvzB,KAAKo2B,SAG7CrvB,IAAK,SAAUC,GACXhH,KAAKuzB,MAAQvsB,EAAMlD,EACnB9D,KAAKo2B,OAASpvB,EAAMjD,KAU5B6C,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,QAE9CwE,IAAK,WACD,OAAO9G,KAAK8D,GAGhBiD,IAAK,SAAUC,GACPA,GAAShH,KAAKuzB,MACdvzB,KAAKpC,MAAQ,EAEboC,KAAKpC,MAAQoC,KAAKuzB,MAAQvsB,EAE9BhH,KAAK8D,EAAIkD,KAUjBJ,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,SAE9CwE,IAAK,WACD,OAAO9G,KAAK8D,EAAI9D,KAAKpC,OAGzBmJ,IAAK,SAAUC,GACPA,GAAShH,KAAK8D,EACd9D,KAAKpC,MAAQ,EAEboC,KAAKpC,MAAQoJ,EAAQhH,KAAK8D,KAYtC8C,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,UAE9CwE,IAAK,WACD,OAAO9G,KAAKpC,MAAQoC,KAAKnC,UAWjC+I,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,aAE9CwE,IAAK,WACD,OAAqB,EAAb9G,KAAKpC,MAA4B,EAAdoC,KAAKnC,UAUxC+I,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,WAE9CwE,IAAK,WACD,OAAO9G,KAAK8D,EAAI9D,KAAK02B,WAGzB3vB,IAAK,SAAUC,GACXhH,KAAK8D,EAAIkD,EAAQhH,KAAK02B,aAU9B9vB,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,WAE9CwE,IAAK,WACD,OAAO9G,KAAK+D,EAAI/D,KAAK22B,YAGzB5vB,IAAK,SAAUC,GACXhH,KAAK+D,EAAIiD,EAAQhH,KAAK22B,cAW9B/vB,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,WAE9CwE,IAAK,WAED,OAAO9G,KAAK8D,EAAKL,KAAK+uB,SAAWxyB,KAAKpC,SAY9CgJ,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,WAE9CwE,IAAK,WAED,OAAO9G,KAAK+D,EAAKN,KAAK+uB,SAAWxyB,KAAKnC,UAY9C+I,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,OAE9CwE,IAAK,WACD,OAAO9G,KAAK+D,GAGhBgD,IAAK,SAAUC,GACPA,GAAShH,KAAKo2B,QACdp2B,KAAKnC,OAAS,EACdmC,KAAK+D,EAAIiD,GAEThH,KAAKnC,OAAUmC,KAAKo2B,OAASpvB,KAWzCJ,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,WAE9CwE,IAAK,WACD,OAAO,IAAItF,EAAOX,MAAMb,KAAK8D,EAAG9D,KAAK+D,IAGzCgD,IAAK,SAAUC,GACXhH,KAAK8D,EAAIkD,EAAMlD,EACf9D,KAAK+D,EAAIiD,EAAMjD,KAUvB6C,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,YAE9CwE,IAAK,WACD,OAAO,IAAItF,EAAOX,MAAMb,KAAK8D,EAAI9D,KAAKpC,MAAOoC,KAAK+D,IAGtDgD,IAAK,SAAUC,GACXhH,KAAKuzB,MAAQvsB,EAAMlD,EACnB9D,KAAK+D,EAAIiD,EAAMjD,KAWvB6C,OAAOuF,eAAe3K,EAAOS,UAAUK,UAAW,SAE9CwE,IAAK,WACD,OAAS9G,KAAKpC,QAAUoC,KAAKnC,QAGjCkJ,IAAK,SAAUC,IAEG,IAAVA,GAEAhH,KAAKk1B,MAAM,EAAG,EAAG,EAAG,MAOhC1zB,EAAOS,UAAUK,UAAUC,YAAcf,EAAOS,UAUhDT,EAAOS,UAAUi+B,QAAU,SAAUj9B,EAAG6K,EAAIE,GAOxC,OALA/K,EAAEa,GAAKgK,EACP7K,EAAErF,OAAS,EAAIkQ,EACf7K,EAAEc,GAAKiK,EACP/K,EAAEpF,QAAU,EAAImQ,EAET/K,GAWXzB,EAAOS,UAAU2+B,aAAe,SAAU39B,EAAGizB,GAEzC,OAAO10B,EAAOS,UAAUi+B,QAAQj9B,EAAGizB,EAAMpyB,EAAGoyB,EAAMnyB,IAWtDvC,EAAOS,UAAUyf,KAAO,SAAUze,EAAGuyB,GAWjC,YATelvB,IAAXkvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIh0B,EAAOX,MAAMoC,EAAErF,MAAOqF,EAAEpF,QAIrC23B,EAAON,MAAMjyB,EAAErF,MAAOqF,EAAEpF,QAGrB23B,GAWXh0B,EAAOS,UAAU8xB,MAAQ,SAAU9wB,EAAGuyB,GAWlC,YATelvB,IAAXkvB,GAAmC,OAAXA,EAExBA,EAAS,IAAIh0B,EAAOS,UAAUgB,EAAEa,EAAGb,EAAEc,EAAGd,EAAErF,MAAOqF,EAAEpF,QAInD23B,EAAON,MAAMjyB,EAAEa,EAAGb,EAAEc,EAAGd,EAAErF,MAAOqF,EAAEpF,QAG/B23B,GAWXh0B,EAAOS,UAAU4+B,iBAAmB,SAAU59B,EAAGuyB,GAO7C,YALelvB,IAAXkvB,GAAmC,OAAXA,IAExBA,EAAS,IAAIh0B,EAAOS,UAAUgB,EAAEa,EAAGb,EAAEc,EAAGd,EAAErF,MAAOqF,EAAEpF,SAGhD23B,EAAOyK,eAAeh9B,IAYjCzB,EAAOS,UAAU+H,SAAW,SAAU/G,EAAGa,EAAGC,GAExC,QAAId,EAAErF,OAAS,GAAKqF,EAAEpF,QAAU,KAKxBiG,GAAKb,EAAEa,GAAKA,EAAIb,EAAEswB,OAASxvB,GAAKd,EAAEc,GAAKA,EAAId,EAAEmzB,SAezD50B,EAAOS,UAAU6+B,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIp9B,EAAGC,GAExD,OAAQD,GAAKi9B,GAAMj9B,EAAKi9B,EAAKE,GAAOl9B,GAAKi9B,GAAMj9B,EAAKi9B,EAAKE,GAW7D1/B,EAAOS,UAAUk/B,cAAgB,SAAUl+B,EAAGizB,GAE1C,OAAO10B,EAAOS,UAAU+H,SAAS/G,EAAGizB,EAAMpyB,EAAGoyB,EAAMnyB,IAYvDvC,EAAOS,UAAUk+B,aAAe,SAAUl9B,EAAGC,GAGzC,QAAID,EAAEm+B,OAASl+B,EAAEk+B,UAKTn+B,EAAEa,GAAKZ,EAAEY,GAAKb,EAAEc,GAAKb,EAAEa,GAAKd,EAAEswB,MAAQrwB,EAAEqwB,OAAStwB,EAAEmzB,OAASlzB,EAAEkzB,SAY1E50B,EAAOS,UAAUo0B,OAAS,SAAUpzB,EAAGC,GAEnC,OAAQD,EAAEa,IAAMZ,EAAEY,GAAKb,EAAEc,IAAMb,EAAEa,GAAKd,EAAErF,QAAUsF,EAAEtF,OAASqF,EAAEpF,SAAWqF,EAAErF,QAWhF2D,EAAOS,UAAUo/B,eAAiB,SAAUp+B,EAAGC,GAE3C,OAAQD,EAAErF,QAAUsF,EAAEtF,OAASqF,EAAEpF,SAAWqF,EAAErF,QAYlD2D,EAAOS,UAAUm+B,aAAe,SAAUn9B,EAAGC,EAAGsyB,GAe5C,YAbelvB,IAAXkvB,IAEAA,EAAS,IAAIh0B,EAAOS,WAGpBT,EAAOS,UAAUq0B,WAAWrzB,EAAGC,KAE/BsyB,EAAO1xB,EAAIL,KAAKuC,IAAI/C,EAAEa,EAAGZ,EAAEY,GAC3B0xB,EAAOzxB,EAAIN,KAAKuC,IAAI/C,EAAEc,EAAGb,EAAEa,GAC3ByxB,EAAO53B,MAAQ6F,KAAK21B,IAAIn2B,EAAEswB,MAAOrwB,EAAEqwB,OAASiC,EAAO1xB,EACnD0xB,EAAO33B,OAAS4F,KAAK21B,IAAIn2B,EAAEmzB,OAAQlzB,EAAEkzB,QAAUZ,EAAOzxB,GAGnDyxB,GAYXh0B,EAAOS,UAAUq0B,WAAa,SAAUrzB,EAAGC,GAEvC,QAAID,EAAErF,OAAS,GAAKqF,EAAEpF,QAAU,GAAKqF,EAAEtF,OAAS,GAAKsF,EAAErF,QAAU,MAKxDoF,EAAEswB,MAAQrwB,EAAEY,GAAKb,EAAEmzB,OAASlzB,EAAEa,GAAKd,EAAEa,EAAIZ,EAAEqwB,OAAStwB,EAAEc,EAAIb,EAAEkzB,SAczE50B,EAAOS,UAAUo+B,cAAgB,SAAUp9B,EAAGuwB,EAAMD,EAAO4C,EAAKC,EAAQkK,GAIpE,YAFkBh6B,IAAdg6B,IAA2BA,EAAY,KAElC9M,EAAOvwB,EAAEswB,MAAQ+M,GAAa/M,EAAQtwB,EAAEuwB,KAAO8M,GAAanK,EAAMlzB,EAAEmzB,OAASkK,GAAalK,EAASnzB,EAAEkzB,IAAMmK,IAYxH9+B,EAAOS,UAAUs+B,MAAQ,SAAUt9B,EAAGC,EAAGsyB,GAOrC,YALelvB,IAAXkvB,IAEAA,EAAS,IAAIh0B,EAAOS,WAGjBuzB,EAAON,MAAMzxB,KAAK21B,IAAIn2B,EAAEa,EAAGZ,EAAEY,GAAIL,KAAK21B,IAAIn2B,EAAEc,EAAGb,EAAEa,GAAIN,KAAKuC,IAAI/C,EAAEswB,MAAOrwB,EAAEqwB,OAAS9vB,KAAK21B,IAAIn2B,EAAEuwB,KAAMtwB,EAAEswB,MAAO/vB,KAAKuC,IAAI/C,EAAEmzB,OAAQlzB,EAAEkzB,QAAU3yB,KAAK21B,IAAIn2B,EAAEkzB,IAAKjzB,EAAEizB,OAaxK30B,EAAOS,UAAUq/B,KAAO,SAASlD,EAAQrJ,QAEzBzuB,IAARyuB,IACAA,EAAM,IAAIvzB,EAAOS,WAGrB,IAAIo3B,EAAOqG,OAAO6B,kBACdpI,EAAOuG,OAAO8B,kBACdjI,EAAOmG,OAAO6B,kBACdjI,EAAOoG,OAAO8B,kBAoBlB,OAlBApD,EAAO1N,QAAQ,SAASwF,GAChBA,EAAMpyB,EAAIu1B,IACVA,EAAOnD,EAAMpyB,GAEboyB,EAAMpyB,EAAIq1B,IACVA,EAAOjD,EAAMpyB,GAGboyB,EAAMnyB,EAAIw1B,IACVA,EAAOrD,EAAMnyB,GAEbmyB,EAAMnyB,EAAIu1B,IACVA,EAAOpD,EAAMnyB,KAIrBgxB,EAAIG,MAAMiE,EAAMG,EAAMD,EAAOF,EAAMI,EAAOD,GAEnCvE,GAIXv2B,KAAKyD,UAAYT,EAAOS,UACxBzD,KAAKijC,eAAiB,IAAIjgC,EAAOS,UAAU,EAAG,EAAG,EAAG,GAqBpDT,EAAOkgC,iBAAmB,SAAS59B,EAAGC,EAAGnG,EAAOC,EAAQo3B,QAE1C3uB,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV1I,IAAuBA,EAAQ,QACpB0I,IAAXzI,IAAwBA,EAAS,QACtByI,IAAX2uB,IAAwBA,EAAS,IAKrCj1B,KAAK8D,EAAIA,EAKT9D,KAAK+D,EAAIA,EAKT/D,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAKdmC,KAAKi1B,OAASA,GAAU,GAMxBj1B,KAAKoT,KAAO5R,EAAOusB,kBAGvBvsB,EAAOkgC,iBAAiBp/B,WASpByxB,MAAO,WAEH,OAAO,IAAIvyB,EAAOkgC,iBAAiB1hC,KAAK8D,EAAG9D,KAAK+D,EAAG/D,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKi1B,SAYrFjrB,SAAU,SAAUlG,EAAGC,GAEnB,GAAI/D,KAAKpC,OAAS,GAAKoC,KAAKnC,QAAU,EAElC,OAAO,EAGX,IAAImN,EAAKhL,KAAK8D,EAEd,GAAIA,GAAKkH,GAAMlH,GAAKkH,EAAKhL,KAAKpC,MAC9B,CACI,IAAIqN,EAAKjL,KAAK+D,EAEd,GAAIA,GAAKkH,GAAMlH,GAAKkH,EAAKjL,KAAKnC,OAE1B,OAAO,EAIf,OAAO,IAMf2D,EAAOkgC,iBAAiBp/B,UAAUC,YAAcf,EAAOkgC,iBAGvDljC,KAAKkjC,iBAAmBlgC,EAAOkgC,iBAqB/BlgC,EAAOmgC,OAAS,SAAU7+B,EAAMgR,EAAIhQ,EAAGC,EAAGnG,EAAOC,GAK7CmC,KAAK8C,KAAOA,EAKZ9C,KAAKgD,MAAQF,EAAKE,MAMlBhD,KAAK8T,GAAK,EASV9T,KAAK4W,KAAO,IAAIpV,EAAOS,UAAU6B,EAAGC,EAAGnG,EAAOC,GAS9CmC,KAAK6E,OAAS,IAAIrD,EAAOS,UAAU6B,EAAGC,EAAGnG,EAAOC,GAKhDmC,KAAK4hC,SAAW,KAMhB5hC,KAAKkB,SAAU,EAMflB,KAAK6hC,SAAU,EAKf7hC,KAAK8hC,SAAYh+B,GAAG,EAAOC,GAAG,GAM9B/D,KAAK4H,OAAS,KAKd5H,KAAK4a,cAAgB,KAKrB5a,KAAKc,MAAQ,KAMbd,KAAK+hC,YAAc,EAWnB/hC,KAAKgiC,KAAO,IAAIxgC,EAAOX,MAAM,EAAG,GAKhCb,KAAKiiC,gBAAkB,IAAIzgC,EAAO0gC,OAKlCliC,KAAKmiC,gBAAkB,IAAI3gC,EAAO0gC,OASlCliC,KAAKoiC,eAAiB,IAAI5gC,EAAO0gC,OAOjCliC,KAAKqiC,GAAK,KAMVriC,KAAKsiC,gBAAkB,IAAI9gC,EAAOX,MAOlCb,KAAKuiC,MAAQ,EAObviC,KAAKwiC,UAAY,IAAIhhC,EAAOX,MAM5Bb,KAAK0a,QACD+nB,UAAW,EACXC,SAAU,EACVC,YAAY,EACZC,UAAU,EACVC,aAAa,EACb/+B,EAAG,EACHC,EAAG,GAOP/D,KAAK8iC,YAAc,EAMnB9iC,KAAK+iC,QAAU,EAMf/iC,KAAKgjC,WAAa,IAAIxhC,EAAOS,WAUjCT,EAAOmgC,OAAOsB,cAAgB,EAQ9BzhC,EAAOmgC,OAAOuB,kBAAoB,EAQlC1hC,EAAOmgC,OAAOwB,eAAiB,EAQ/B3hC,EAAOmgC,OAAOyB,qBAAuB,EAMrC5hC,EAAOmgC,OAAO0B,WAAa,EAM3B7hC,EAAOmgC,OAAO2B,iBAAmB,EAMjC9hC,EAAOmgC,OAAO4B,eAAiB,EAM/B/hC,EAAOmgC,OAAO6B,WAAY,EAE1BhiC,EAAOmgC,OAAOr/B,WAQVmhC,KAAM,WAEFzjC,KAAK4a,cAAgB5a,KAAK8C,KAAKE,MAE/BhD,KAAKc,MAAQd,KAAK8C,KAAKE,MAAMlC,MAE7Bd,KAAK8C,KAAK2X,OAASza,KAEfwB,EAAOkiC,UAAYliC,EAAOmgC,OAAO6B,YAEjCxjC,KAAKqiC,GAAK,IAAI7gC,EAAOkiC,SAAS1jC,KAAK8C,MAEnC9C,KAAK8C,KAAKmX,MAAM5R,SAASrI,KAAKqiC,MAUtC59B,UAAW,WAEPzE,KAAK+hC,YAAc,GAmBvB4B,OAAQ,SAAU/7B,EAAQqT,EAAO2oB,EAAOC,QAEtBv9B,IAAV2U,IAAuBA,EAAQzZ,EAAOmgC,OAAOsB,oBACnC38B,IAAVs9B,IAAuBA,EAAQ,QACrBt9B,IAAVu9B,IAAuBA,EAAQ,GAEnC7jC,KAAK4H,OAASA,EACd5H,KAAKgiC,KAAKj7B,IAAI68B,EAAOC,GAErB,IAAIC,EAEJ,OAAQ7oB,GAEJ,KAAKzZ,EAAOmgC,OAAOuB,kBACf,IAAIjuB,EAAIjV,KAAKpC,MAAQ,EACjBumB,EAAInkB,KAAKnC,OAAS,EACtBmC,KAAK4hC,SAAW,IAAIpgC,EAAOS,WAAWjC,KAAKpC,MAAQqX,GAAK,GAAIjV,KAAKnC,OAASsmB,GAAK,EAAQ,IAAJA,EAAUlP,EAAGkP,GAChG,MAEJ,KAAK3iB,EAAOmgC,OAAOwB,eACfW,EAASrgC,KAAKuC,IAAIhG,KAAKpC,MAAOoC,KAAKnC,QAAU,EAC7CmC,KAAK4hC,SAAW,IAAIpgC,EAAOS,WAAWjC,KAAKpC,MAAQkmC,GAAU,GAAI9jC,KAAKnC,OAASimC,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAKtiC,EAAOmgC,OAAOyB,qBACfU,EAASrgC,KAAKuC,IAAIhG,KAAKpC,MAAOoC,KAAKnC,QAAU,EAC7CmC,KAAK4hC,SAAW,IAAIpgC,EAAOS,WAAWjC,KAAKpC,MAAQkmC,GAAU,GAAI9jC,KAAKnC,OAASimC,GAAU,EAAGA,EAAQA,GACpG,MAEJ,KAAKtiC,EAAOmgC,OAAOsB,cAInB,QACIjjC,KAAK4hC,SAAW,OAW5BmC,SAAU,WAEN/jC,KAAK4H,OAAS,MASlBo8B,QAAS,SAAUppB,GAEf5a,KAAKikC,YAAYxgC,KAAK8xB,MAAM3a,EAAc9W,EAAI9D,KAAK4W,KAAK8f,WAAYjzB,KAAK8xB,MAAM3a,EAAc7W,EAAI/D,KAAK4W,KAAK+f,cAU/GuN,UAAW,SAAUpgC,EAAGC,GAEpB/D,KAAKikC,YAAYxgC,KAAK8xB,MAAMzxB,EAAI9D,KAAK4W,KAAK8f,WAAYjzB,KAAK8xB,MAAMxxB,EAAI/D,KAAK4W,KAAK+f,cAmBnFwN,MAAO,SAAU1B,EAAWC,EAAU0B,EAAOC,EAAWxB,GAQpD,YANkBv8B,IAAdm8B,IAA2BA,EAAY,UAC1Bn8B,IAAbo8B,IAA0BA,EAAW,UAC3Bp8B,IAAV89B,IAAuBA,GAAQ,QACjB99B,IAAd+9B,IAA2BA,EAAY7iC,EAAOmgC,OAAO0B,iBACrC/8B,IAAhBu8B,IAA6BA,GAAc,MAE1CuB,GAASpkC,KAAK0a,OAAOgoB,SAAW,KAMrC1iC,KAAK0a,OAAO+nB,UAAYA,EACxBziC,KAAK0a,OAAOgoB,SAAWA,EACvB1iC,KAAK0a,OAAOmoB,YAAcA,EAE1B7iC,KAAK0a,OAAO5W,EAAI,EAChB9D,KAAK0a,OAAO3W,EAAI,EAEhB/D,KAAK0a,OAAOioB,WAAc0B,IAAc7iC,EAAOmgC,OAAO0B,YAAcgB,IAAc7iC,EAAOmgC,OAAO2B,iBAChGtjC,KAAK0a,OAAOkoB,SAAYyB,IAAc7iC,EAAOmgC,OAAO0B,YAAcgB,IAAc7iC,EAAOmgC,OAAO4B,gBAEvF,IAmBXe,MAAO,SAAUruB,EAAOysB,EAAU0B,EAAOnjC,GAOrC,YALcqF,IAAV2P,IAAuBA,EAAQ,eAClB3P,IAAbo8B,IAA0BA,EAAW,UAC3Bp8B,IAAV89B,IAAuBA,GAAQ,QACrB99B,IAAVrF,IAAuBA,EAAQ,MAE9BjB,KAAKqiC,KAAQ+B,GAASpkC,KAAK8iC,YAAc,KAK9C9iC,KAAKqiC,GAAG9nB,QAERva,KAAKqiC,GAAGkC,UAAUtuB,EAAOhV,GACzBjB,KAAKqiC,GAAGmC,SAAS,EAAG,EAAGxkC,KAAKpC,MAAOoC,KAAKnC,QACxCmC,KAAKqiC,GAAGoC,UAERzkC,KAAKqiC,GAAGphC,MAAQ,EAEhBjB,KAAK8iC,YAAcJ,EACnB1iC,KAAK+iC,QAAU,GAER,IAwBX2B,KAAM,SAAUzuB,EAAOysB,EAAU0B,EAAOnjC,GAOpC,YALcqF,IAAV2P,IAAuBA,EAAQ,QAClB3P,IAAbo8B,IAA0BA,EAAW,UAC3Bp8B,IAAV89B,IAAuBA,GAAQ,QACrB99B,IAAVrF,IAAuBA,EAAQ,MAE9BjB,KAAKqiC,KAAQ+B,GAASpkC,KAAK8iC,YAAc,KAK9C9iC,KAAKqiC,GAAG9nB,QAERva,KAAKqiC,GAAGkC,UAAUtuB,EAAOhV,GACzBjB,KAAKqiC,GAAGmC,SAAS,EAAG,EAAGxkC,KAAKpC,MAAOoC,KAAKnC,QACxCmC,KAAKqiC,GAAGoC,UAERzkC,KAAKqiC,GAAGphC,MAAQ,EAEhBjB,KAAK8iC,YAAcJ,EACnB1iC,KAAK+iC,QAAU,GAER,IAUX4B,OAAQ,WAEA3kC,KAAK8iC,YAAc,GAEnB9iC,KAAK4kC,WAGL5kC,KAAK0a,OAAOgoB,SAAW,GAEvB1iC,KAAK6kC,cAGL7kC,KAAK6E,QAEL7E,KAAK8kC,cAGL9kC,KAAK6hC,UAEL7hC,KAAK4W,KAAK7H,QACV/O,KAAK0a,OAAO5W,EAAIL,KAAKsL,MAAM/O,KAAK0a,OAAO5W,GACvC9D,KAAK0a,OAAO3W,EAAIN,KAAKsL,MAAM/O,KAAK0a,OAAO3W,IAG3C/D,KAAK4a,cAAcha,SAASkD,GAAK9D,KAAK4W,KAAK9S,EAC3C9D,KAAK4a,cAAcha,SAASmD,GAAK/D,KAAK4W,KAAK7S,GAU/C6gC,SAAU,WAEe,IAAjB5kC,KAAK+iC,SAGL/iC,KAAKqiC,GAAGphC,OAASjB,KAAK8C,KAAKiiC,KAAKC,UAAYhlC,KAAK8iC,YAE7C9iC,KAAKqiC,GAAGphC,OAAS,IAEjBjB,KAAK8iC,YAAc,EACnB9iC,KAAKqiC,GAAGphC,MAAQ,EAChBjB,KAAKmiC,gBAAgB8C,cAMzBjlC,KAAKqiC,GAAGphC,OAASjB,KAAK8C,KAAKiiC,KAAKC,UAAYhlC,KAAK8iC,YAE7C9iC,KAAKqiC,GAAGphC,OAAS,IAEjBjB,KAAK8iC,YAAc,EACnB9iC,KAAKqiC,GAAGphC,MAAQ,EAChBjB,KAAKoiC,eAAe6C,cAYhCJ,YAAa,WAET7kC,KAAK0a,OAAOgoB,UAAY1iC,KAAK8C,KAAKiiC,KAAKC,UAEnChlC,KAAK0a,OAAOgoB,UAAY,GAExB1iC,KAAKiiC,gBAAgBgD,WACrBjlC,KAAK0a,OAAO5W,EAAI,EAChB9D,KAAK0a,OAAO3W,EAAI,IAIZ/D,KAAK0a,OAAOioB,aAEZ3iC,KAAK0a,OAAO5W,EAAI9D,KAAK8C,KAAKoiC,IAAIC,OAASnlC,KAAK0a,OAAO+nB,UAAYziC,KAAK4W,KAAKhZ,MAAQ,EAAIoC,KAAK0a,OAAO+nB,UAAYziC,KAAK4W,KAAKhZ,OAGvHoC,KAAK0a,OAAOkoB,WAEZ5iC,KAAK0a,OAAO3W,EAAI/D,KAAK8C,KAAKoiC,IAAIC,OAASnlC,KAAK0a,OAAO+nB,UAAYziC,KAAK4W,KAAK/Y,OAAS,EAAImC,KAAK0a,OAAO+nB,UAAYziC,KAAK4W,KAAK/Y,UAYpIunC,aAAc,WAEVplC,KAAKsiC,gBAAgBx+B,EAAI9D,KAAK4W,KAAK9S,EAAI9D,KAAK4H,OAAOlG,cAAcoC,EACjE9D,KAAKsiC,gBAAgBv+B,EAAI/D,KAAK4W,KAAK7S,EAAI/D,KAAK4H,OAAOlG,cAAcqC,EAE7D/D,KAAK4hC,UAEL5hC,KAAKuiC,MAAQviC,KAAKsiC,gBAAgBx+B,EAAI9D,KAAK4W,KAAK9S,EAE5C9D,KAAKuiC,MAAQviC,KAAK4hC,SAASpO,KAE3BxzB,KAAK4W,KAAK9S,EAAI9D,KAAK8C,KAAKuiC,KAAKrP,OAAOh2B,KAAK4W,KAAK9S,EAAG9D,KAAKsiC,gBAAgBx+B,EAAI9D,KAAK4hC,SAASpO,KAAMxzB,KAAKgiC,KAAKl+B,GAEnG9D,KAAKuiC,MAAQviC,KAAK4hC,SAASrO,QAEhCvzB,KAAK4W,KAAK9S,EAAI9D,KAAK8C,KAAKuiC,KAAKrP,OAAOh2B,KAAK4W,KAAK9S,EAAG9D,KAAKsiC,gBAAgBx+B,EAAI9D,KAAK4hC,SAASrO,MAAOvzB,KAAKgiC,KAAKl+B,IAG7G9D,KAAKuiC,MAAQviC,KAAKsiC,gBAAgBv+B,EAAI/D,KAAK4W,KAAK7S,EAE5C/D,KAAKuiC,MAAQviC,KAAK4hC,SAASzL,IAE3Bn2B,KAAK4W,KAAK7S,EAAI/D,KAAK8C,KAAKuiC,KAAKrP,OAAOh2B,KAAK4W,KAAK7S,EAAG/D,KAAKsiC,gBAAgBv+B,EAAI/D,KAAK4hC,SAASzL,IAAKn2B,KAAKgiC,KAAKj+B,GAElG/D,KAAKuiC,MAAQviC,KAAK4hC,SAASxL,SAEhCp2B,KAAK4W,KAAK7S,EAAI/D,KAAK8C,KAAKuiC,KAAKrP,OAAOh2B,KAAK4W,KAAK7S,EAAG/D,KAAKsiC,gBAAgBv+B,EAAI/D,KAAK4hC,SAASxL,OAAQp2B,KAAKgiC,KAAKj+B,MAK9G/D,KAAK4W,KAAK9S,EAAI9D,KAAK8C,KAAKuiC,KAAKrP,OAAOh2B,KAAK4W,KAAK9S,EAAG9D,KAAKsiC,gBAAgBx+B,EAAI9D,KAAK4W,KAAK8f,UAAW12B,KAAKgiC,KAAKl+B,GACzG9D,KAAK4W,KAAK7S,EAAI/D,KAAK8C,KAAKuiC,KAAKrP,OAAOh2B,KAAK4W,KAAK7S,EAAG/D,KAAKsiC,gBAAgBv+B,EAAI/D,KAAK4W,KAAK+f,WAAY32B,KAAKgiC,KAAKj+B,IAG1G/D,KAAK6E,QAEL7E,KAAK8kC,cAGL9kC,KAAK6hC,SAEL7hC,KAAK4W,KAAK7H,QAGd/O,KAAK4a,cAAcha,SAASkD,GAAK9D,KAAK4W,KAAK9S,EAC3C9D,KAAK4a,cAAcha,SAASmD,GAAK/D,KAAK4W,KAAK7S,GAS/CuhC,iBAAkB,WAEVtlC,KAAK6E,QAEL7E,KAAK6E,OAAOswB,SAASn1B,KAAK8C,KAAKE,MAAM6B,SAY7CigC,YAAa,WAET9kC,KAAK8hC,QAAQh+B,GAAI,EACjB9D,KAAK8hC,QAAQ/9B,GAAI,EAEjB,IAAIwhC,EAAKvlC,KAAK4W,KAAK9S,EAAI9D,KAAK0a,OAAO5W,EAC/B0hC,EAAKxlC,KAAK4W,KAAK2c,MAAQvzB,KAAK0a,OAAO5W,EACnC2hC,EAAKzlC,KAAK4W,KAAK7S,EAAI/D,KAAK0a,OAAO3W,EAC/B2hC,EAAK1lC,KAAK4W,KAAKwf,OAASp2B,KAAK0a,OAAO3W,EAGpCwhC,GAAMvlC,KAAK6E,OAAOf,EAAI9D,KAAKc,MAAMgD,GAEjC9D,KAAK8hC,QAAQh+B,GAAI,EACjB9D,KAAK4W,KAAK9S,EAAI9D,KAAK6E,OAAOf,EAAI9D,KAAKc,MAAMgD,EAEpC9D,KAAK0a,OAAOmoB,cAGb7iC,KAAK0a,OAAO5W,EAAI,IAGf0hC,GAAMxlC,KAAK6E,OAAO0uB,MAAQvzB,KAAKc,MAAMgD,IAE1C9D,KAAK8hC,QAAQh+B,GAAI,EACjB9D,KAAK4W,KAAK9S,EAAK9D,KAAK6E,OAAO0uB,MAAQvzB,KAAKc,MAAMgD,EAAK9D,KAAKpC,MAEnDoC,KAAK0a,OAAOmoB,cAGb7iC,KAAK0a,OAAO5W,EAAI,IAIpB2hC,GAAMzlC,KAAK6E,OAAOsxB,IAAMn2B,KAAKc,MAAMiD,GAEnC/D,KAAK8hC,QAAQ/9B,GAAI,EACjB/D,KAAK4W,KAAK7S,EAAI/D,KAAK6E,OAAOsxB,IAAMn2B,KAAKc,MAAMiD,EAEtC/D,KAAK0a,OAAOmoB,cAGb7iC,KAAK0a,OAAO3W,EAAI,IAGf2hC,GAAM1lC,KAAK6E,OAAOuxB,OAASp2B,KAAKc,MAAMiD,IAE3C/D,KAAK8hC,QAAQ/9B,GAAI,EACjB/D,KAAK4W,KAAK7S,EAAK/D,KAAK6E,OAAOuxB,OAASp2B,KAAKc,MAAMiD,EAAK/D,KAAKnC,OAEpDmC,KAAK0a,OAAOmoB,cAGb7iC,KAAK0a,OAAO3W,EAAI,KAc5BkgC,YAAa,SAAUngC,EAAGC,GAEtB/D,KAAK4W,KAAK9S,EAAIA,EACd9D,KAAK4W,KAAK7S,EAAIA,EAEV/D,KAAK6E,QAEL7E,KAAK8kC,eAYba,QAAS,SAAU/nC,EAAOC,GAEtBmC,KAAK4W,KAAKhZ,MAAQA,EAClBoC,KAAK4W,KAAK/Y,OAASA,GAWvB+nC,MAAO,WAEH5lC,KAAK4H,OAAS,KAEd5H,KAAK4W,KAAK9S,EAAI,EACd9D,KAAK4W,KAAK7S,EAAI,EAEd/D,KAAK0a,OAAOgoB,SAAW,EACvB1iC,KAAK0a,OAAO5W,EAAI,EAChB9D,KAAK0a,OAAO3W,EAAI,EAEhB/D,KAAK6lC,WAUTA,QAAS,WAED7lC,KAAKqiC,KAELriC,KAAKqiC,GAAG9nB,QACRva,KAAKqiC,GAAGphC,MAAQ,GAGpBjB,KAAK8iC,YAAc,IAM3BthC,EAAOmgC,OAAOr/B,UAAUC,YAAcf,EAAOmgC,OAO7C/6B,OAAOuF,eAAe3K,EAAOmgC,OAAOr/B,UAAW,KAE3CwE,IAAK,WAED,OAAO9G,KAAK4W,KAAK9S,GAIrBiD,IAAK,SAAUC,GAEXhH,KAAK4W,KAAK9S,EAAIkD,EAEVhH,KAAK6E,QAEL7E,KAAK8kC,iBAWjBl+B,OAAOuF,eAAe3K,EAAOmgC,OAAOr/B,UAAW,KAE3CwE,IAAK,WAED,OAAO9G,KAAK4W,KAAK7S,GAIrBgD,IAAK,SAAUC,GAEXhH,KAAK4W,KAAK7S,EAAIiD,EAEVhH,KAAK6E,QAEL7E,KAAK8kC,iBAWjBl+B,OAAOuF,eAAe3K,EAAOmgC,OAAOr/B,UAAW,YAE3CwE,IAAK,WAID,OAFA9G,KAAKwiC,UAAUz7B,IAAI/G,KAAK4W,KAAK9S,EAAG9D,KAAK4W,KAAK7S,GAEnC/D,KAAKwiC,WAIhBz7B,IAAK,SAAUC,QAEY,IAAZA,EAAMlD,IAAqB9D,KAAK4W,KAAK9S,EAAIkD,EAAMlD,QACnC,IAAZkD,EAAMjD,IAAqB/D,KAAK4W,KAAK7S,EAAIiD,EAAMjD,GAEtD/D,KAAK6E,QAEL7E,KAAK8kC,iBAWjBl+B,OAAOuF,eAAe3K,EAAOmgC,OAAOr/B,UAAW,SAE3CwE,IAAK,WAED,OAAO9G,KAAK4W,KAAKhZ,OAIrBmJ,IAAK,SAAUC,GAEXhH,KAAK4W,KAAKhZ,MAAQoJ,KAW1BJ,OAAOuF,eAAe3K,EAAOmgC,OAAOr/B,UAAW,UAE3CwE,IAAK,WAED,OAAO9G,KAAK4W,KAAK/Y,QAIrBkJ,IAAK,SAAUC,GAEXhH,KAAK4W,KAAK/Y,OAASmJ,KAY3BJ,OAAOuF,eAAe3K,EAAOmgC,OAAOr/B,UAAW,kBAE3CwE,IAAK,WAED,OAAO9G,KAAK0a,OAAO+nB,WAIvB17B,IAAK,SAAUC,GAEXhH,KAAK0a,OAAO+nB,UAAYz7B,KAahCJ,OAAOuF,eAAe3K,EAAOmgC,OAAOr/B,UAAW,aAE3CwE,IAAK,WAID,OAFA9G,KAAKgjC,WAAW9N,MAAM,EAAG,EAAGl1B,KAAK4W,KAAKhZ,MAAOoC,KAAK4W,KAAK/Y,QAEhDmC,KAAKgjC,cAmCpBxhC,EAAOskC,MAAQ,WAKX9lC,KAAK8C,KAAO,KAKZ9C,KAAK4S,IAAM,GAKX5S,KAAK+4B,IAAM,KAKX/4B,KAAK+lC,KAAO,KAKZ/lC,KAAKya,OAAS,KAKdza,KAAK2Z,MAAQ,KAKb3Z,KAAKgmC,MAAQ,KAKbhmC,KAAKimC,KAAO,KAKZjmC,KAAKqlC,KAAO,KAKZrlC,KAAKkmC,MAAQ,KAKblmC,KAAKc,MAAQ,KAKbd,KAAKia,MAAQ,KAKbja,KAAKmmC,MAAQ,KAKbnmC,KAAK+kC,KAAO,KAKZ/kC,KAAKomC,OAAS,KAKdpmC,KAAKgD,MAAQ,KAKbhD,KAAKqmC,UAAY,KAKjBrmC,KAAKsmC,QAAU,KAKftmC,KAAKklC,IAAM,MAIf1jC,EAAOskC,MAAMxjC,WAUTgP,KAAM,aAWNi1B,QAAS,aASTC,WAAY,aAUZC,WAAY,aAUZr+B,OAAQ,aAWRu8B,OAAQ,aAUR+B,UAAW,aAWXxhC,OAAQ,aAURgB,OAAQ,aASRygC,OAAQ,aASRC,QAAS,aASTC,YAAa,aASbC,SAAU,cAKdtlC,EAAOskC,MAAMxjC,UAAUC,YAAcf,EAAOskC,MAkB5CtkC,EAAOulC,aAAe,SAAUjkC,EAAMkkC,GAKlChnC,KAAK8C,KAAOA,EAKZ9C,KAAKinC,UAMLjnC,KAAKknC,cAAgB,UAEO,IAAjBF,GAAiD,OAAjBA,IAEvChnC,KAAKknC,cAAgBF,GAOzBhnC,KAAKmnC,aAAc,EAMnBnnC,KAAKonC,aAAc,EAMnBpnC,KAAKqnC,UAAW,EAMhBrnC,KAAKsnC,SAMLtnC,KAAKunC,QAAU,GAcfvnC,KAAKwnC,cAAgB,IAAIhmC,EAAO0gC,OAMhCliC,KAAKynC,eAAiB,KAMtBznC,KAAK0nC,kBAAoB,KAMzB1nC,KAAK2nC,iBAAmB,KAMxB3nC,KAAK4nC,iBAAmB,KAMxB5nC,KAAK6nC,iBAAmB,KAMxB7nC,KAAK8nC,iBAAmB,KAMxB9nC,KAAK+nC,oBAAsB,KAM3B/nC,KAAKgoC,qBAAuB,KAM5BhoC,KAAKioC,qBAAuB,KAM5BjoC,KAAKkoC,iBAAmB,KAMxBloC,KAAKmoC,kBAAoB,KAMzBnoC,KAAKooC,sBAAwB,KAM7BpoC,KAAKqoC,mBAAqB,MAI9B7mC,EAAOulC,aAAazkC,WAOhBmhC,KAAM,WAEFzjC,KAAK8C,KAAKwlC,QAAQvP,IAAI/4B,KAAKuoC,MAAOvoC,MAClCA,KAAK8C,KAAK0lC,SAASzP,IAAI/4B,KAAKyoC,OAAQzoC,MAET,OAAvBA,KAAKknC,eAAwD,iBAAvBlnC,KAAKknC,eAE3ClnC,KAAK+4B,IAAI,UAAW/4B,KAAKknC,eAAe,IAsBhDnO,IAAK,SAAUnmB,EAAKuzB,EAAOuC,QAELpiC,IAAdoiC,IAA2BA,GAAY,GAE3C,IAAIC,EA8BJ,OA5BIxC,aAAiB3kC,EAAOskC,MAExB6C,EAAWxC,EAEW,iBAAVA,GAEZwC,EAAWxC,GACFrjC,KAAO9C,KAAK8C,KAEC,mBAAVqjC,IAEZwC,EAAW,IAAIxC,EAAMnmC,KAAK8C,OAG9B9C,KAAKinC,OAAOr0B,GAAO+1B,EAEfD,IAEI1oC,KAAK8C,KAAK8lC,SAEV5oC,KAAKgM,MAAM4G,GAIX5S,KAAKknC,cAAgBt0B,GAItB+1B,GASX5sB,OAAQ,SAAUnJ,GAEV5S,KAAKunC,UAAY30B,IAEjB5S,KAAK6oC,gBAAkB,KAEvB7oC,KAAKynC,eAAiB,KACtBznC,KAAKqoC,mBAAqB,KAE1BroC,KAAK0nC,kBAAoB,KACzB1nC,KAAKioC,qBAAuB,KAC5BjoC,KAAKgoC,qBAAuB,KAC5BhoC,KAAK2nC,iBAAmB,KACxB3nC,KAAK4nC,iBAAmB,KACxB5nC,KAAK+nC,oBAAsB,KAC3B/nC,KAAK6nC,iBAAmB,KACxB7nC,KAAK8nC,iBAAmB,KACxB9nC,KAAKkoC,iBAAmB,KACxBloC,KAAKmoC,kBAAoB,KACzBnoC,KAAKooC,sBAAwB,aAG1BpoC,KAAKinC,OAAOr0B,IAavB5G,MAAO,SAAU4G,EAAKk2B,EAAYC,QAEXziC,IAAfwiC,IAA4BA,GAAa,QAC1BxiC,IAAfyiC,IAA4BA,GAAa,GAEzC/oC,KAAKgpC,WAAWp2B,KAGhB5S,KAAKknC,cAAgBt0B,EACrB5S,KAAKmnC,YAAc2B,EACnB9oC,KAAKonC,YAAc2B,EAEf1Y,UAAU1tB,OAAS,IAEnB3C,KAAKsnC,MAAQjgC,MAAM/E,UAAUoG,OAAOnE,KAAK8rB,UAAW,MAchE4Y,QAAS,SAAUH,EAAYC,QAERziC,IAAfwiC,IAA4BA,GAAa,QAC1BxiC,IAAfyiC,IAA4BA,GAAa,GAG7C/oC,KAAKknC,cAAgBlnC,KAAKunC,QAC1BvnC,KAAKmnC,YAAc2B,EACnB9oC,KAAKonC,YAAc2B,EAEf1Y,UAAU1tB,OAAS,IAEnB3C,KAAKsnC,MAAQjgC,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,UAAW,KAU3D6Y,MAAO,aAQPzkC,UAAW,WAEP,GAAIzE,KAAKknC,eAAiBlnC,KAAK8C,KAAK8lC,SACpC,CACI,IAAIO,EAAmBnpC,KAAKunC,QAS5B,GANAvnC,KAAKopC,oBAELppC,KAAKqpC,gBAAgBrpC,KAAKknC,eAE1BlnC,KAAKwnC,cAAcvC,SAASjlC,KAAKunC,QAAS4B,GAEtCnpC,KAAKunC,UAAYvnC,KAAKknC,cAEtB,OAIAlnC,KAAKknC,cAAgB,KAKrBlnC,KAAK0nC,mBAEL1nC,KAAK8C,KAAKmjC,KAAKL,OAAM,GACrB5lC,KAAK0nC,kBAAkBnjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,MAGb,IAAtC9C,KAAK8C,KAAKmjC,KAAKqD,oBAAkE,IAAtCtpC,KAAK8C,KAAKmjC,KAAKsD,mBAE1DvpC,KAAKwpC,eAKLxpC,KAAK8C,KAAKmjC,KAAKj6B,SAMnBhM,KAAKwpC,iBAYjBJ,kBAAmB,WAEXppC,KAAKunC,UAEDvnC,KAAKqoC,oBAELroC,KAAKqoC,mBAAmB9jC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,MAG5D9C,KAAK8C,KAAKsjC,OAAOqD,YAEjBzpC,KAAK8C,KAAK2X,OAAOmrB,QAEjB5lC,KAAK8C,KAAKkjC,MAAMJ,OAAM,GAEtB5lC,KAAK8C,KAAKwjC,QAAQ/rB,QAElBva,KAAK8C,KAAKiiC,KAAK0E,YAEfzpC,KAAK8C,KAAKhC,MAAM8kC,MAAM5lC,KAAKmnC,aAEvBnnC,KAAK8C,KAAK4mC,OAEV1pC,KAAK8C,KAAK4mC,MAAM9D,QAGhB5lC,KAAKmnC,cAELnnC,KAAK8C,KAAKE,MAAM8jC,WAEZ9mC,KAAKonC,aAELpnC,KAAK8C,KAAK6W,MAAMnX,aAchCwmC,WAAY,SAAUp2B,GAElB,IAAIuzB,EAAQnmC,KAAKinC,OAAOr0B,GAExB,OAAIuzB,KAEIA,EAAMI,SAAWJ,EAAM/9B,QAAU+9B,EAAMxB,QAAUwB,EAAMjhC,UAMvD5E,QAAQ0Z,KAAK,8HACN,IAKX1Z,QAAQ0Z,KAAK,sDAAwDpH,IAC9D,IAYf+2B,KAAM,SAAU/2B,GAEZ,IAAIuzB,EAAQnmC,KAAKinC,OAAOr0B,GAExBuzB,EAAMrjC,KAAO9C,KAAK8C,KAClBqjC,EAAMpN,IAAM/4B,KAAK8C,KAAKi2B,IACtBoN,EAAMJ,KAAO/lC,KAAK8C,KAAKijC,KACvBI,EAAM1rB,OAASza,KAAK8C,KAAK2X,OACzB0rB,EAAMxsB,MAAQ3Z,KAAK8C,KAAK6W,MACxBwsB,EAAMH,MAAQhmC,KAAK8C,KAAKkjC,MACxBG,EAAMF,KAAOjmC,KAAK8C,KAAKmjC,KACvBE,EAAMd,KAAOrlC,KAAK8C,KAAKuiC,KACvBc,EAAMD,MAAQlmC,KAAK8C,KAAKojC,MACxBC,EAAMrlC,MAAQd,KAAK8C,KAAKhC,MACxBqlC,EAAMA,MAAQnmC,KACdmmC,EAAMlsB,MAAQja,KAAK8C,KAAKmX,MACxBksB,EAAMpB,KAAO/kC,KAAK8C,KAAKiiC,KACvBoB,EAAMC,OAASpmC,KAAK8C,KAAKsjC,OACzBD,EAAMnjC,MAAQhD,KAAK8C,KAAKE,MACxBmjC,EAAME,UAAYrmC,KAAK8C,KAAKujC,UAC5BF,EAAMjB,IAAMllC,KAAK8C,KAAKoiC,IACtBiB,EAAMG,QAAUtmC,KAAK8C,KAAKwjC,QAC1BH,EAAMvzB,IAAMA,GAWhBg3B,OAAQ,SAAUh3B,GAEd,IAAIuzB,EAAQnmC,KAAKinC,OAAOr0B,GAEpBuzB,IAEAA,EAAMrjC,KAAO,KACbqjC,EAAMpN,IAAM,KACZoN,EAAMJ,KAAO,KACbI,EAAM1rB,OAAS,KACf0rB,EAAMxsB,MAAQ,KACdwsB,EAAMH,MAAQ,KACdG,EAAMF,KAAO,KACbE,EAAMd,KAAO,KACbc,EAAMD,MAAQ,KACdC,EAAMrlC,MAAQ,KACdqlC,EAAMA,MAAQ,KACdA,EAAMlsB,MAAQ,KACdksB,EAAMpB,KAAO,KACboB,EAAMC,OAAS,KACfD,EAAMnjC,MAAQ,KACdmjC,EAAME,UAAY,KAClBF,EAAMjB,IAAM,KACZiB,EAAMG,QAAU,OAYxB+C,gBAAiB,SAAUz2B,GAEvB,IAAIuzB,EAAQnmC,KAAKinC,OAAOr0B,GAExB5S,KAAK6oC,gBAAkB1C,EAEvBnmC,KAAK2pC,KAAK/2B,GAGV5S,KAAKynC,eAAiBtB,EAAY,MAAKnmC,KAAKkpC,MAE5ClpC,KAAK0nC,kBAAoBvB,EAAe,SAAK,KAC7CnmC,KAAKioC,qBAAuB9B,EAAkB,YAAK,KACnDnmC,KAAKgoC,qBAAuB7B,EAAkB,YAAK,KACnDnmC,KAAK2nC,iBAAmBxB,EAAc,QAAK,KAC3CnmC,KAAK4nC,iBAAmBzB,EAAc,QAAK,KAC3CnmC,KAAK+nC,oBAAsB5B,EAAiB,WAAK,KACjDnmC,KAAK6nC,iBAAmB1B,EAAc,QAAK,KAC3CnmC,KAAK8nC,iBAAmB3B,EAAc,QAAK,KAC3CnmC,KAAKkoC,iBAAmB/B,EAAc,QAAK,KAC3CnmC,KAAKmoC,kBAAoBhC,EAAe,SAAK,KAC7CnmC,KAAKooC,sBAAwBjC,EAAmB,aAAK,KAGrDnmC,KAAKqoC,mBAAqBlC,EAAgB,UAAKnmC,KAAKkpC,MAG/B,KAAjBlpC,KAAKunC,SAELvnC,KAAK8C,KAAKwjC,QAAQV,QAGtB5lC,KAAKunC,QAAU30B,EACf5S,KAAKqnC,UAAW,EAGhBrnC,KAAKynC,eAAeniC,MAAMtF,KAAK6oC,gBAAiB7oC,KAAKsnC,OAGjD10B,IAAQ5S,KAAKknC,gBAEblnC,KAAKsnC,UAGTtnC,KAAK8C,KAAK+mC,YAAa,GAW3BC,gBAAiB,WACb,OAAO9pC,KAAKinC,OAAOjnC,KAAKunC,UAO5BiC,aAAc,YAGY,IAAlBxpC,KAAKqnC,UAAsBrnC,KAAKgoC,sBAEhChoC,KAAKgoC,qBAAqBzjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,OAGxC,IAAlB9C,KAAKqnC,UAAsBrnC,KAAK2nC,kBAEhC3nC,KAAKqnC,UAAW,EAChBrnC,KAAK2nC,iBAAiBpjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,OAItD9C,KAAKqnC,UAAW,GASxBkB,MAAO,WAECvoC,KAAKqnC,UAAYrnC,KAAKkoC,kBAEtBloC,KAAKkoC,iBAAiB3jC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,OAS9D2lC,OAAQ,WAEAzoC,KAAKqnC,UAAYrnC,KAAKmoC,mBAEtBnoC,KAAKmoC,kBAAkB5jC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,OAS/D6hC,OAAQ,WAEA3kC,KAAKqnC,SAEDrnC,KAAK4nC,kBAEL5nC,KAAK4nC,iBAAiBrjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,MAKtD9C,KAAKgoC,sBAELhoC,KAAKgoC,qBAAqBzjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,OAUtE+jC,YAAa,WAEL7mC,KAAKqnC,SAEDrnC,KAAKooC,uBAELpoC,KAAKooC,sBAAsB7jC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,MAK3D9C,KAAKgoC,sBAELhoC,KAAKgoC,qBAAqBzjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,OAWtE4jC,UAAW,SAAUqD,GAEb/pC,KAAKqnC,UAAYrnC,KAAK+nC,qBAEtB/nC,KAAK+nC,oBAAoBxjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,KAAMinC,IASvE7jC,OAAQ,SAAUtI,EAAOC,GAEjBmC,KAAK8nC,kBAEL9nC,KAAK8nC,iBAAiBvjC,KAAKvE,KAAK6oC,gBAAiBjrC,EAAOC,IAShEqH,OAAQ,WAEAlF,KAAKqnC,SAEDrnC,KAAK6nC,mBAED7nC,KAAK8C,KAAKknC,aAAexoC,EAAO2nB,QAEhCnpB,KAAK8C,KAAK2K,QAAQqa,OAClB9nB,KAAK8C,KAAK2K,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC9CxO,KAAK6nC,iBAAiBtjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,MACtD9C,KAAK8C,KAAK2K,QAAQ2a,WAIlBpoB,KAAK6nC,iBAAiBtjC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,OAM1D9C,KAAKioC,sBAELjoC,KAAKioC,qBAAqB1jC,KAAKvE,KAAK6oC,gBAAiB7oC,KAAK8C,OAWtEN,QAAS,WAELxC,KAAKmnC,aAAc,EACnBnnC,KAAKonC,aAAc,EAEnBpnC,KAAKopC,oBAELppC,KAAK6oC,gBAAkB,KAEvB7oC,KAAKynC,eAAiB,KACtBznC,KAAKqoC,mBAAqB,KAE1BroC,KAAK0nC,kBAAoB,KACzB1nC,KAAKioC,qBAAuB,KAC5BjoC,KAAKgoC,qBAAuB,KAC5BhoC,KAAK2nC,iBAAmB,KACxB3nC,KAAK4nC,iBAAmB,KACxB5nC,KAAK6nC,iBAAmB,KACxB7nC,KAAKkoC,iBAAmB,KACxBloC,KAAKmoC,kBAAoB,KACzBnoC,KAAKooC,sBAAwB,KAE7BpoC,KAAK8C,KAAO,KACZ9C,KAAKinC,UACLjnC,KAAKknC,cAAgB,KACrBlnC,KAAKunC,QAAU,KAMvB/lC,EAAOulC,aAAazkC,UAAUC,YAAcf,EAAOulC,aAOnDngC,OAAOuF,eAAe3K,EAAOulC,aAAazkC,UAAW,WAEjDwE,IAAK,WAED,OAAO9G,KAAKqnC,YAyEpB7lC,EAAO0gC,OAAS,aAEhB1gC,EAAO0gC,OAAO5/B,WAMV2nC,UAAW,KAMXC,YAAa,KAUbC,UAAU,EAMVC,kBAAkB,EAUlBC,QAAQ,EAMRC,gBAAgB,EAQhBC,iBAAkB,SAAUC,EAAUC,GAElC,GAAwB,mBAAbD,EAEP,MAAM,IAAI7hC,MAAM,kFAAkFwrB,QAAQ,OAAQsW,KAc1HC,kBAAmB,SAAUF,EAAUG,EAAQC,EAAiBC,EAAU3a,GAEtE,IACI4a,EADAC,EAAY/qC,KAAKgrC,iBAAiBR,EAAUI,GAGhD,IAAmB,IAAfG,GAIA,IAFAD,EAAU9qC,KAAKiqC,UAAUc,IAEbJ,WAAaA,EAErB,MAAM,IAAIhiC,MAAM,kBAAoBgiC,EAAS,GAAK,QAAU,eAAkBA,EAAc,OAAL,IAAe,sEAK1GG,EAAU,IAAItpC,EAAOypC,cAAcjrC,KAAMwqC,EAAUG,EAAQC,EAAiBC,EAAU3a,GACtFlwB,KAAKkrC,YAAYJ,GAQrB,OALI9qC,KAAKmqC,UAAYnqC,KAAKkqC,aAEtBY,EAAQK,QAAQnrC,KAAKkqC,aAGlBY,GASXI,YAAa,SAAUJ,GAEd9qC,KAAKiqC,YAENjqC,KAAKiqC,cAIT,IAAI9S,EAAIn3B,KAAKiqC,UAAUtnC,OAEvB,GACIw0B,UAEGn3B,KAAKiqC,UAAU9S,IAAM2T,EAAQM,WAAaprC,KAAKiqC,UAAU9S,GAAGiU,WAEnEprC,KAAKiqC,UAAUvhC,OAAOyuB,EAAI,EAAG,EAAG2T,IAWpCE,iBAAkB,SAAUR,EAAU/8B,GAElC,IAAKzN,KAAKiqC,UAEN,OAAQ,OAGI3jC,IAAZmH,IAAyBA,EAAU,MAKvC,IAHA,IACI49B,EADAlU,EAAIn3B,KAAKiqC,UAAUtnC,OAGhBw0B,KAIH,IAFAkU,EAAMrrC,KAAKiqC,UAAU9S,IAEbmU,YAAcd,GAAYa,EAAI59B,UAAYA,EAE9C,OAAO0pB,EAIf,OAAQ,GAYZoU,IAAK,SAAUf,EAAU/8B,GAErB,OAAqD,IAA9CzN,KAAKgrC,iBAAiBR,EAAU/8B,IA8B3CsrB,IAAK,SAAUyR,EAAUI,EAAiBC,GAEtC7qC,KAAKuqC,iBAAiBC,EAAU,OAEhC,IAAIta,KAEJ,GAAIG,UAAU1tB,OAAS,EAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAElCwtB,EAAKxoB,KAAK2oB,UAAU3tB,IAI5B,OAAO1C,KAAK0qC,kBAAkBF,GAAU,EAAOI,EAAiBC,EAAU3a,IAiB9Esb,QAAS,SAAUhB,EAAUI,EAAiBC,GAE1C7qC,KAAKuqC,iBAAiBC,EAAU,WAEhC,IAAIta,KAEJ,GAAIG,UAAU1tB,OAAS,EAEnB,IAAK,IAAID,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAElCwtB,EAAKxoB,KAAK2oB,UAAU3tB,IAI5B,OAAO1C,KAAK0qC,kBAAkBF,GAAU,EAAMI,EAAiBC,EAAU3a,IAY7EnU,OAAQ,SAAUyuB,EAAU/8B,GAExBzN,KAAKuqC,iBAAiBC,EAAU,UAEhC,IAAI9nC,EAAI1C,KAAKgrC,iBAAiBR,EAAU/8B,GAQxC,OANW,IAAP/K,IAEA1C,KAAKiqC,UAAUvnC,GAAG+oC,WAClBzrC,KAAKiqC,UAAUvhC,OAAOhG,EAAG,IAGtB8nC,GAUXf,UAAW,SAAUh8B,GAIjB,QAFgBnH,IAAZmH,IAAyBA,EAAU,MAElCzN,KAAKiqC,UAAV,CAOA,IAFA,IAAI9S,EAAIn3B,KAAKiqC,UAAUtnC,OAEhBw0B,KAEC1pB,EAEIzN,KAAKiqC,UAAU9S,GAAG1pB,UAAYA,IAE9BzN,KAAKiqC,UAAU9S,GAAGsU,WAClBzrC,KAAKiqC,UAAUvhC,OAAOyuB,EAAG,IAK7Bn3B,KAAKiqC,UAAU9S,GAAGsU,WAIrBh+B,IAEDzN,KAAKiqC,UAAUtnC,OAAS,KAWhC+oC,gBAAiB,WAEb,OAAO1rC,KAAKiqC,UAAYjqC,KAAKiqC,UAAUtnC,OAAS,GAYpDgpC,KAAM,WAEF3rC,KAAKoqC,kBAAmB,GAY5BnF,SAAU,WAEN,GAAKjlC,KAAKqqC,QAAWrqC,KAAKiqC,UAA1B,CAKA,IAEI2B,EAFAC,EAAYxkC,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,WACvC8G,EAAIn3B,KAAKiqC,UAAUtnC,OAQvB,GALI3C,KAAKmqC,WAELnqC,KAAKkqC,YAAc2B,GAGlB1U,EAAL,CAMAyU,EAAW5rC,KAAKiqC,UAAUla,QAC1B/vB,KAAKoqC,kBAAmB,EAIxB,GACIjT,UAEGyU,EAASzU,IAAMn3B,KAAKoqC,mBAAuD,IAAnCwB,EAASzU,GAAGgU,QAAQU,OASvEC,OAAQ,WAEA9rC,KAAKkqC,cAELlqC,KAAKkqC,YAAc,OAa3B6B,QAAS,WAEL/rC,KAAKypC,YAELzpC,KAAKiqC,UAAY,KACbjqC,KAAKkqC,cAELlqC,KAAKkqC,YAAc,OAW3B1hB,SAAU,WAEN,MAAO,yBAA0BxoB,KAAKqqC,OAAQ,iBAAkBrqC,KAAK0rC,kBAAmB,MAehG9kC,OAAOuF,eAAe3K,EAAO0gC,OAAO5/B,UAAW,iBAE3CwE,IAAK,WACD,IAAIklC,EAAQhsC,KACZ,OAAOA,KAAKsqC,iBAAmBtqC,KAAKsqC,eAAiB,WACjD,OAAO0B,EAAM/G,SAAS3/B,MAAM0mC,EAAO3b,gBAM/C7uB,EAAO0gC,OAAO5/B,UAAUC,YAAcf,EAAO0gC,OAuB7C1gC,EAAOypC,cAAgB,SAAUgB,EAAQzB,EAAUG,EAAQC,EAAiBC,EAAU3a,GAMlFlwB,KAAKsrC,UAAYd,EAEbG,IAEA3qC,KAAKksC,SAAU,GAGI,MAAnBtB,IAEA5qC,KAAKyN,QAAUm9B,GAOnB5qC,KAAKmsC,QAAUF,EAEXpB,IAEA7qC,KAAKorC,UAAYP,GAGjB3a,GAAQA,EAAKvtB,SAEb3C,KAAKsnC,MAAQpX,IAKrB1uB,EAAOypC,cAAc3oC,WAKjBmL,QAAS,KAMTy+B,SAAS,EAMTd,UAAW,EAMX9D,MAAO,KAKP8E,UAAW,EAOX/B,QAAQ,EAORgC,OAAQ,KASRlB,QAAS,SAASU,GAEd,IAAIS,EAAeD,EAqBnB,OAnBIrsC,KAAKqqC,QAAYrqC,KAAKsrC,YAEtBe,EAASrsC,KAAKqsC,OAASrsC,KAAKqsC,OAAOjc,OAAOyb,GAAaA,EAEnD7rC,KAAKsnC,QAEL+E,EAASA,EAAOjc,OAAOpwB,KAAKsnC,QAGhCgF,EAAgBtsC,KAAKsrC,UAAUhmC,MAAMtF,KAAKyN,QAAS4+B,GAEnDrsC,KAAKosC,YAEDpsC,KAAKksC,SAELlsC,KAAKusC,UAIND,GAUXC,OAAQ,WACJ,OAAOvsC,KAAKwsC,UAAYxsC,KAAKmsC,QAAQpwB,OAAO/b,KAAKsrC,UAAWtrC,KAAKyN,SAAW,MAOhF++B,QAAS,WACL,QAAUxsC,KAAKmsC,WAAansC,KAAKsrC,WAOrCX,OAAQ,WACJ,OAAO3qC,KAAKksC,SAOhBO,YAAa,WACT,OAAOzsC,KAAKsrC,WAOhBoB,UAAW,WACP,OAAO1sC,KAAKmsC,SAQhBV,SAAU,kBACCzrC,KAAKmsC,eACLnsC,KAAKsrC,iBACLtrC,KAAKyN,SAOhB+a,SAAU,WACN,MAAO,gCAAkCxoB,KAAKksC,QAAS,aAAclsC,KAAKwsC,UAAW,YAAcxsC,KAAKqqC,OAAS,MAKzH7oC,EAAOypC,cAAc3oC,UAAUC,YAAcf,EAAOypC,cAoCpDzpC,EAAOohB,OAAS,SAAU9f,EAAM+P,EAAUxC,GAKtCrQ,KAAK8C,KAAOA,EAMZ9C,KAAKoT,KAAO5R,EAAO4rB,aAQnBptB,KAAKuH,QAAWvH,MAMhBA,KAAK0iB,WAML1iB,KAAKoR,OAAQ,EAMbpR,KAAKomB,QAAU,EAKfpmB,KAAK2sC,UAAY,IAAInrC,EAAOX,MAM5B,IAAIuC,EAAI,IAAIwpC,KAoBZ,GAfA5sC,KAAK6S,UAEDlO,YAAcyO,KAAM,KAAMpM,OAASlD,EAAG,IAAKC,EAAG,MAC9CghC,MAAQ3xB,KAAM,KAAMpM,MAAO,GAC3B6lC,OAASz5B,KAAM,KAAMpM,OAASlD,EAAG,EAAKC,EAAG,IACzC+oC,MAAQ15B,KAAM,MAAOpM,OAAS5D,EAAE2pC,cAAgB3pC,EAAE4pC,WAAa5pC,EAAE6pC,UAAyB,GAAd7pC,EAAE8pC,WAAiB,GAAsB,GAAjB9pC,EAAE+pC,aAAoB/pC,EAAEgqC,eAC5HC,YAAcj6B,KAAM,KAAMpM,MAAO,OACjCsmC,WAAal6B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEg5B,WAAan6B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEi5B,WAAap6B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,IACpEk5B,WAAar6B,KAAM,YAAapM,MAAO,KAAM+M,aAAeQ,QAAQ,KAKpE1B,EAEA,IAAK,IAAID,KAAOC,EAEZ7S,KAAK6S,SAASD,GAAOC,EAASD,GAKX,iBAAhBvC,IAEPA,EAAcA,EAAYqhB,MAAM,OAMpC1xB,KAAKqQ,YAAcA,OAIvB7O,EAAOohB,OAAOtgB,WAOVgP,KAAM,aAaNo8B,cAAe,SAAU9vC,EAAOC,GAE5BmC,KAAK6S,SAASlO,WAAWqC,MAAMlD,EAAIlG,EACnCoC,KAAK6S,SAASlO,WAAWqC,MAAMjD,EAAIlG,GAUvC8mC,OAAQ,SAAUgJ,GAEd,GAAIA,EACJ,CACI,IAAI7pC,EAAI6pC,EAAQ7pC,EAAI9D,KAAK8C,KAAKlF,MAC1BmG,EAAI,EAAI4pC,EAAQ5pC,EAAI/D,KAAK8C,KAAKjF,OAE9BiG,IAAM9D,KAAK2sC,UAAU7oC,GAAKC,IAAM/D,KAAK2sC,UAAU5oC,IAE/C/D,KAAK6S,SAASg6B,MAAM7lC,MAAMlD,EAAIA,EAAE8pC,QAAQ,GACxC5tC,KAAK6S,SAASg6B,MAAM7lC,MAAMjD,EAAIA,EAAE6pC,QAAQ,GACxC5tC,KAAK2sC,UAAU5lC,IAAIjD,EAAGC,IAI9B/D,KAAK6S,SAASkyB,KAAK/9B,MAAQhH,KAAK8C,KAAKiiC,KAAK8I,uBAsB9CC,WAAY,SAAUhqC,EAAGC,EAAGnG,EAAOC,EAAQkwC,EAASC,QAEhC1nC,IAAZynC,IAAyBA,EAAU,QACvBznC,IAAZ0nC,IAAyBA,EAAU,QAEzB1nC,IAAV1I,GAAiC,OAAVA,EAEvBoC,KAAKpC,MAAQA,EAIbA,EAAQoC,KAAKpC,WAGF0I,IAAXzI,GAAmC,OAAXA,EAExBmC,KAAKnC,OAASA,EAIdA,EAASmC,KAAKnC,OAGlB,IAAIgc,EAAQ7Z,KAAK8C,KAAKi2B,IAAIlf,MAAM/V,EAAGC,EAAGvC,EAAOysC,MAAM3mB,SASnD,OAPAzN,EAAMjc,MAAQA,EACdic,EAAMhc,OAASA,EAEfgc,EAAMnT,OAAOK,IAAIgnC,EAASC,GAE1Bn0B,EAAMpT,SAAYzG,MAEX6Z,GASX/E,aAAc,WAEV,IAAK,IAAIpS,EAAI,EAAGA,EAAI1C,KAAK0iB,QAAQ/f,OAAQD,IAErC1C,KAAK0iB,QAAQhgB,GAAG0O,OAAQ,GAUhC5O,QAAS,WAELxC,KAAKuH,OAAO5E,OAAS,EACrB3C,KAAK0iB,QAAQ/f,OAAS,EACtB3C,KAAKqQ,YAAY1N,OAAS,EAE1B3C,KAAK8C,KAAO,KACZ9C,KAAK6S,SAAW,KAChB7S,KAAK2sC,UAAY,OAMzBnrC,EAAOohB,OAAOtgB,UAAUC,YAAcf,EAAOohB,OAM7Chc,OAAOuF,eAAe3K,EAAOohB,OAAOtgB,UAAW,SAE3CwE,IAAK,WAED,OAAO9G,KAAK6S,SAASlO,WAAWqC,MAAMlD,GAI1CiD,IAAK,SAAUC,GAEXhH,KAAK6S,SAASlO,WAAWqC,MAAMlD,EAAIkD,KAU3CJ,OAAOuF,eAAe3K,EAAOohB,OAAOtgB,UAAW,UAE3CwE,IAAK,WAED,OAAO9G,KAAK6S,SAASlO,WAAWqC,MAAMjD,GAI1CgD,IAAK,SAAUC,GAEXhH,KAAK6S,SAASlO,WAAWqC,MAAMjD,EAAIiD,KAgC3CxF,EAAO0sC,OAAS,SAAUprC,EAAMzB,QAEbiF,IAAXjF,IAAwBA,EAAS,MAKrCrB,KAAK8C,KAAOA,EAKZ9C,KAAKqB,OAASA,EAMdrB,KAAKqqC,QAAS,EAMdrqC,KAAKkB,SAAU,EAMflB,KAAKmuC,cAAe,EAMpBnuC,KAAKouC,WAAY,EAMjBpuC,KAAKquC,eAAgB,EAMrBruC,KAAKsuC,WAAY,EAMjBtuC,KAAKuuC,eAAgB,GAIzB/sC,EAAO0sC,OAAO5rC,WAOVmC,UAAW,aAQXkgC,OAAQ,aAQRz/B,OAAQ,aAQRspC,WAAY,aAOZhsC,QAAS,WAELxC,KAAK8C,KAAO,KACZ9C,KAAKqB,OAAS,KACdrB,KAAKqqC,QAAS,EACdrqC,KAAKkB,SAAU,IAMvBM,EAAO0sC,OAAO5rC,UAAUC,YAAcf,EAAO0sC,OAiB7C1sC,EAAOitC,cAAgB,SAAS3rC,GAK5B9C,KAAK8C,KAAOA,EAKZ9C,KAAK0uC,WAML1uC,KAAK2uC,KAAO,EAMZ3uC,KAAK4uC,GAAK,GAIdptC,EAAOitC,cAAcnsC,WAWjBy2B,IAAK,SAAU8V,GAEX,IAAI3e,EAAO7oB,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,UAAW,GAC7CqI,GAAS,EA6Cb,MA1CsB,mBAAXmW,EAEPA,EAAS,IAAIA,EAAO7uC,KAAK8C,KAAM9C,OAI/B6uC,EAAO/rC,KAAO9C,KAAK8C,KACnB+rC,EAAOxtC,OAASrB,MAIe,mBAAxB6uC,EAAkB,YAEzBA,EAAOV,cAAe,EACtBzV,GAAS,GAGmB,mBAArBmW,EAAe,SAEtBA,EAAOT,WAAY,EACnB1V,GAAS,GAGuB,mBAAzBmW,EAAmB,aAE1BA,EAAOR,eAAgB,EACvB3V,GAAS,GAGmB,mBAArBmW,EAAe,SAEtBA,EAAOP,WAAY,EACnB5V,GAAS,GAGuB,mBAAzBmW,EAAmB,aAE1BA,EAAON,eAAgB,EACvB7V,GAAS,GAITA,IAEImW,EAAOV,cAAgBU,EAAOT,WAAaS,EAAOR,iBAElDQ,EAAOxE,QAAS,IAGhBwE,EAAOP,WAAaO,EAAON,iBAE3BM,EAAO3tC,SAAU,GAGrBlB,KAAK2uC,KAAO3uC,KAAK0uC,QAAQhnC,KAAKmnC,GAGA,mBAAnBA,EAAa,MAEpBA,EAAOv9B,KAAKhM,MAAMupC,EAAQ3e,GAGvB2e,GAIA,MAWf9yB,OAAQ,SAAU8yB,EAAQrsC,GAMtB,SAJgB8D,IAAZ9D,IAAyBA,GAAU,GAEvCxC,KAAK4uC,GAAK5uC,KAAK2uC,KAER3uC,KAAK4uC,MAER,GAAI5uC,KAAK0uC,QAAQ1uC,KAAK4uC,MAAQC,EAS1B,OAPIrsC,GAEAqsC,EAAOrsC,UAGXxC,KAAK0uC,QAAQhmC,OAAO1I,KAAK4uC,GAAI,QAC7B5uC,KAAK2uC,QAYjBlF,UAAW,WAIP,IAFAzpC,KAAK4uC,GAAK5uC,KAAK2uC,KAER3uC,KAAK4uC,MAER5uC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIpsC,UAG1BxC,KAAK0uC,QAAQ/rC,OAAS,EACtB3C,KAAK2uC,KAAO,GAUhBlqC,UAAW,WAIP,IAFAzE,KAAK4uC,GAAK5uC,KAAK2uC,KAER3uC,KAAK4uC,MAEJ5uC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIvE,QAAUrqC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIT,cAEtDnuC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAInqC,aAYlCkgC,OAAQ,WAIJ,IAFA3kC,KAAK4uC,GAAK5uC,KAAK2uC,KAER3uC,KAAK4uC,MAEJ5uC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIvE,QAAUrqC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIR,WAEtDpuC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIjK,UAalCmK,WAAY,WAIR,IAFA9uC,KAAK4uC,GAAK5uC,KAAK2uC,KAER3uC,KAAK4uC,MAEJ5uC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIvE,QAAUrqC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIP,eAEtDruC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIE,cAYlC5pC,OAAQ,WAIJ,IAFAlF,KAAK4uC,GAAK5uC,KAAK2uC,KAER3uC,KAAK4uC,MAEJ5uC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAI1tC,SAAWlB,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIN,WAEvDtuC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAI1pC,UAYlCspC,WAAY,WAIR,IAFAxuC,KAAK4uC,GAAK5uC,KAAK2uC,KAER3uC,KAAK4uC,MAEJ5uC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAI1tC,SAAWlB,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIL,eAEvDvuC,KAAK0uC,QAAQ1uC,KAAK4uC,IAAIJ,cAWlChsC,QAAS,WAELxC,KAAKypC,YAELzpC,KAAK8C,KAAO,OAMpBtB,EAAOitC,cAAcnsC,UAAUC,YAAcf,EAAOitC,cAiBpDjtC,EAAOutC,MAAQ,SAAUjsC,GAKrB9C,KAAK8C,KAAOA,EAEZtE,KAAK0J,uBAAuB3D,KAAKvE,MAMjCA,KAAK6xB,KAAO,cAWZ7xB,KAAKgvC,yBAA0B,EAM/BhvC,KAAK6M,QAAS,EAOd7M,KAAKuB,eAAiB,IAAIC,EAAOC,OAOjCzB,KAAKia,MAAQja,KAKbA,KAAKivC,qBAAuB,EAM5BjvC,KAAKkvC,WAAa,SAMlBlvC,KAAKmvC,UAAY,KAMjBnvC,KAAKqa,UAAapW,EAAG,EAAGqW,EAAG,EAAGpX,EAAG,EAAGD,EAAG,EAAGgT,MAAO,EAAGyT,KAAM,WAErD1pB,KAAK8C,KAAK0T,cAGXxW,KAAKqa,SAASpX,EAAI,GAGlBH,EAAKsT,QAELpW,KAAKovC,YAAYtsC,EAAKsT,SAK9B5U,EAAOutC,MAAMzsC,UAAYsE,OAAOwB,OAAO5J,KAAK0J,uBAAuB5F,WACnEd,EAAOutC,MAAMzsC,UAAUC,YAAcf,EAAOutC,MAS5CvtC,EAAOutC,MAAMzsC,UAAU8sC,YAAc,SAAUh5B,GAEvCA,EAAgC,0BAEhCpW,KAAKgvC,wBAA0B54B,EAAgC,yBAG/DA,EAAwB,iBAExBpW,KAAKqvC,mBAAmBj5B,EAAwB,kBAUxD5U,EAAOutC,MAAMzsC,UAAUmhC,KAAO,WAE1BjiC,EAAO8tC,IAAIC,UAAUvvC,KAAK8C,KAAK+T,OAAQ7W,KAAKoX,QAE5C5V,EAAO6nB,OAAOmmB,cAAcxvC,KAAK8C,KAAK+T,OAAQ,QAC9CrV,EAAO6nB,OAAOomB,eAAezvC,KAAK8C,KAAK+T,OAAQ,QAE/C7W,KAAK0vC,mBAUTluC,EAAOutC,MAAMzsC,UAAUmC,UAAY,WAE/BzE,KAAKivC,qBAAuB,EAK5B,IAFA,IAAIvsC,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI2F,EAAQtI,KAAKyC,SAASC,GAE1B4F,EAAM7D,YAEFzE,OAASsI,EAAMjH,QAEfqB,MAWZlB,EAAOutC,MAAMzsC,UAAUqiC,OAAS,WAK5B,IAFA,IAAIjiC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAGiiC,UAYzBnjC,EAAOutC,MAAMzsC,UAAUwsC,WAAa,WAGhC9uC,KAAK8C,KAAK2X,OAAOkqB,SAGb3kC,KAAK8C,KAAK2X,OAAO7S,SAEjB5H,KAAK8C,KAAK2X,OAAO7S,OAAOknC,aAExB9uC,KAAK6C,kBAEL7C,KAAK8C,KAAK2X,OAAO2qB,gBAGrB,IAAK,IAAI1iC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGosC,aAGrB9uC,KAAK6C,mBAUTrB,EAAOutC,MAAMzsC,UAAUO,gBAAkB,WAErC7C,KAAKsB,WAAa,EAElB,IAAK,IAAIoB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGG,mBAWzBrB,EAAOutC,MAAMzsC,UAAUotC,gBAAkB,gBAEbppC,IAApBqpC,SAASC,OAET5vC,KAAKkvC,WAAa,wBAEa5oC,IAA1BqpC,SAASE,aAEd7vC,KAAKkvC,WAAa,8BAEU5oC,IAAvBqpC,SAASG,UAEd9vC,KAAKkvC,WAAa,2BAES5oC,IAAtBqpC,SAASI,SAEd/vC,KAAKkvC,WAAa,qBAIlBlvC,KAAKkvC,WAAa,KAGtB,IAAIlD,EAAQhsC,KAEZA,KAAKmvC,UAAY,SAAUa,GACvB,OAAOhE,EAAMiE,iBAAiBD,IAGlChwC,KAAKkwC,SAAW,SAAUF,QACK1pC,IAAtBqpC,SAASQ,UAA4BR,SAASQ,YAE/CnE,EAAMiE,iBAAiBD,IAK3BhwC,KAAKkvC,YAELS,SAASS,iBAAiBpwC,KAAKkvC,WAAYlvC,KAAKmvC,WAAW,GAG/Dn/B,OAAOqgC,OAASrwC,KAAKmvC,UACrBn/B,OAAOsgC,QAAUtwC,KAAKmvC,UAEtBn/B,OAAOugC,WAAavwC,KAAKmvC,UACzBn/B,OAAOwgC,WAAaxwC,KAAKmvC,UAEzBn/B,OAAOogC,iBAAiB,QAASpwC,KAAKkwC,UAElClwC,KAAK8C,KAAK+mB,OAAO4mB,cAEjBC,SAASC,IAAIC,YAAYR,iBAAiB,WACtC5uC,EAAOutC,MAAMzsC,UAAU2tC,iBAAiB1rC,KAAKynC,GAAS54B,KAAM,YAGhEs9B,SAASC,IAAIE,YAAYT,iBAAiB,WACtC5uC,EAAOutC,MAAMzsC,UAAU2tC,iBAAiB1rC,KAAKynC,GAAS54B,KAAM,eAiBxE5R,EAAOutC,MAAMzsC,UAAU2tC,iBAAmB,SAAUD,GAIhD,OAAQA,EAAM58B,MAEV,IAAK,OACL,IAAK,WAED,YADApT,KAAK8C,KAAKguC,UAAUd,GAExB,IAAK,QACL,IAAK,QACL,IAAK,WAED,YADAhwC,KAAK8C,KAAKiuC,UAAUf,GAIxBhwC,KAAKgvC,0BAKLW,SAASC,QAAUD,SAASG,WAAaH,SAASI,UAAYJ,SAASE,cAA+B,UAAfG,EAAM58B,KAE7FpT,KAAK8C,KAAKkuC,WAAWhB,GAIrBhwC,KAAK8C,KAAKmuC,YAAYjB,KAmB9BxuC,EAAOutC,MAAMzsC,UAAU+sC,mBAAqB,SAAUp5B,GAE9CjW,KAAK8C,KAAK0T,cAEdhV,EAAOue,MAAMmxB,aAAaj7B,EAAOjW,KAAKqa,UACtC7Y,EAAOue,MAAMoxB,YAAYnxC,KAAKqa,UAG9Bra,KAAKqa,SAASpW,GAAK,IACnBjE,KAAKqa,SAASC,GAAK,IACnBta,KAAKqa,SAASnX,GAAK,IACnBlD,KAAKqa,SAASpX,EAAI,IAStBzB,EAAOutC,MAAMzsC,UAAUE,QAAU,WAEzBxC,KAAKkvC,YAELS,SAASyB,oBAAoBpxC,KAAKkvC,WAAYlvC,KAAKmvC,WAAW,GAGlEn/B,OAAOugC,WAAa,KACpBvgC,OAAOwgC,WAAa,KAEpBxgC,OAAOqgC,OAAS,KAChBrgC,OAAOsgC,QAAU,KAEjBtgC,OAAOohC,oBAAoB,QAASpxC,KAAKkwC,WAmB7C1uC,EAAOutC,MAAMzsC,UAAUy2B,IAAM,SAAUzwB,EAAO+oC,EAAQ7oC,GAElD,OAAIF,EAAMjH,SAAWrB,KAEVsI,GAGPA,EAAMgpC,MAAQhpC,EAAMjH,QAAUiH,EAAMjH,OAAOkwC,MAE3CjpC,EAAMjH,OAAOmwC,eAAelpC,QAGlBhC,IAAVkC,EAEAxI,KAAKqI,SAASC,GAIdtI,KAAKuI,WAAWD,EAAOE,GAGpBF,IASX1B,OAAOuF,eAAe3K,EAAOutC,MAAMzsC,UAAW,mBAE1CwE,IAAK,WAED,OAAO9G,KAAKqa,SAASpE,OAIzBlP,IAAK,SAAUkP,GAEXjW,KAAKqvC,mBAAmBp5B,MAYhCrP,OAAOuF,eAAe3K,EAAOutC,MAAMzsC,UAAW,YAE1CwE,IAAK,WAED,OAAOtI,KAAKC,WAAW6oB,UAAY9oB,KAAKC,WAAWC,QAIvDqI,IAAK,SAAUC,GAIPxI,KAAKC,WAAW6oB,QAFhBtgB,EAE0BxI,KAAKC,WAAWC,OAIhBF,KAAKC,WAAWE,WAgCtD6C,EAAOiwC,MAAQ,SAAU3uC,EAAMzB,EAAQwwB,EAAM6f,EAAYC,EAAYC,QAE9CtrC,IAAforC,IAA4BA,GAAa,QAC1BprC,IAAfqrC,IAA4BA,GAAa,QACrBrrC,IAApBsrC,IAAiCA,EAAkBpwC,EAAOqwC,QAAQC,QAOtE9xC,KAAK8C,KAAOA,OAEGwD,IAAXjF,IAEAA,EAASyB,EAAKE,OAOlBhD,KAAK6xB,KAAOA,GAAQ,QAQpB7xB,KAAKgV,EAAI,EAETxW,KAAK0J,uBAAuB3D,KAAKvE,MAE7B0xC,GAEA1xC,KAAK8C,KAAKmX,MAAM5R,SAASrI,MACzBA,KAAKgV,EAAIhV,KAAK8C,KAAKmX,MAAMxX,SAASE,QAI9BtB,IAEAA,EAAOgH,SAASrI,MAChBA,KAAKgV,EAAI3T,EAAOoB,SAASE,QASjC3C,KAAKoT,KAAO5R,EAAOorB,MAMnB5sB,KAAK+xC,YAAcvwC,EAAOorB,MAO1B5sB,KAAKgyC,OAAQ,EAObhyC,KAAK6M,QAAS,EAOd7M,KAAKiyC,eAAgB,EAYrBjyC,KAAKkyC,gBAAiB,EAUtBlyC,KAAKmyC,UAAY3wC,EAAOqE,OAQxB7F,KAAKoyC,OAAS,KAWdpyC,KAAKqyC,qBAAsB,EAQ3BryC,KAAKsyC,4BAA6B,EAYlCtyC,KAAKuyC,iBAAmB,IAAI/wC,EAAO0gC,OAanCliC,KAAKwyC,eAAiB,IAAIhxC,EAAO0gC,OAYjCliC,KAAKyyC,iBAAmB,IAAIjxC,EAAO0gC,OAYnCliC,KAAK0yC,gBAAkB,IAAIlxC,EAAO0gC,OAUlCliC,KAAK2xC,WAAaA,EASlB3xC,KAAK2yC,iBAAkB,EAQvB3yC,KAAK4xC,gBAAkBA,EAkBvB5xC,KAAK4yC,qBAAuB,KAM5B5yC,KAAK6yC,UAAY,IAAIrxC,EAAO0gC,OAM5BliC,KAAK8yC,YAAc,EAUnB9yC,KAAK+yC,eAAgB,EAOrB/yC,KAAKgzC,aAAe,IAAIxxC,EAAOX,MAa/Bb,KAAKuxC,QAOLvxC,KAAKizC,cAAgB,KAIzBzxC,EAAOiwC,MAAMnvC,UAAYsE,OAAOwB,OAAO5J,KAAK0J,uBAAuB5F,WACnEd,EAAOiwC,MAAMnvC,UAAUC,YAAcf,EAAOiwC,MAO5CjwC,EAAOiwC,MAAMyB,YAAc,EAO3B1xC,EAAOiwC,MAAM0B,aAAe,EAO5B3xC,EAAOiwC,MAAM2B,aAAe,EAO5B5xC,EAAOiwC,MAAM4B,WAAa,EAO1B7xC,EAAOiwC,MAAM6B,gBAAkB,EAO/B9xC,EAAOiwC,MAAM8B,gBAAkB,EAwB/B/xC,EAAOiwC,MAAMnvC,UAAUy2B,IAAM,SAAUzwB,EAAO+oC,EAAQ7oC,GAIlD,YAFelC,IAAX+qC,IAAwBA,GAAS,GAEjC/oC,EAAMjH,SAAWrB,KAEVsI,GAGPA,EAAMgpC,MAAQhpC,EAAMjH,QAAUiH,EAAMjH,OAAOkwC,MAE3CjpC,EAAMjH,OAAOmwC,eAAelpC,QAGlBhC,IAAVkC,GAEAF,EAAM0M,EAAIhV,KAAKyC,SAASE,OAExB3C,KAAKqI,SAASC,KAIdtI,KAAKuI,WAAWD,EAAOE,GAEvBxI,KAAKwzC,WAGLxzC,KAAK2xC,YAAcrpC,EAAM8oB,eAAe,SAA0B,OAAf9oB,EAAMgpC,KAEzDtxC,KAAK8C,KAAKwjC,QAAQ3tB,OAAOrQ,EAAOtI,KAAK4xC,iBAEhCtpC,EAAMgpC,MAEXtxC,KAAKyzC,UAAUnrC,IAGftI,KAAKqyC,qBAAyB/pC,EAAM09B,QAAS19B,EAAMorC,eAEnDprC,EAAMorC,cAAe,IAGpBrC,GAAU/oC,EAAMqrC,QAEjBrrC,EAAMqrC,OAAOC,wBAAwBtrC,EAAOtI,MAG5B,OAAhBA,KAAKoyC,SAELpyC,KAAKoyC,OAAS9pC,GAGXA,IAmBX9G,EAAOiwC,MAAMnvC,UAAUuxC,MAAQ,SAAUvrC,EAAOE,EAAO6oC,GAEnD,OAAOrxC,KAAK+4B,IAAIzwB,EAAO+oC,EAAQ7oC,IAYnChH,EAAOiwC,MAAMnvC,UAAUmxC,UAAY,SAAUnrC,GAEzC,OAAIA,EAAMjH,SAAWrB,OAIF,IAFHA,KAAKuxC,KAAKtoC,QAAQX,KAI1BtI,KAAKuxC,KAAK7pC,KAAKY,IACR,IAgBnB9G,EAAOiwC,MAAMnvC,UAAUkvC,eAAiB,SAAUlpC,GAE9C,GAAIA,EACJ,CACI,IAAIE,EAAQxI,KAAKuxC,KAAKtoC,QAAQX,GAE9B,IAAe,IAAXE,EAGA,OADAxI,KAAKuxC,KAAK7oC,OAAOF,EAAO,IACjB,EAIf,OAAO,GAqBXhH,EAAOiwC,MAAMnvC,UAAUwxC,YAAc,SAAUrxC,EAAU4uC,GAErD,GAAI5uC,aAAoBjB,EAAOiwC,MAE3BhvC,EAASsxC,QAAQ/zC,KAAMqxC,QAEtB,GAAIhqC,MAAMC,QAAQ7E,GAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAASE,OAAQD,IAEjC1C,KAAK+4B,IAAIt2B,EAASC,GAAI2uC,GAI9B,OAAO5uC,GAWXjB,EAAOiwC,MAAMnvC,UAAU0xC,MAAQ,SAAUxrC,GAErC,OAAIA,EAAQ,GAAKA,GAASxI,KAAKyC,SAASE,QAE5B,EAID3C,KAAKoJ,WAAWZ,IA4B/BhH,EAAOiwC,MAAMnvC,UAAU8F,OAAS,SAAUtE,EAAGC,EAAG6O,EAAK5F,EAAOH,EAAQrE,QAEjDlC,IAAXuG,IAAwBA,GAAS,GAErC,IAAIvE,EAAQ,IAAItI,KAAKmyC,UAAUnyC,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAK5F,GAMrD,OAJA1E,EAAMuE,OAASA,EACfvE,EAAMpH,QAAU2L,EAChBvE,EAAM0pC,MAAQnlC,EAEP7M,KAAK+4B,IAAIzwB,GAAO,EAAOE,IAqDlChH,EAAOiwC,MAAMnvC,UAAU2xC,eAAiB,SAAUC,EAAUthC,EAAK5F,EAAOH,EAAQsnC,EAAUtL,QAExEviC,IAAV0G,IAAuBA,EAAQ,QACpB1G,IAAXuG,IAAwBA,GAAS,GAEhCxF,MAAMC,QAAQsL,KAEfA,GAAQA,IAGPvL,MAAMC,QAAQ0F,KAEfA,GAAUA,IAGd,IAAIg/B,EAAQhsC,KACRyC,KAmBJ,OAjBAmQ,EAAI8d,QAAQ,SAAS0jB,GAEjBpnC,EAAM0jB,QAAQ,SAAS2jB,GAEnB,IAAK,IAAI3xC,EAAI,EAAGA,EAAIwxC,EAAUxxC,IAC9B,CACI,IAAI4F,EAAQ0jC,EAAM5jC,OAAO,EAAG,EAAGgsC,EAAWC,EAAaxnC,GAEnDsnC,GAAYA,EAAS5vC,KAAKskC,GAAmBvgC,EAAOA,EAAO5F,GAE/DD,EAASiF,KAAKY,QAOnB7F,GAYXjB,EAAOiwC,MAAMnvC,UAAUkxC,QAAU,WAI7B,IAFA,IAAI9wC,EAAI1C,KAAKyC,SAASE,OAEfD,KAEH1C,KAAKyC,SAASC,GAAGsS,EAAItS,GAyD7BlB,EAAOiwC,MAAMnvC,UAAUgyC,MAAQ,SAAU12C,EAAOC,EAAQ02C,EAAWC,EAAY5zC,EAAUwW,GAKrF,QAHiB9Q,IAAb1F,IAA0BA,EAAWY,EAAOutB,eACjCzoB,IAAX8Q,IAAwBA,EAAS,GAER,IAAzBpX,KAAKyC,SAASE,QAAgByU,EAASpX,KAAKyC,SAASE,SAAsB,IAAX/E,IAA4B,IAAZC,EAEhF,OAAO,EAOX,IAAK,IAJDoG,EAAI,IAAIzC,EAAOS,UAAU,EAAG,EAAGsyC,EAAWC,GAC1Cv/B,EAAKrX,EAAQ22C,EACbpwB,EAAKtmB,EAAS22C,EAET9xC,EAAI0U,EAAQ1U,EAAI1C,KAAKyC,SAASE,OAAQD,IAC/C,CACI,IAAI4F,EAAQtI,KAAKyC,SAASC,GAE1B,GAAI4F,EAAe,QASnB,GAPIA,EAAMmsC,QAAQxwC,EAAGrD,IAON,IAAXhD,EAGAqG,EAAEF,GAAKywC,EAEHvwC,EAAEF,IAAMogB,IAERlgB,EAAEH,GAAKywC,EACPtwC,EAAEF,EAAI,QAGT,IAAgB,IAAZlG,EAGLoG,EAAEH,GAAKywC,EAEHtwC,EAAEH,IAAMmR,IAERhR,EAAEH,EAAI,EACNG,EAAEF,GAAKywC,QAQX,GAFAvwC,EAAEH,GAAKywC,EAEHtwC,EAAEH,IAAMmR,IAERhR,EAAEH,EAAI,EACNG,EAAEF,GAAKywC,EAEHvwC,EAAEF,IAAMogB,GAGR,OAAO,EAMvB,OAAO,GAaX3iB,EAAOiwC,MAAMnvC,UAAUoyC,YAAc,SAAUlsC,GAS3C,QAPclC,IAAVkC,IAAuBA,EAAQ,GAE/BA,EAAQxI,KAAKyC,SAASE,OAAS,IAE/B6F,EAAQ,GAGRxI,KAAKoyC,OAIL,OAFApyC,KAAK8yC,YAActqC,EACnBxI,KAAKoyC,OAASpyC,KAAKyC,SAASzC,KAAK8yC,aAC1B9yC,KAAKoyC,QAapB5wC,EAAOiwC,MAAMnvC,UAAUqyC,KAAO,WAE1B,GAAI30C,KAAKoyC,OAcL,OAXIpyC,KAAK8yC,aAAe9yC,KAAKyC,SAASE,OAAS,EAE3C3C,KAAK8yC,YAAc,EAInB9yC,KAAK8yC,cAGT9yC,KAAKoyC,OAASpyC,KAAKyC,SAASzC,KAAK8yC,aAE1B9yC,KAAKoyC,QAapB5wC,EAAOiwC,MAAMnvC,UAAUsyC,SAAW,WAE9B,GAAI50C,KAAKoyC,OAcL,OAXyB,IAArBpyC,KAAK8yC,YAEL9yC,KAAK8yC,YAAc9yC,KAAKyC,SAASE,OAAS,EAI1C3C,KAAK8yC,cAGT9yC,KAAKoyC,OAASpyC,KAAKyC,SAASzC,KAAK8yC,aAE1B9yC,KAAKoyC,QAcpB5wC,EAAOiwC,MAAMnvC,UAAUuyC,KAAO,SAAUC,EAAQjsC,GAE5C7I,KAAK4I,aAAaksC,EAAQjsC,GAC1B7I,KAAKwzC,WAWThyC,EAAOiwC,MAAMnvC,UAAUyyC,WAAa,SAAUzsC,GAQ1C,OANIA,EAAMjH,SAAWrB,MAAQA,KAAKg1C,SAAS1sC,GAAStI,KAAKyC,SAASE,SAE9D3C,KAAK+b,OAAOzT,GAAO,GAAO,GAC1BtI,KAAK+4B,IAAIzwB,GAAO,IAGbA,GAWX9G,EAAOiwC,MAAMnvC,UAAU2yC,WAAa,SAAU3sC,GAQ1C,OANIA,EAAMjH,SAAWrB,MAAQA,KAAKg1C,SAAS1sC,GAAS,IAEhDtI,KAAK+b,OAAOzT,GAAO,GAAO,GAC1BtI,KAAK6zC,MAAMvrC,EAAO,GAAG,IAGlBA,GAWX9G,EAAOiwC,MAAMnvC,UAAU4yC,OAAS,SAAU5sC,GAEtC,GAAIA,EAAMjH,SAAWrB,MAAQA,KAAKg1C,SAAS1sC,GAAStI,KAAKyC,SAASE,OAAS,EAC3E,CACI,IAAIM,EAAIjD,KAAKg1C,SAAS1sC,GAClBpF,EAAIlD,KAAKg0C,MAAM/wC,EAAI,GAEnBC,GAEAlD,KAAK60C,KAAKvsC,EAAOpF,GAIzB,OAAOoF,GAWX9G,EAAOiwC,MAAMnvC,UAAU6yC,SAAW,SAAU7sC,GAExC,GAAIA,EAAMjH,SAAWrB,MAAQA,KAAKg1C,SAAS1sC,GAAS,EACpD,CACI,IAAIrF,EAAIjD,KAAKg1C,SAAS1sC,GAClBpF,EAAIlD,KAAKg0C,MAAM/wC,EAAI,GAEnBC,GAEAlD,KAAK60C,KAAKvsC,EAAOpF,GAIzB,OAAOoF,GAYX9G,EAAOiwC,MAAMnvC,UAAU8yC,GAAK,SAAU5sC,EAAO1E,EAAGC,GAE5C,GAAIyE,EAAQ,GAAKA,EAAQxI,KAAKyC,SAASE,OAEnC,OAAQ,EAIR3C,KAAKoJ,WAAWZ,GAAO1E,EAAIA,EAC3B9D,KAAKoJ,WAAWZ,GAAOzE,EAAIA,GAYnCvC,EAAOiwC,MAAMnvC,UAAU4b,QAAU,WAE7Ble,KAAKyC,SAASyb,UACdle,KAAKwzC,WAWThyC,EAAOiwC,MAAMnvC,UAAU0yC,SAAW,SAAU1sC,GAExC,OAAOtI,KAAKyC,SAASwG,QAAQX,IAajC9G,EAAOiwC,MAAMnvC,UAAU+yC,UAAY,SAAUxjB,GAEzC,IAAK,IAAInvB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC,GAAI1C,KAAKyC,SAASC,GAAGmvB,OAASA,EAE1B,OAAO7xB,KAAKyC,SAASC,GAI7B,OAAO,MAgBXlB,EAAOiwC,MAAMnvC,UAAU6xB,QAAU,SAAUmhB,EAAUC,GAEjD,IAAI/sC,EAAQxI,KAAKg1C,SAASM,GAE1B,IAAe,IAAX9sC,EAkBA,OAhBI+sC,EAASl0C,SAELk0C,EAASl0C,kBAAkBG,EAAOiwC,MAElC8D,EAASl0C,OAAO0a,OAAOw5B,GAIvBA,EAASl0C,OAAOoH,YAAY8sC,IAIpCv1C,KAAK+b,OAAOu5B,GAEZt1C,KAAK6zC,MAAM0B,EAAU/sC,GAEd8sC,GAef9zC,EAAOiwC,MAAMnvC,UAAUkzC,YAAc,SAAUltC,EAAOsK,GAElD,IAAIie,EAAMje,EAAIjQ,OAEd,OAAY,IAARkuB,GAAaje,EAAI,KAAMtK,IAIV,IAARuoB,GAAaje,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,MAI5C,IAARie,GAAaje,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,KAI/E,IAARie,GAAaje,EAAI,KAAMtK,GAASsK,EAAI,KAAMtK,EAAMsK,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,KAAOA,EAAI,KAAMtK,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,OA2B/IpR,EAAOiwC,MAAMnvC,UAAU4vB,YAAc,SAAU5pB,EAAOsK,EAAK5L,EAAOyuC,EAAWrR,GAgBzE,QAdc99B,IAAV89B,IAAuBA,GAAQ,GAEnCqR,EAAYA,GAAa,GAYpBz1C,KAAKw1C,YAAYltC,EAAOsK,MAAUwxB,GAASqR,EAAY,GAExD,OAAO,EAGX,IAAI5kB,EAAMje,EAAIjQ,OAmCd,OAjCY,IAARkuB,EAEkB,IAAd4kB,EAAmBntC,EAAMsK,EAAI,IAAM5L,EAChB,IAAdyuC,EAAmBntC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdyuC,EAAmBntC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdyuC,EAAmBntC,EAAMsK,EAAI,KAAO5L,EACtB,IAAdyuC,IAAmBntC,EAAMsK,EAAI,KAAO5L,GAEhC,IAAR6pB,EAEa,IAAd4kB,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAM5L,EACxB,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,EAC9B,IAAdyuC,IAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,KAAO5L,GAExC,IAAR6pB,EAEa,IAAd4kB,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM5L,EAChC,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EACtC,IAAdyuC,IAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,GAEhD,IAAR6pB,IAEa,IAAd4kB,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM5L,EACxC,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdyuC,EAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,EAC9C,IAAdyuC,IAAmBntC,EAAMsK,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO5L,KAGlE,GAcXxF,EAAOiwC,MAAMnvC,UAAUozC,cAAgB,SAAUptC,EAAOsK,EAAK5L,EAAOo9B,GAIhE,QAFc99B,IAAV89B,IAAuBA,GAAQ,GAE/BpkC,OAASsI,EAAMjH,OAEf,OAAO,EAGX,IAAIq3B,EAASl3B,EAAO+vB,MAAMI,YAAYrpB,EAAOsK,GAE7C,aAAiBtM,IAAXoyB,GAAyB0L,GAAW1L,IAAW1xB,IAwBzDxF,EAAOiwC,MAAMnvC,UAAUyE,IAAM,SAAUuB,EAAOsK,EAAK5L,EAAO2uC,EAAYC,EAAcH,EAAWrR,GAS3F,QAPc99B,IAAV89B,IAAuBA,GAAQ,GAEnCxxB,EAAMA,EAAI8e,MAAM,UAEGprB,IAAfqvC,IAA4BA,GAAa,QACxBrvC,IAAjBsvC,IAA8BA,GAAe,KAE7B,IAAfD,GAAyBA,GAAcrtC,EAAM0pC,UAA6B,IAAjB4D,GAA2BA,GAAgBttC,EAAMpH,SAE3G,OAAOlB,KAAKkyB,YAAY5pB,EAAOsK,EAAK5L,EAAOyuC,EAAWrR,IAqB9D5iC,EAAOiwC,MAAMnvC,UAAUuzC,OAAS,SAAUjjC,EAAK5L,EAAO2uC,EAAYC,EAAcH,EAAWrR,QAEpE99B,IAAfqvC,IAA4BA,GAAa,QACxBrvC,IAAjBsvC,IAA8BA,GAAe,QACnCtvC,IAAV89B,IAAuBA,GAAQ,GAEnCxxB,EAAMA,EAAI8e,MAAM,KAChB+jB,EAAYA,GAAa,EAEzB,IAAK,IAAI/yC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,MAEhCizC,GAAeA,GAAc31C,KAAKyC,SAASC,GAAGsvC,UAAa4D,GAAiBA,GAAgB51C,KAAKyC,SAASC,GAAGxB,UAE/GlB,KAAKkyB,YAAYlyB,KAAKyC,SAASC,GAAIkQ,EAAK5L,EAAOyuC,EAAWrR,IAsBtE5iC,EAAOiwC,MAAMnvC,UAAUwzC,eAAiB,SAAUljC,EAAK5L,EAAO2uC,EAAYC,EAAcH,EAAWrR,QAE5E99B,IAAfqvC,IAA4BA,GAAa,QACxBrvC,IAAjBsvC,IAA8BA,GAAe,QACnCtvC,IAAV89B,IAAuBA,GAAQ,GAEnCqR,EAAYA,GAAa,EAEzB,IAAK,IAAI/yC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,MAEhCizC,GAAeA,GAAc31C,KAAKyC,SAASC,GAAGsvC,UAAa4D,GAAiBA,GAAgB51C,KAAKyC,SAASC,GAAGxB,WAE3GlB,KAAKyC,SAASC,aAAclB,EAAOiwC,MAEnCzxC,KAAKyC,SAASC,GAAGozC,eAAeljC,EAAK5L,EAAO2uC,EAAYC,EAAcH,EAAWrR,GAIjFpkC,KAAKkyB,YAAYlyB,KAAKyC,SAASC,GAAIkQ,EAAI8e,MAAM,KAAM1qB,EAAOyuC,EAAWrR,KAoBrF5iC,EAAOiwC,MAAMnvC,UAAUyzC,SAAW,SAAUnjC,EAAK5L,EAAO2uC,EAAYC,EAAcxR,QAE3D99B,IAAfqvC,IAA4BA,GAAa,QACxBrvC,IAAjBsvC,IAA8BA,GAAe,QACnCtvC,IAAV89B,IAAuBA,GAAQ,GAEnC,IAAK,IAAI1hC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAI4F,EAAQtI,KAAKyC,SAASC,GAE1B,KAAMizC,GAAeA,GAAcrtC,EAAM0pC,UAAa4D,GAAiBA,GAAgBttC,EAAMpH,WAEpFlB,KAAK01C,cAAcptC,EAAOsK,EAAK5L,EAAOo9B,GAEvC,OAAO,EAKnB,OAAO,GAgBX5iC,EAAOiwC,MAAMnvC,UAAU0zC,SAAW,SAAUpjC,EAAK5L,EAAO2uC,EAAYC,QAE7CtvC,IAAfqvC,IAA4BA,GAAa,QACxBrvC,IAAjBsvC,IAA8BA,GAAe,GAEjD,IAAK,IAAIlzC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAI4F,EAAQtI,KAAKyC,SAASC,GAE1B,KAAMizC,GAAeA,GAAcrtC,EAAM0pC,UAAa4D,GAAiBA,GAAgBttC,EAAMpH,UAErFlB,KAAK01C,cAAcptC,EAAOsK,EAAK5L,GAE/B,OAAO,EAKnB,OAAO,GAeXxF,EAAOiwC,MAAMnvC,UAAU2zC,OAAS,SAAUC,EAAUC,EAAQR,EAAYC,GAEpE51C,KAAK61C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5Dp0C,EAAOiwC,MAAMnvC,UAAU8zC,OAAS,SAAUF,EAAUC,EAAQR,EAAYC,GAEpE51C,KAAK61C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5Dp0C,EAAOiwC,MAAMnvC,UAAU+zC,YAAc,SAAUH,EAAUC,EAAQR,EAAYC,GAEzE51C,KAAK61C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAe5Dp0C,EAAOiwC,MAAMnvC,UAAUg0C,UAAY,SAAUJ,EAAUC,EAAQR,EAAYC,GAEvE51C,KAAK61C,OAAOK,EAAUC,EAAQR,EAAYC,EAAc,IAS5Dp0C,EAAOiwC,MAAMnvC,UAAUi0C,KAAO,WAE1Bv2C,KAAKgyC,OAAQ,EACbhyC,KAAK6M,QAAS,EACd7M,KAAKkB,SAAU,GASnBM,EAAOiwC,MAAMnvC,UAAUk0C,QAAU,WAE7Bx2C,KAAKy2C,cAAc,QAAQ,IAS/Bj1C,EAAOiwC,MAAMnvC,UAAUo0C,OAAS,WAE5B12C,KAAKgyC,OAAQ,EACbhyC,KAAK6M,QAAS,EACd7M,KAAKkB,SAAU,GASnBM,EAAOiwC,MAAMnvC,UAAUq0C,UAAY,WAE/B32C,KAAKy2C,cAAc,UAAU,IAcjCj1C,EAAOiwC,MAAMnvC,UAAUs0C,SAAW,SAAU9yC,EAAGC,EAAG6O,EAAK5F,EAAO6pC,GAE1D72C,KAAK0wB,QAAQ1wB,KAAK82C,WAAY92C,KAAM62C,EAAa/yC,EAAGC,EAAG6O,EAAK5F,IAchExL,EAAOiwC,MAAMnvC,UAAUm0C,cAAgB,SAAUtC,EAAU4C,GAEvD,IAAI7mB,EAEJ,GAAIG,UAAU1tB,OAAS,EACvB,CACIutB,KAEA,IAASxtB,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAElCwtB,EAAKxoB,KAAK2oB,UAAU3tB,IAI5B,IAAK,IAAIA,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGmK,SAAWkqC,GAAe/2C,KAAKyC,SAASC,GAAGyxC,IAE5Dn0C,KAAKyC,SAASC,GAAGyxC,GAAU7uC,MAAMtF,KAAKyC,SAASC,GAAIwtB,IAe/D1uB,EAAOiwC,MAAMnvC,UAAU00C,kBAAoB,SAAU1uC,EAAO6rC,EAAUxxC,GAIlE,GAAe,IAAXA,GAEA,GAAI2F,EAAM6rC,EAAS,IAEf,OAAO7rC,EAAM6rC,EAAS,SAGzB,GAAe,IAAXxxC,GAEL,GAAI2F,EAAM6rC,EAAS,IAAIA,EAAS,IAE5B,OAAO7rC,EAAM6rC,EAAS,IAAIA,EAAS,SAGtC,GAAe,IAAXxxC,GAEL,GAAI2F,EAAM6rC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEzC,OAAO7rC,EAAM6rC,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGnD,GAAe,IAAXxxC,GAEL,GAAI2F,EAAM6rC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEtD,OAAO7rC,EAAM6rC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,SAGhE,GAAI7rC,EAAM6rC,GAEX,OAAO7rC,EAAM6rC,GAGjB,OAAO,GAeX3yC,EAAOiwC,MAAMnvC,UAAU20C,QAAU,SAAUC,EAAQzpC,GAE/C,QAAenH,IAAX4wC,EAAJ,CAQA,IAAIC,GAFJD,EAASA,EAAOxlB,MAAM,MAEI/uB,OAE1B,QAAgB2D,IAAZmH,GAAqC,OAAZA,GAAgC,KAAZA,EAE7CA,EAAU,UAKV,GAAuB,iBAAZA,EAGP,IAAI2pC,GADJ3pC,EAAUA,EAAQikB,MAAM,MACI/uB,OAIpC,IAAIutB,EAEJ,GAAIG,UAAU1tB,OAAS,EACvB,CACIutB,KAEA,IAASxtB,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAElCwtB,EAAKxoB,KAAK2oB,UAAU3tB,IAO5B,IAAK,IAHDyxC,EAAW,KACXtL,EAAkB,KAEbnmC,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtCyxC,EAAWn0C,KAAKg3C,kBAAkBh3C,KAAKyC,SAASC,GAAIw0C,EAAQC,GAExD1pC,GAAW0mC,GAEXtL,EAAkB7oC,KAAKg3C,kBAAkBh3C,KAAKyC,SAASC,GAAI+K,EAAS2pC,GAEhEjD,GAEAA,EAAS7uC,MAAMujC,EAAiB3Y,IAG/BikB,GAELA,EAAS7uC,MAAMtF,KAAKyC,SAASC,GAAIwtB,KAW7C1uB,EAAOiwC,MAAMnvC,UAAUmC,UAAY,WAE/B,GAAIzE,KAAKkyC,eAGL,OADAlyC,KAAKwC,WACE,EAGX,IAAKxC,KAAK6M,SAAW7M,KAAKqB,OAAOwL,OAG7B,OADA7M,KAAKq3C,eAAiB,GACf,EAOX,IAFA,IAAI30C,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI2F,EAAQtI,KAAKyC,SAASC,GAE1B4F,EAAM7D,YAEFzE,OAASsI,EAAMjH,QAEfqB,IAIR,OAAO,GAYXlB,EAAOiwC,MAAMnvC,UAAUqiC,OAAS,WAK5B,IAFA,IAAIjiC,EAAI1C,KAAKyC,SAASE,OAEfD,KACP,CACI,IAAImuB,EAAM7wB,KAAKyC,SAASE,OAEpBD,GAAKmuB,IAAOnuB,EAAImuB,EAAM,GAE1B,IAAIvoB,EAAQtI,KAAKyC,SAASC,GAErB1C,KAAKsyC,6BAA8BhqC,EAAMuE,QAC1CvE,EAAMq8B,WAWlBnjC,EAAOiwC,MAAMnvC,UAAUwsC,WAAa,WAG5B9uC,KAAK+yC,gBAEL/yC,KAAK8D,GAAK9D,KAAK8C,KAAK2X,OAAO7D,KAAK9S,EAAI9D,KAAKgzC,aAAalvC,GAAK9D,KAAK8C,KAAK2X,OAAO3Z,MAAMgD,EAClF9D,KAAK+D,GAAK/D,KAAK8C,KAAK2X,OAAO7D,KAAK7S,EAAI/D,KAAKgzC,aAAajvC,GAAK/D,KAAK8C,KAAK2X,OAAO3Z,MAAMiD,GAGtF,IAAK,IAAIrB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGosC,cAsBzBttC,EAAOiwC,MAAMnvC,UAAU4jB,OAAS,SAAUoxB,EAAWT,GAMjD,IAJA,IAAIruC,GAAS,EACT7F,EAAS3C,KAAKyC,SAASE,OACvB+2B,OAEKlxB,EAAQ7F,GACjB,CACI,IAAI2F,EAAQtI,KAAKyC,SAAS+F,KAErBquC,GAAgBA,GAAevuC,EAAMuE,SAElCyqC,EAAUhvC,EAAOE,EAAOxI,KAAKyC,WAE7Bi3B,EAAQhyB,KAAKY,GAKzB,OAAO,IAAI9G,EAAO+1C,SAAS7d,IAqB/Bl4B,EAAOiwC,MAAMnvC,UAAUouB,QAAU,SAAUyjB,EAAUtL,EAAiBgO,GAIlE,QAFoBvwC,IAAhBuwC,IAA6BA,GAAc,GAE3CxmB,UAAU1tB,QAAU,EAEpB,IAASD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,MAEjCm0C,GAAgBA,GAAe72C,KAAKyC,SAASC,GAAGmK,SAEjDsnC,EAAS5vC,KAAKskC,EAAiB7oC,KAAKyC,SAASC,QAKzD,CAKI,IAAK,IAFDwtB,GAAQ,MAEHxtB,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAElCwtB,EAAKxoB,KAAK2oB,UAAU3tB,IAGxB,IAASA,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,MAEjCm0C,GAAgBA,GAAe72C,KAAKyC,SAASC,GAAGmK,UAEjDqjB,EAAK,GAAKlwB,KAAKyC,SAASC,GACxByxC,EAAS7uC,MAAMujC,EAAiB3Y,MAiBhD1uB,EAAOiwC,MAAMnvC,UAAUk1C,cAAgB,SAAUrD,EAAUtL,GAEvD,IAAI3Y,EAEJ,GAAIG,UAAU1tB,OAAS,EACvB,CACIutB,GAAQ,MAER,IAAK,IAAIxtB,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAElCwtB,EAAKxoB,KAAK2oB,UAAU3tB,IAI5B1C,KAAKy3C,QAAQ,UAAU,EAAMj2C,EAAOiwC,MAAM0B,aAAcgB,EAAUtL,EAAiB3Y,IAcvF1uB,EAAOiwC,MAAMnvC,UAAUo1C,aAAe,SAAUvD,EAAUtL,GAEtD,IAAI3Y,EAEJ,GAAIG,UAAU1tB,OAAS,EACvB,CACIutB,GAAQ,MAER,IAAK,IAAIxtB,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAElCwtB,EAAKxoB,KAAK2oB,UAAU3tB,IAI5B1C,KAAKy3C,QAAQ,SAAS,EAAMj2C,EAAOiwC,MAAM0B,aAAcgB,EAAUtL,EAAiB3Y,IActF1uB,EAAOiwC,MAAMnvC,UAAUq1C,YAAc,SAAUxD,EAAUtL,GAErD,IAAI3Y,EAEJ,GAAIG,UAAU1tB,OAAS,EACvB,CACIutB,GAAQ,MAER,IAAK,IAAIxtB,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAElCwtB,EAAKxoB,KAAK2oB,UAAU3tB,IAI5B1C,KAAKy3C,QAAQ,SAAS,EAAOj2C,EAAOiwC,MAAM0B,aAAcgB,EAAUtL,EAAiB3Y,IAkBvF1uB,EAAOiwC,MAAMnvC,UAAUs8B,KAAO,SAAUhsB,EAAKglC,GAErC53C,KAAKyC,SAASE,OAAS,SAMf2D,IAARsM,IAAqBA,EAAM,UACjBtM,IAAVsxC,IAAuBA,EAAQp2C,EAAOiwC,MAAM6B,gBAEhDtzC,KAAKizC,cAAgBrgC,EAEjBglC,IAAUp2C,EAAOiwC,MAAM6B,eAEvBtzC,KAAKyC,SAASm8B,KAAK5+B,KAAK63C,qBAAqB/nB,KAAK9vB,OAIlDA,KAAKyC,SAASm8B,KAAK5+B,KAAK83C,sBAAsBhoB,KAAK9vB,OAGvDA,KAAKwzC,YAcThyC,EAAOiwC,MAAMnvC,UAAUy1C,WAAa,SAAUC,EAAavqC,GAEnDzN,KAAKyC,SAASE,OAAS,IAM3B3C,KAAKyC,SAASm8B,KAAKoZ,EAAYloB,KAAKriB,IAEpCzN,KAAKwzC,YAYThyC,EAAOiwC,MAAMnvC,UAAUu1C,qBAAuB,SAAU50C,EAAGC,GAEvD,OAAID,EAAEjD,KAAKizC,eAAiB/vC,EAAElD,KAAKizC,gBAEvB,EAEHhwC,EAAEjD,KAAKizC,eAAiB/vC,EAAElD,KAAKizC,eAE7B,EAIHhwC,EAAE+R,EAAI9R,EAAE8R,GAEA,EAID,GAcnBxT,EAAOiwC,MAAMnvC,UAAUw1C,sBAAwB,SAAU70C,EAAGC,GAExD,OAAID,EAAEjD,KAAKizC,eAAiB/vC,EAAElD,KAAKizC,eAExB,EAEFhwC,EAAEjD,KAAKizC,eAAiB/vC,EAAElD,KAAKizC,gBAE5B,EAID,GAiCfzxC,EAAOiwC,MAAMnvC,UAAUm1C,QAAU,SAAU7kC,EAAK5L,EAAOixC,EAAY9D,EAAUtL,EAAiB3Y,GAE1F,GAA6B,IAAzBlwB,KAAKyC,SAASE,OAClB,CACI,GAAIs1C,IAAez2C,EAAOiwC,MAAM0B,aAE5B,OAAO,EAEN,GAAI8E,IAAez2C,EAAOiwC,MAAM4B,WAEjC,SAIR,IAAI6E,EAAQ,EAEZ,GAAID,IAAez2C,EAAOiwC,MAAM4B,WAE5B,IAAI7d,KAGR,IAAK,IAAI9yB,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC,GAAI1C,KAAKyC,SAASC,GAAGkQ,KAAS5L,EAC9B,CAgBI,GAfAkxC,IAEI/D,IAEIjkB,GAEAA,EAAK,GAAKlwB,KAAKyC,SAASC,GACxByxC,EAAS7uC,MAAMujC,EAAiB3Y,IAIhCikB,EAAS5vC,KAAKskC,EAAiB7oC,KAAKyC,SAASC,KAIjDu1C,IAAez2C,EAAOiwC,MAAM2B,aAE5B,OAAOpzC,KAAKyC,SAASC,GAEhBu1C,IAAez2C,EAAOiwC,MAAM4B,YAEjC7d,EAAO9tB,KAAK1H,KAAKyC,SAASC,IAKtC,OAAIu1C,IAAez2C,EAAOiwC,MAAM0B,aAErB+E,EAEFD,IAAez2C,EAAOiwC,MAAM4B,WAE1B7d,EAKA,MAafh0B,EAAOiwC,MAAMnvC,UAAU61C,SAAW,SAAUvlC,EAAK5L,GAE7C,OAAOhH,KAAKy3C,QAAQ7kC,EAAK5L,EAAOxF,EAAOiwC,MAAM2B,eAuBjD5xC,EAAOiwC,MAAMnvC,UAAU81C,eAAiB,SAAUvrC,EAAQwrC,EAAcv0C,EAAGC,EAAG6O,EAAK5F,QAE1D1G,IAAjB+xC,IAA8BA,GAAe,GAE3B,kBAAXxrC,IAEPA,GAAS,GAGb,IAAIvE,EAAQtI,KAAKm4C,SAAS,SAAUtrC,GAEpC,OAAkB,OAAVvE,GAAkB+vC,EAAgBr4C,KAAKoI,OAAOtE,EAAGC,EAAG6O,EAAK5F,GAAShN,KAAK82C,WAAWxuC,EAAOxE,EAAGC,EAAG6O,EAAK5F,IAwBhHxL,EAAOiwC,MAAMnvC,UAAUg2C,cAAgB,SAAUD,EAAcv0C,EAAGC,EAAG6O,EAAK5F,QAEjD1G,IAAjB+xC,IAA8BA,GAAe,GAEjD,IAAI/vC,EAAQtI,KAAKm4C,SAAS,SAAS,GAEnC,OAAkB,OAAV7vC,GAAkB+vC,EAAgBr4C,KAAKoI,OAAOtE,EAAGC,EAAG6O,EAAK5F,GAAShN,KAAK82C,WAAWxuC,EAAOxE,EAAGC,EAAG6O,EAAK5F,IAwBhHxL,EAAOiwC,MAAMnvC,UAAUi2C,aAAe,SAAUF,EAAcv0C,EAAGC,EAAG6O,EAAK5F,QAEhD1G,IAAjB+xC,IAA8BA,GAAe,GAEjD,IAAI/vC,EAAQtI,KAAKm4C,SAAS,SAAS,GAEnC,OAAkB,OAAV7vC,GAAkB+vC,EAAgBr4C,KAAKoI,OAAOtE,EAAGC,EAAG6O,EAAK5F,GAAShN,KAAK82C,WAAWxuC,EAAOxE,EAAGC,EAAG6O,EAAK5F,IAmBhHxL,EAAOiwC,MAAMnvC,UAAUw0C,WAAa,SAAUxuC,EAAOxE,EAAGC,EAAG6O,EAAK5F,GAE5D,OAAc,OAAV1E,EAEO,WAGDhC,IAANxC,IAAmBA,EAAI,WACjBwC,IAANvC,IAAmBA,EAAI,MAEjB,OAAND,GAAoB,OAANC,GAEduE,EAAMs9B,MAAM9hC,EAAGC,QAGPuC,IAARsM,GAEAtK,EAAMkwC,YAAY5lC,EAAK5F,GAGpB1E,IAYX9G,EAAOiwC,MAAMnvC,UAAUm2C,OAAS,WAE5B,GAAIz4C,KAAKyC,SAASE,OAAS,EAEvB,OAAO3C,KAAKyC,SAASzC,KAAKyC,SAASE,OAAS,IAapDnB,EAAOiwC,MAAMnvC,UAAUo2C,UAAY,WAE/B,GAAI14C,KAAKyC,SAASE,OAAS,EAEvB,OAAO3C,KAAKyC,SAAS,IAuB7BjB,EAAOiwC,MAAMnvC,UAAUq2C,aAAe,SAAUC,EAAQzE,EAAUtL,GAM9D,IAAK,IAJDvT,EAAWoK,OAAOC,UAClBkZ,EAAe,EACfngB,EAAS,KAEJh2B,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAI4F,EAAQtI,KAAKyC,SAASC,GAEtB4F,EAAMuE,SAENgsC,EAAep1C,KAAKgzB,IAAIj1B,EAAOX,MAAMy0B,SAASsjB,EAAQtwC,KAEnCgtB,KAAc6e,GAAYA,EAAS5vC,KAAKskC,EAAiBvgC,EAAOuwC,MAE/EvjB,EAAWujB,EACXngB,EAASpwB,GAKrB,OAAOowB,GAsBXl3B,EAAOiwC,MAAMnvC,UAAUw2C,gBAAkB,SAAUF,EAAQzE,EAAUtL,GAMjE,IAAK,IAJDvT,EAAW,EACXujB,EAAe,EACfngB,EAAS,KAEJh2B,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAI4F,EAAQtI,KAAKyC,SAASC,GAEtB4F,EAAMuE,SAENgsC,EAAep1C,KAAKgzB,IAAIj1B,EAAOX,MAAMy0B,SAASsjB,EAAQtwC,KAEnCgtB,KAAc6e,GAAYA,EAAS5vC,KAAKskC,EAAiBvgC,EAAOuwC,MAE/EvjB,EAAWujB,EACXngB,EAASpwB,GAKrB,OAAOowB,GAYXl3B,EAAOiwC,MAAMnvC,UAAU6b,MAAQ,SAAUvL,EAAK5L,GAE1C,OAAOhH,KAAKy3C,QAAQ7kC,EAAK5L,EAAOxF,EAAOiwC,MAAM0B,eAUjD3xC,EAAOiwC,MAAMnvC,UAAUy2C,YAAc,WAEjC,OAAO/4C,KAAKme,MAAM,SAAS,IAU/B3c,EAAOiwC,MAAMnvC,UAAU02C,UAAY,WAE/B,OAAOh5C,KAAKme,MAAM,SAAS,IAY/B3c,EAAOiwC,MAAMnvC,UAAU22C,UAAY,SAAU3zB,EAAY3iB,GAKrD,YAHmB2D,IAAfgf,IAA4BA,EAAa,QAC9Bhf,IAAX3D,IAAwBA,EAAS3C,KAAKyC,SAASE,QAEpC,IAAXA,EAEO,KAGJnB,EAAO03C,WAAWC,cAAcn5C,KAAKyC,SAAU6iB,EAAY3iB,IAgBtEnB,EAAOiwC,MAAMnvC,UAAU82C,gBAAkB,SAAU9zB,EAAY9b,GAE3D,IAAI6vC,EAAOr5C,KAAKs5C,OAAO,UAAU,EAAMh0B,EAAY9b,GAEnD,OAAOxJ,KAAK8C,KAAKoiC,IAAIqU,KAAKF,IAsB9B73C,EAAOiwC,MAAMnvC,UAAUg3C,OAAS,SAAUpD,EAAUlvC,EAAOse,EAAY9b,QAEhDlD,IAAfgf,IAA4BA,EAAa,QAC5Bhf,IAAbkD,IAA0BA,EAAWxJ,KAAKyC,SAASE,QAIvD,IAAK,IAFD6yB,KAEK9yB,EAAI4iB,EAAY5iB,EAAI8G,EAAU9G,IACvC,CACI,IAAI4F,EAAQtI,KAAKyC,SAASC,GAEtBwzC,EAEI5tC,EAAM4tC,KAAclvC,GAEpBwuB,EAAO9tB,KAAKY,GAKhBktB,EAAO9tB,KAAKY,GAIpB,OAAOktB,GAiBXh0B,EAAOiwC,MAAMnvC,UAAUyZ,OAAS,SAAUzT,EAAO9F,EAAS6uC,GAKtD,QAHgB/qC,IAAZ9D,IAAyBA,GAAU,QACxB8D,IAAX+qC,IAAwBA,GAAS,GAER,IAAzBrxC,KAAKyC,SAASE,SAAkD,IAAlC3C,KAAKyC,SAASwG,QAAQX,GAEpD,OAAO,EAGN+oC,IAAU/oC,EAAMqrC,QAAWrrC,EAAMkxC,cAElClxC,EAAMqrC,OAAO8F,4BAA4BnxC,EAAOtI,MAGpD,IAAI0J,EAAU1J,KAAKyI,YAAYH,GAgB/B,OAdAtI,KAAKwxC,eAAelpC,GAEpBtI,KAAKwzC,UAEDxzC,KAAKoyC,SAAW9pC,GAEhBtI,KAAK20C,OAGLnyC,GAAWkH,GAEXA,EAAQlH,SAAQ,IAGb,GAYXhB,EAAOiwC,MAAMnvC,UAAUyxC,QAAU,SAAU2F,EAAOrI,GAI9C,QAFe/qC,IAAX+qC,IAAwBA,GAAS,GAEjCrxC,KAAKyC,SAASE,OAAS,GAAK+2C,aAAiBl4C,EAAOiwC,MACxD,CACI,GAEIiI,EAAM3gB,IAAI/4B,KAAKyC,SAAS,GAAI4uC,SAEzBrxC,KAAKyC,SAASE,OAAS,GAE9B3C,KAAKuxC,QAELvxC,KAAKoyC,OAAS,KAGlB,OAAOsH,GAiBXl4C,EAAOiwC,MAAMnvC,UAAUmnC,UAAY,SAAUjnC,EAAS6uC,EAAQsI,GAM1D,QAJgBrzC,IAAZ9D,IAAyBA,GAAU,QACxB8D,IAAX+qC,IAAwBA,GAAS,QACd/qC,IAAnBqzC,IAAgCA,GAAiB,GAExB,IAAzB35C,KAAKyC,SAASE,OAAlB,CAKA,EACA,EACS0uC,GAAUrxC,KAAKyC,SAAS,GAAGkxC,QAE5B3zC,KAAKyC,SAAS,GAAGkxC,OAAO8F,4BAA4Bz5C,KAAKyC,SAAS,GAAIzC,MAG1E,IAAI0J,EAAU1J,KAAKyI,YAAYzI,KAAKyC,SAAS,IAE7CzC,KAAKwxC,eAAe9nC,GAEhBlH,GAAWkH,GAEXA,EAAQlH,SAAQ,EAAMm3C,SAGvB35C,KAAKyC,SAASE,OAAS,GAE9B3C,KAAKuxC,QAELvxC,KAAKoyC,OAAS,OAalB5wC,EAAOiwC,MAAMnvC,UAAUs3C,cAAgB,SAAUt0B,EAAY9b,EAAUhH,EAAS6uC,GAM5E,QAJiB/qC,IAAbkD,IAA0BA,EAAWxJ,KAAKyC,SAASE,OAAS,QAChD2D,IAAZ9D,IAAyBA,GAAU,QACxB8D,IAAX+qC,IAAwBA,GAAS,GAER,IAAzBrxC,KAAKyC,SAASE,OAAlB,CAKA,GAAI2iB,EAAa9b,GAAY8b,EAAa,GAAK9b,EAAWxJ,KAAKyC,SAASE,OAEpE,OAAO,EAKX,IAFA,IAAID,EAAI8G,EAED9G,GAAK4iB,GACZ,EACS+rB,GAAUrxC,KAAKyC,SAASC,GAAGixC,QAE5B3zC,KAAKyC,SAASC,GAAGixC,OAAO8F,4BAA4Bz5C,KAAKyC,SAASC,GAAI1C,MAG1E,IAAI0J,EAAU1J,KAAKyI,YAAYzI,KAAKyC,SAASC,IAE7C1C,KAAKwxC,eAAe9nC,GAEhBlH,GAAWkH,GAEXA,EAAQlH,SAAQ,GAGhBxC,KAAKoyC,SAAWpyC,KAAKyC,SAASC,KAE9B1C,KAAKoyC,OAAS,MAGlB1vC,IAGJ1C,KAAKwzC,YAWThyC,EAAOiwC,MAAMnvC,UAAUu3C,QAAU,SAAUnf,EAAMmc,GAEjC,MAARnc,IAAgBA,EAAO16B,KAAK8C,KAAKE,MAAM6B,QAE3C7E,KAAK0wB,QAAQ,SAAUpoB,GAEnBA,EAAM1H,SAASmG,IAAI2zB,EAAK8F,QAAS9F,EAAK+F,UAEvC,KAAMoW,IAWbr1C,EAAOiwC,MAAMnvC,UAAUw3C,QAAU,WAE7Bt4C,EAAO03C,WAAWY,QAAQ95C,KAAKyC,UAC/BzC,KAAKwzC,WAaThyC,EAAOiwC,MAAMnvC,UAAUE,QAAU,SAAUu3C,EAAiBC,GAEtC,OAAdh6C,KAAK8C,MAAiB9C,KAAKiyC,qBAEP3rC,IAApByzC,IAAiCA,GAAkB,QAC1CzzC,IAAT0zC,IAAsBA,GAAO,GAEjCh6C,KAAK6yC,UAAU5N,SAASjlC,KAAM+5C,EAAiBC,GAE/Ch6C,KAAKypC,UAAUsQ,GAEf/5C,KAAKoyC,OAAS,KACdpyC,KAAKyG,QAAU,KACfzG,KAAKkyC,gBAAiB,EAEjB8H,IAEGh6C,KAAKqB,QAELrB,KAAKqB,OAAOoH,YAAYzI,MAG5BA,KAAK8C,KAAO,KACZ9C,KAAK6M,QAAS,KAYtBjG,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,SAE1CwE,IAAK,WAED,OAAO9G,KAAKy3C,QAAQ,UAAU,EAAMj2C,EAAOiwC,MAAM0B,iBAazDvsC,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,UAE1CwE,IAAK,WAED,OAAO9G,KAAKyC,SAASE,UAiB7BiE,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,SAE1CwE,IAAK,WACD,OAAOtF,EAAOiC,KAAKq5B,SAAS98B,KAAKgB,WAGrC+F,IAAK,SAASC,GACVhH,KAAKgB,SAAWQ,EAAOiC,KAAK8yB,SAASvvB,MAc7CJ,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,WAE1CwE,IAAK,WAED,OAAO9G,KAAK4J,UAAU5J,KAAKqB,QAAQ82B,SAIvCpxB,IAAK,SAAUC,GAEX,IAAI/C,EAAIjE,KAAK4J,UAAU5J,KAAKqB,QACxB+V,EAASpX,KAAK8D,EAAIG,EAAEH,EAExB9D,KAAK8D,EAAKkD,EAAQoQ,EAAUnT,EAAEyyB,aAetC9vB,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,WAE1CwE,IAAK,WAED,OAAO9G,KAAK4J,UAAU5J,KAAKqB,QAAQ+2B,SAIvCrxB,IAAK,SAAUC,GAEX,IAAI/C,EAAIjE,KAAK4J,UAAU5J,KAAKqB,QACxB+V,EAASpX,KAAK+D,EAAIE,EAAEF,EAExB/D,KAAK+D,EAAKiD,EAAQoQ,EAAUnT,EAAE0yB,cAetC/vB,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,QAE1CwE,IAAK,WAED,OAAO9G,KAAK4J,UAAU5J,KAAKqB,QAAQmyB,MAIvCzsB,IAAK,SAAUC,GAEX,IAAI/C,EAAIjE,KAAK4J,UAAU5J,KAAKqB,QACxB+V,EAASpX,KAAK8D,EAAIG,EAAEH,EAExB9D,KAAK8D,EAAIkD,EAAQoQ,KAezBxQ,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,SAE1CwE,IAAK,WAED,OAAO9G,KAAK4J,UAAU5J,KAAKqB,QAAQkyB,OAIvCxsB,IAAK,SAAUC,GAEX,IAAI/C,EAAIjE,KAAK4J,UAAU5J,KAAKqB,QACxB+V,EAASpX,KAAK8D,EAAIG,EAAEH,EAExB9D,KAAK8D,EAAKkD,EAAQoQ,EAAUnT,EAAErG,SAetCgJ,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,OAE1CwE,IAAK,WAED,OAAO9G,KAAK4J,UAAU5J,KAAKqB,QAAQ80B,KAIvCpvB,IAAK,SAAUC,GAEX,IAAI/C,EAAIjE,KAAK4J,UAAU5J,KAAKqB,QACxB+V,EAASpX,KAAK+D,EAAIE,EAAEF,EAExB/D,KAAK+D,EAAKiD,EAAQoQ,KAe1BxQ,OAAOuF,eAAe3K,EAAOiwC,MAAMnvC,UAAW,UAE1CwE,IAAK,WAED,OAAO9G,KAAK4J,UAAU5J,KAAKqB,QAAQ+0B,QAIvCrvB,IAAK,SAAUC,GAEX,IAAI/C,EAAIjE,KAAK4J,UAAU5J,KAAKqB,QACxB+V,EAASpX,KAAK+D,EAAIE,EAAEF,EAExB/D,KAAK+D,EAAKiD,EAAQoQ,EAAUnT,EAAEpG,UAoLtC2D,EAAOy4C,MAAQ,SAAUn3C,GAErBtB,EAAOiwC,MAAMltC,KAAKvE,KAAM8C,EAAM,KAAM,WAAW,GAS/C9C,KAAK6E,OAAS,IAAIrD,EAAOS,UAAU,EAAG,EAAGa,EAAKlF,MAAOkF,EAAKjF,QAK1DmC,KAAKya,OAAS,KAMdza,KAAKk6C,cAAe,EAKpBl6C,KAAKoM,OAAStJ,EAAKlF,MAKnBoC,KAAKqM,QAAUvJ,EAAKjF,OAEpBmC,KAAK8C,KAAKqjC,MAAMqB,cAAczO,IAAI/4B,KAAKm6C,YAAan6C,OAIxDwB,EAAOy4C,MAAM33C,UAAYsE,OAAOwB,OAAO5G,EAAOiwC,MAAMnvC,WACpDd,EAAOy4C,MAAM33C,UAAUC,YAAcf,EAAOy4C,MAQ5Cz4C,EAAOy4C,MAAM33C,UAAUmhC,KAAO,WAE1BzjC,KAAKya,OAAS,IAAIjZ,EAAOmgC,OAAO3hC,KAAK8C,KAAM,EAAG,EAAG,EAAG9C,KAAK8C,KAAKlF,MAAOoC,KAAK8C,KAAKjF,QAE/EmC,KAAK8C,KAAKmX,MAAM5R,SAASrI,MAEzBA,KAAKya,OAAOgpB,QAahBjiC,EAAOy4C,MAAM33C,UAAU63C,YAAc,WAEjCn6C,KAAK8D,EAAI,EACT9D,KAAK+D,EAAI,EAET/D,KAAKya,OAAOmrB,SAchBpkC,EAAOy4C,MAAM33C,UAAU83C,UAAY,SAAUt2C,EAAGC,EAAGnG,EAAOC,GAEtDmC,KAAKk6C,cAAe,EACpBl6C,KAAKoM,OAASxO,EACdoC,KAAKqM,QAAUxO,EAEfmC,KAAK6E,OAAOqwB,MAAMpxB,EAAGC,EAAGnG,EAAOC,GAE/BmC,KAAK8D,EAAIA,EACT9D,KAAK+D,EAAIA,EAEL/D,KAAKya,OAAO5V,QAGZ7E,KAAKya,OAAO5V,OAAOqwB,MAAMpxB,EAAGC,EAAGN,KAAKuC,IAAIpI,EAAOoC,KAAK8C,KAAKlF,OAAQ6F,KAAKuC,IAAInI,EAAQmC,KAAK8C,KAAKjF,SAGhGmC,KAAK8C,KAAKwjC,QAAQhB,oBActB9jC,EAAOy4C,MAAM33C,UAAU4D,OAAS,SAAUtI,EAAOC,GAIzCmC,KAAKk6C,eAEDt8C,EAAQoC,KAAKoM,SAEbxO,EAAQoC,KAAKoM,QAGbvO,EAASmC,KAAKqM,UAEdxO,EAASmC,KAAKqM,UAItBrM,KAAK6E,OAAOjH,MAAQA,EACpBoC,KAAK6E,OAAOhH,OAASA,EAErBmC,KAAK8C,KAAK2X,OAAO6qB,mBAEjBtlC,KAAK8C,KAAKwjC,QAAQhB,oBAStB9jC,EAAOy4C,MAAM33C,UAAUwkC,SAAW,WAG9B9mC,KAAKwC,SAAQ,GAAM,IAmBvBhB,EAAOy4C,MAAM33C,UAAUy3B,KAAO,SAAU7W,EAAQkD,EAASi0B,EAAW1X,EAAYC,QAE5Dt8B,IAAZ8f,IAAyBA,EAAU,QACrB9f,IAAd+zC,IAA2BA,GAAY,QACxB/zC,IAAfq8B,IAA4BA,GAAa,QAC5Br8B,IAAbs8B,IAA0BA,GAAW,GAEpCyX,GAsBDn3B,EAAOtZ,YAEH+4B,IAEKzf,EAAOpf,EAAIof,EAAOhhB,eAAetE,MAASoC,KAAK6E,OAAOf,EAEvDof,EAAOpf,EAAI9D,KAAK6E,OAAO0uB,MAElBrQ,EAAOpf,EAAI9D,KAAK6E,OAAO0uB,QAE5BrQ,EAAOpf,EAAI9D,KAAK6E,OAAO2uB,OAI3BoP,IAEK1f,EAAOnf,EAAImf,EAAOhhB,eAAerE,OAAUmC,KAAK6E,OAAOsxB,IAExDjT,EAAOnf,EAAI/D,KAAK6E,OAAOuxB,OAElBlT,EAAOnf,EAAI/D,KAAK6E,OAAOuxB,SAE5BlT,EAAOnf,EAAI/D,KAAK6E,OAAOsxB,QA1C3BwM,GAAczf,EAAOpf,EAAIsiB,EAAUpmB,KAAK6E,OAAOf,EAE/Cof,EAAOpf,EAAI9D,KAAK6E,OAAO0uB,MAAQnN,EAE1Buc,GAAczf,EAAOpf,EAAIsiB,EAAUpmB,KAAK6E,OAAO0uB,QAEpDrQ,EAAOpf,EAAI9D,KAAK6E,OAAO2uB,KAAOpN,GAG9Bwc,GAAY1f,EAAOnf,EAAIqiB,EAAUpmB,KAAK6E,OAAOsxB,IAE7CjT,EAAOnf,EAAI/D,KAAK6E,OAAOuxB,OAAShQ,EAE3Bwc,GAAY1f,EAAOnf,EAAIqiB,EAAUpmB,KAAK6E,OAAOuxB,SAElDlT,EAAOnf,EAAI/D,KAAK6E,OAAOsxB,IAAM/P,KA2CzC5kB,EAAOy4C,MAAM33C,UAAUg4C,QAAU,SAAUZ,EAAO7C,EAAazwB,EAASi0B,EAAW1X,EAAYC,GAE3F8W,EAAMhpB,QAAQ1wB,KAAK+5B,KAAM/5B,KAAM62C,EAAazwB,EAASi0B,EAAW1X,EAAYC,IAQhFh8B,OAAOuF,eAAe3K,EAAOy4C,MAAM33C,UAAW,SAE1CwE,IAAK,WACD,OAAO9G,KAAK6E,OAAOjH,OAGvBmJ,IAAK,SAAUC,GAEPA,EAAQhH,KAAK8C,KAAKlF,QAElBoJ,EAAQhH,KAAK8C,KAAKlF,OAGtBoC,KAAK6E,OAAOjH,MAAQoJ,EACpBhH,KAAKoM,OAASpF,EACdhH,KAAKk6C,cAAe,KAU5BtzC,OAAOuF,eAAe3K,EAAOy4C,MAAM33C,UAAW,UAE1CwE,IAAK,WACD,OAAO9G,KAAK6E,OAAOhH,QAGvBkJ,IAAK,SAAUC,GAEPA,EAAQhH,KAAK8C,KAAKjF,SAElBmJ,EAAQhH,KAAK8C,KAAKjF,QAGtBmC,KAAK6E,OAAOhH,OAASmJ,EACrBhH,KAAKqM,QAAUrF,EACfhH,KAAKk6C,cAAe,KAW5BtzC,OAAOuF,eAAe3K,EAAOy4C,MAAM33C,UAAW,WAE1CwE,IAAK,WACD,OAAO9G,KAAK6E,OAAO6xB,UAAY12B,KAAK6E,OAAOf,KAUnD8C,OAAOuF,eAAe3K,EAAOy4C,MAAM33C,UAAW,WAE1CwE,IAAK,WACD,OAAO9G,KAAK6E,OAAO8xB,WAAa32B,KAAK6E,OAAOd,KAUpD6C,OAAOuF,eAAe3K,EAAOy4C,MAAM33C,UAAW,WAE1CwE,IAAK,WAED,OAAI9G,KAAK6E,OAAOf,EAAI,EAET9D,KAAK8C,KAAKoiC,IAAIqV,QAAQv6C,KAAK6E,OAAOf,EAAI9D,KAAK6E,OAAOjH,MAAQ6F,KAAKgzB,IAAIz2B,KAAK6E,OAAOf,IAI/E9D,KAAK8C,KAAKoiC,IAAIqV,QAAQv6C,KAAK6E,OAAOf,EAAG9D,KAAK6E,OAAOjH,UAYpEgJ,OAAOuF,eAAe3K,EAAOy4C,MAAM33C,UAAW,WAE1CwE,IAAK,WAED,OAAI9G,KAAK6E,OAAOd,EAAI,EAET/D,KAAK8C,KAAKoiC,IAAIqV,QAAQv6C,KAAK6E,OAAOd,EAAI/D,KAAK6E,OAAOhH,OAAS4F,KAAKgzB,IAAIz2B,KAAK6E,OAAOd,IAIhF/D,KAAK8C,KAAKoiC,IAAIqV,QAAQv6C,KAAK6E,OAAOd,EAAG/D,KAAK6E,OAAOhH,WA+EpE2D,EAAOg5C,KAAO,SAAU58C,EAAOC,EAAQ+G,EAAUvD,EAAQ8kC,EAAO3vB,EAAaO,EAAW0jC,GAgcpF,OA1bAz6C,KAAK8T,GAAKtS,EAAOoqB,MAAMlkB,KAAK1H,MAAQ,EAKpCA,KAAKoW,OAAS,KAKdpW,KAAKy6C,cAAgBA,EAOrBz6C,KAAKqB,OAAS,GAWdrB,KAAKpC,MAAQ,IAWboC,KAAKnC,OAAS,IASdmC,KAAK2E,WAAa,EAMlB3E,KAAKoM,OAAS,IAMdpM,KAAKqM,QAAU,IAMfrM,KAAKwW,aAAc,EAOnBxW,KAAK+W,WAAY,EAajB/W,KAAK06C,cAAe,EAMpB16C,KAAK0W,uBAAwB,EAS7B1W,KAAK2W,mBAAoB,EAMzB3W,KAAK4E,SAAW,KAMhB5E,KAAKgqC,WAAaxoC,EAAOqqB,KAKzB7rB,KAAKmmC,MAAQ,KAMbnmC,KAAK4oC,UAAW,EAMhB5oC,KAAK26C,WAAY,EAMjB36C,KAAK46C,IAAM,KAKX56C,KAAK+4B,IAAM,KAKX/4B,KAAK+lC,KAAO,KAKZ/lC,KAAK2Z,MAAQ,KAKb3Z,KAAKgmC,MAAQ,KAKbhmC,KAAKimC,KAAO,KAKZjmC,KAAKqlC,KAAO,KAKZrlC,KAAK66C,IAAM,KAKX76C,KAAKc,MAAQ,KAKbd,KAAKkmC,MAAQ,KAKblmC,KAAKia,MAAQ,KAKbja,KAAK+kC,KAAO,KAKZ/kC,KAAKomC,OAAS,KAKdpmC,KAAKgD,MAAQ,KAKbhD,KAAKsmC,QAAU,KAKftmC,KAAK0uC,QAAU,KAKf1uC,KAAKklC,IAAM,KAKXllC,KAAK6pB,OAASroB,EAAOs5C,OAKrB96C,KAAKya,OAAS,KAKdza,KAAK6W,OAAS,KAKd7W,KAAKyN,QAAU,KAKfzN,KAAK0pC,MAAQ,KAKb1pC,KAAKqmC,UAAY,KAKjBrmC,KAAKoI,OAAS,KASdpI,KAAK+6C,YAAa,EAMlB/6C,KAAKkyC,gBAAiB,EAOtBlyC,KAAKg7C,UAAW,EAOhBh7C,KAAKi7C,aAAc,EAOnBj7C,KAAKk7C,UAAY,EAKjBl7C,KAAKsoC,QAAU,KAKftoC,KAAKwoC,SAAW,KAKhBxoC,KAAKm7C,OAAS,KAKdn7C,KAAKo7C,QAAU,KAMfp7C,KAAKq7C,SAAU,EAMfr7C,KAAKs7C,aAAc,EAQnBt7C,KAAKu7C,gBAAkB,EAOvBv7C,KAAKw7C,iBAAmB,EAOxBx7C,KAAKy7C,iBAAmB,EAMxBz7C,KAAK07C,WAAa,EAMlB17C,KAAK27C,WAAa,EAMlB37C,KAAK47C,WAAa,EAMlB57C,KAAK6pC,YAAa,EAQlB7pC,KAAK67C,mBAAqB,IAAIr6C,EAAO0gC,OAKrCliC,KAAK87C,mBAAoB,EAKzB97C,KAAK+7C,mBAAoB,EAKzB/7C,KAAKg8C,YAAa,EAMlBh8C,KAAKi8C,qBAAuB,EAGH,IAArB5rB,UAAU1tB,QAAwC,iBAAjB0tB,UAAU,GAE3CrwB,KAAKovC,YAAY/e,UAAU,KAI3BrwB,KAAKoW,QAAW8lC,aAAa,QAER,IAAVt+C,IAEPoC,KAAKoM,OAASxO,QAGI,IAAXC,IAEPmC,KAAKqM,QAAUxO,QAGK,IAAb+G,IAEP5E,KAAKgqC,WAAaplC,QAGA,IAAXvD,IAEPrB,KAAKqB,OAASA,QAGS,IAAhBmV,IAEPxW,KAAKwW,YAAcA,QAGE,IAAdO,IAEP/W,KAAK+W,UAAYA,GAGrB/W,KAAKklC,IAAM,IAAI1jC,EAAO26C,sBAAsBvP,KAAKwP,MAAQ34C,KAAK+uB,UAAUhK,aAExExoB,KAAKmmC,MAAQ,IAAI3kC,EAAOulC,aAAa/mC,KAAMmmC,IAG/CnmC,KAAK6pB,OAAOwyB,UAAUr8C,KAAKyjC,KAAMzjC,MAE1BA,MA2CXwB,EAAOg5C,KAAKl4C,WAQR8sC,YAAa,SAAUh5B,GAEnBpW,KAAKoW,OAASA,OAEgB9P,IAA1B8P,EAAoB,cAEpBpW,KAAKoW,OAAO8lC,aAAc,GAG1B9lC,EAAc,QAEdpW,KAAKoM,OAASgK,EAAc,OAG5BA,EAAe,SAEfpW,KAAKqM,QAAU+J,EAAe,QAG9BA,EAAiB,WAEjBpW,KAAKgqC,WAAa5zB,EAAiB,UAGnCA,EAAe,SAEfpW,KAAKqB,OAAS+U,EAAe,aAGH9P,IAA1B8P,EAAoB,cAEpBpW,KAAKwW,YAAcJ,EAAoB,kBAGf9P,IAAxB8P,EAAkB,YAElBpW,KAAK+W,UAAYX,EAAkB,gBAGR9P,IAA3B8P,EAAqB,eAErBpW,KAAK06C,aAAetkC,EAAqB,cAGzCA,EAAmB,aAEnBpW,KAAK2E,WAAayR,EAAmB,iBAGD9P,IAApC8P,EAA8B,wBAE9BpW,KAAK0W,sBAAwBN,EAA8B,uBAG3DA,EAAsB,gBAEtBpW,KAAKy6C,cAAgBrkC,EAAsB,eAG/C,IAAIkmC,IAAS1P,KAAKwP,MAAQ34C,KAAK+uB,UAAUhK,YAErCpS,EAAa,OAEbkmC,EAAOlmC,EAAa,MAGxBpW,KAAKklC,IAAM,IAAI1jC,EAAO26C,oBAAoBG,GAE1C,IAAInW,EAAQ,KAER/vB,EAAc,QAEd+vB,EAAQ/vB,EAAc,OAG1BpW,KAAKmmC,MAAQ,IAAI3kC,EAAOulC,aAAa/mC,KAAMmmC,IAU/C1C,KAAM,WAEEzjC,KAAK4oC,WAKT5oC,KAAKsoC,QAAU,IAAI9mC,EAAO0gC,OAC1BliC,KAAKwoC,SAAW,IAAIhnC,EAAO0gC,OAC3BliC,KAAKm7C,OAAS,IAAI35C,EAAO0gC,OACzBliC,KAAKo7C,QAAU,IAAI55C,EAAO0gC,OAE1BliC,KAAK4oC,UAAW,EAEhBpqC,KAAKsE,KAAO9C,KAEZA,KAAKqlC,KAAO7jC,EAAOiC,KAEnBzD,KAAKc,MAAQ,IAAIU,EAAO+6C,aAAav8C,KAAMA,KAAKoM,OAAQpM,KAAKqM,SAC7DrM,KAAKia,MAAQ,IAAIzY,EAAOutC,MAAM/uC,MAE9BA,KAAKw8C,gBAELx8C,KAAKgD,MAAQ,IAAIxB,EAAOy4C,MAAMj6C,MAC9BA,KAAK+4B,IAAM,IAAIv3B,EAAOi7C,kBAAkBz8C,MACxCA,KAAK+lC,KAAO,IAAIvkC,EAAOk7C,kBAAkB18C,MACzCA,KAAK2Z,MAAQ,IAAInY,EAAOysC,MAAMjuC,MAC9BA,KAAKimC,KAAO,IAAIzkC,EAAOm7C,OAAO38C,MAC9BA,KAAK+kC,KAAO,IAAIvjC,EAAOo7C,KAAK58C,MAC5BA,KAAKomC,OAAS,IAAI5kC,EAAOq7C,aAAa78C,MACtCA,KAAKgmC,MAAQ,IAAIxkC,EAAOs7C,MAAM98C,MAC9BA,KAAKkmC,MAAQ,IAAI1kC,EAAOu7C,aAAa/8C,MACrCA,KAAKsmC,QAAU,IAAI9kC,EAAOqwC,QAAQ7xC,KAAMA,KAAKy6C,eAC7Cz6C,KAAKqmC,UAAY,IAAI7kC,EAAOw7C,UAAUh9C,MACtCA,KAAKoI,OAAS,IAAI5G,EAAOy7C,OAAOj9C,MAChCA,KAAK0uC,QAAU,IAAIltC,EAAOitC,cAAczuC,MACxCA,KAAK66C,IAAM,IAAIr5C,EAAO07C,IAAIl9C,MAE1BA,KAAK+kC,KAAKtB,OACVzjC,KAAKia,MAAMwpB,OACXzjC,KAAKgD,MAAMygC,OACXzjC,KAAKc,MAAM2iC,OACXzjC,KAAKgmC,MAAMvC,OACXzjC,KAAKkmC,MAAMzC,OACXzjC,KAAKmmC,MAAM1C,OAEPzjC,KAAKoW,OAAoB,aAEzBpW,KAAK0pC,MAAQ,IAAIloC,EAAO+vB,MAAM4rB,MAAMn9C,MACpCA,KAAK0pC,MAAMjG,QAIXzjC,KAAK0pC,OAAUjlC,UAAW,aAAgBkgC,OAAQ,aAAgBiB,MAAO,aAAgBwX,YAAY,GAGzGp9C,KAAKq9C,kBAELr9C,KAAK26C,WAAY,EAEb36C,KAAKoW,QAAUpW,KAAKoW,OAAwB,gBAE5CpW,KAAK46C,IAAM,IAAIp5C,EAAO87C,sBAAsBt9C,KAAMA,KAAKoW,OAAwB,iBAI/EpW,KAAK46C,IAAM,IAAIp5C,EAAO87C,sBAAsBt9C,MAAM,GAGtDA,KAAK6pC,YAAa,EAEd75B,OAAc,SAETA,OAAqB,cAAMA,OAAqB,eAAMA,OAAqB,aAAEutC,YAE9EvtC,OAAOwtC,QAIXx9C,KAAKoW,OAAqB,eAK1BpW,KAAK2Z,MAAM8jC,QAEXz9C,KAAK46C,IAAI5uC,QAIThM,KAAK2Z,MAAM+jC,QAAQlS,QAAQ,WACvBxrC,KAAK46C,IAAI5uC,SACVhM,SAWXq9C,gBAAiB,WAEb,IAAIrtC,OAAqB,eAAKA,OAAqB,aAAE2tC,WAArD,CAKA,IAAIC,EAAIp8C,EAAOmqB,QACX1nB,EAAI,SACJhB,EAAI,aACJE,EAAI,EAkBR,GAhBInD,KAAKgqC,aAAexoC,EAAO+U,OAE3BtS,EAAI,QACJd,KAEKnD,KAAKgqC,aAAexoC,EAAOsqB,WAEhC7nB,EAAI,YAGJjE,KAAK6pB,OAAOg0B,WAEZ56C,EAAI,WACJE,KAGCnD,KAAK6pB,OAAOi0B,GA0BR9tC,OAAgB,SAErB1P,QAAQ2P,IAAI,WAAa2tC,EAAI,gBAAkB35C,EAAI,MAAQhB,EAAI,2BA3BnE,CAWI,IAAK,IAVDitB,GACA,uBAAyB0tB,EAAI,gBAAkB35C,EAAI,MAAQhB,EAAI,wCAC/D,sBACA,sBACA,uCACA,sBACA,sBACA,uBAGKP,EAAI,EAAGA,EAAI,EAAGA,IAEfA,EAAIS,EAEJ+sB,EAAKxoB,KAAK,oCAIVwoB,EAAKxoB,KAAK,oCAIlBpH,QAAQ2P,IAAI3K,MAAMhF,QAAS4vB,MAenCssB,cAAe,WAEX,IAAKx8C,KAAK6pB,OAAOhT,OAGb,MAAM,IAAIlO,MAAM,4DA0BpB,GAvBI3I,KAAKoW,OAAe,OAEpBpW,KAAK6W,OAAS7W,KAAKoW,OAAe,OAIlCpW,KAAK6W,OAASrV,EAAO6nB,OAAOjhB,OAAOpI,KAAMA,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKoW,OAAiB,UAAG,GAG3FpW,KAAKoW,OAAoB,YAEzBpW,KAAK6W,OAAOoE,MAAQjb,KAAKoW,OAAoB,YAI7CpW,KAAK6W,OAAOoE,MAAM,uBAAyB,4BAG3Cjb,KAAKoW,OAAc,OAEnB5U,EAAO6nB,OAAO00B,uBAAuB/9C,KAAK6W,QAGzC7W,KAAKgqC,aAAexoC,EAAO+U,OAC3BvW,KAAKgqC,aAAexoC,EAAOuqB,aAC3B/rB,KAAKgqC,aAAexoC,EAAOqqB,MAAQ7rB,KAAK6pB,OAAOm0B,MACpD,EACQh+C,KAAK06C,cAAgB16C,KAAKgqC,aAAexoC,EAAOuqB,eAEhDvtB,KAAK+e,qBACLvd,KAAK06C,cAAe,GAGxB,IAEI16C,KAAK4E,SAAW,IAAIpG,KAAK2X,cAAcnW,KAAMA,KAAKoW,QAClDpW,KAAKgqC,WAAaxoC,EAAO+U,MACzBvW,KAAKyN,QAAU,KACfzN,KAAK6W,OAAOu5B,iBAAiB,mBAAoBpwC,KAAKka,YAAY4V,KAAK9vB,OAAO,GAC9EA,KAAK6W,OAAOu5B,iBAAiB,uBAAwBpwC,KAAKi+C,gBAAgBnuB,KAAK9vB,OAAO,GAE1F,MAAOk+C,GAMH,GAJAl+C,KAAK4E,SAAW,KAChB5E,KAAK06C,cAAe,EACpBl8C,KAAK4H,2BAA4B,EAE7BpG,KAAKgqC,aAAexoC,EAAO+U,MAG3B,MAAM2nC,GAKbl+C,KAAK4E,WAEN5E,KAAK4E,SAAW,IAAIpG,KAAK0qB,eAAelpB,KAAMA,KAAKoW,QACnDpW,KAAKyN,QAAUzN,KAAK4E,SAAS6I,QAEzBzN,KAAKgqC,aAAexoC,EAAOqqB,OAE3B7rB,KAAKgqC,WAAaxoC,EAAO2nB,SAI7BnpB,KAAK6pB,OAAOs0B,WAEZn+C,KAAK6W,OAAO4S,aAAgBzpB,KAAKgqC,aAAexoC,EAAO2nB,QAGvDnpB,KAAKgqC,aAAexoC,EAAOsqB,WAE3B9rB,KAAKia,MAAMmkC,SAAWp+C,KAAK+W,UAE3BvV,EAAO6nB,OAAOg1B,SAASr+C,KAAK6W,OAAQ7W,KAAKqB,QAAQ,GACjDG,EAAO6nB,OAAOomB,eAAezvC,KAAK6W,UAY1CqD,YAAa,SAAU81B,GAEnBA,EAAMsO,iBAENt+C,KAAK4E,SAASsV,aAAc,GAUhC+jC,gBAAiB,WAEbj+C,KAAK4E,SAASqT,cAEdjY,KAAK2Z,MAAM4kC,kBAEXv+C,KAAK4E,SAASsV,aAAc,GAWhCyqB,OAAQ,SAAUI,GAEd,GAAI/kC,KAAKkyC,eAELlyC,KAAKwC,cAFT,CAQA,GAFAxC,KAAK+kC,KAAKJ,OAAOI,GAEb/kC,KAAK6pC,WASL,OAPA7pC,KAAKw+C,YAAYx+C,KAAK+kC,KAAK0Z,gBAG3Bz+C,KAAK0+C,aAAa1+C,KAAK+kC,KAAK4Z,WAAa3+C,KAAK+kC,KAAK6Z,iBAEnD5+C,KAAK6pC,YAAa,GAMtB,GAAI7pC,KAAK47C,WAAa,IAAM57C,KAAK87C,kBAGzB97C,KAAK+kC,KAAKA,KAAO/kC,KAAKi8C,uBAGtBj8C,KAAKi8C,qBAAuBj8C,KAAK+kC,KAAKA,KAAO,IAG7C/kC,KAAK67C,mBAAmB5W,YAI5BjlC,KAAK07C,WAAa,EAClB17C,KAAK47C,WAAa,EAEd57C,KAAKg8C,WAELh8C,KAAKy7C,iBAAmB,GAIxBz7C,KAAK0+C,aAAa1+C,KAAK+kC,KAAK4Z,WAAa3+C,KAAK+kC,KAAK6Z,YACnD5+C,KAAKy7C,iBAAmB,OAIhC,CAEI,IAAIoD,EAAkC,IAAvB7+C,KAAK+kC,KAAK4Z,WAAsB3+C,KAAK+kC,KAAK6Z,WAGzD5+C,KAAK07C,YAAcj4C,KAAKuC,IAAIvC,KAAK21B,IAAe,EAAXylB,EAAc7+C,KAAK+kC,KAAK+Z,SAAU,GAIvE,IAAI3gC,EAAQ,EAkBZ,IAhBAne,KAAKw7C,iBAAmB/3C,KAAKsL,MAAM/O,KAAK07C,WAAamD,GAEjD7+C,KAAK87C,oBAEL97C,KAAKw7C,iBAAmB/3C,KAAK21B,IAAI,EAAGp5B,KAAKw7C,mBAGzCx7C,KAAK+7C,kBAEL/7C,KAAKy7C,iBAAmB,EAIxBz7C,KAAKy7C,iBAAmBh4C,KAAK21B,IAAI,EAAGp5B,KAAKw7C,kBAGtCx7C,KAAK07C,YAAcmD,IAEtB7+C,KAAK07C,YAAcmD,EACnB7+C,KAAKu7C,gBAAkBp9B,EAEvBne,KAAKw+C,YAAYx+C,KAAK+kC,KAAK0Z,gBAE3BtgC,KAEIne,KAAK87C,mBAA+B,IAAV39B,IAM1Bne,KAAK+kC,KAAK3b,UAKdjL,EAAQne,KAAK27C,WAEb37C,KAAK47C,aAEAz9B,EAAQne,KAAK27C,aAGlB37C,KAAK47C,WAAa,GAGtB57C,KAAK27C,WAAax9B,EAEdne,KAAKy7C,iBAAmB,GAExBz7C,KAAK0+C,aAAa1+C,KAAK07C,WAAamD,MAahDL,YAAa,SAAUO,GAEd/+C,KAAKq7C,SAAYr7C,KAAKi7C,aA+BvBj7C,KAAKc,MAAM+lC,cACX7mC,KAAKmmC,MAAMU,YAAYkY,GACvB/+C,KAAK0pC,MAAMjlC,YACXzE,KAAKgmC,MAAMa,gBAhCP7mC,KAAKg7C,WAELh7C,KAAKi7C,aAAc,GAGvBj7C,KAAK+kC,KAAKia,cAEVh/C,KAAKc,MAAM2D,YACXzE,KAAK0pC,MAAMjlC,YACXzE,KAAKya,OAAOhW,YACZzE,KAAKsmC,QAAQ7hC,YACbzE,KAAKmmC,MAAM1hC,UAAUs6C,GACrB/+C,KAAK0uC,QAAQjqC,UAAUs6C,GACvB/+C,KAAKia,MAAMxV,YAEXzE,KAAKmmC,MAAMxB,SACX3kC,KAAKia,MAAM0qB,SACX3kC,KAAKomC,OAAOzB,SACZ3kC,KAAKkmC,MAAMvB,SACX3kC,KAAKgmC,MAAMrB,SACX3kC,KAAKsmC,QAAQ3B,SACb3kC,KAAK0uC,QAAQ/J,SAEb3kC,KAAKia,MAAM60B,aACX9uC,KAAK0uC,QAAQI,cAWjB9uC,KAAKia,MAAMpX,mBAmBf67C,aAAc,SAAU3U,GAEhB/pC,KAAK+6C,aAKT/6C,KAAK+kC,KAAKka,cAEVj/C,KAAKmmC,MAAMO,UAAUqD,GAEjB/pC,KAAKgqC,aAAexoC,EAAOsqB,WAE3B9rB,KAAK4E,SAASM,OAAOlF,KAAKia,OAE1Bja,KAAK0uC,QAAQxpC,OAAO6kC,GAEpB/pC,KAAKmmC,MAAMjhC,OAAO6kC,IAGtB/pC,KAAK0uC,QAAQF,WAAWzE,KAU5BmV,WAAY,WAERl/C,KAAKg7C,UAAW,EAChBh7C,KAAKi7C,aAAc,EACnBj7C,KAAKk7C,UAAY,GASrBiE,YAAa,WAETn/C,KAAKg7C,UAAW,EAChBh7C,KAAKi7C,aAAc,GAUvBmE,KAAM,WAEFp/C,KAAKi7C,aAAc,EACnBj7C,KAAKk7C,aAgBT14C,QAAS,WAELxC,KAAK46C,IAAI/uC,OAEL7L,KAAK0pC,MAAMlnC,SAEXxC,KAAK0pC,MAAMlnC,UAGfxC,KAAKmmC,MAAM3jC,UACXxC,KAAKkmC,MAAM1jC,UACXxC,KAAKc,MAAM0B,UACXxC,KAAKia,MAAMzX,UACXxC,KAAKgmC,MAAMxjC,UACXxC,KAAKsmC,QAAQ9jC,UACbxC,KAAK0uC,QAAQlsC,UAEbxC,KAAK0pC,MAAQ,KACb1pC,KAAKmmC,MAAQ,KACbnmC,KAAKkmC,MAAQ,KACblmC,KAAKc,MAAQ,KACbd,KAAKia,MAAQ,KACbja,KAAKgmC,MAAQ,KACbhmC,KAAKsmC,QAAU,KACftmC,KAAK0uC,QAAU,KAEf1uC,KAAK2Z,MAAQ,KACb3Z,KAAKimC,KAAO,KACZjmC,KAAK+kC,KAAO,KACZ/kC,KAAKgD,MAAQ,KAEbhD,KAAK4oC,UAAW,EAEhB5oC,KAAK4E,SAASpC,SAAQ,GAEtBhB,EAAO6nB,OAAOg2B,cAAcr/C,KAAK6W,QAEjCrY,KAAK6X,gBAAkB,KAEvB7U,EAAOoqB,MAAM5rB,KAAK8T,IAAM,MAW5Bk9B,WAAY,SAAUhB,GAGbhwC,KAAKq7C,UAENr7C,KAAKq7C,SAAU,EAEfr7C,KAAK+kC,KAAKiM,aAENhxC,KAAKkmC,MAAMoZ,aAEXt/C,KAAKkmC,MAAMqZ,UAGfv/C,KAAKsoC,QAAQrD,SAAS+K,GAGlBhwC,KAAK6pB,OAAO21B,SAAWx/C,KAAK6pB,OAAO41B,MAEnCz/C,KAAK+6C,YAAa,KAa9B9J,YAAa,SAAUjB,GAGfhwC,KAAKq7C,UAAYr7C,KAAKs7C,cAEtBt7C,KAAKq7C,SAAU,EAEfr7C,KAAK+kC,KAAKkM,cAEVjxC,KAAKgmC,MAAMJ,QAEP5lC,KAAKkmC,MAAMoZ,aAEXt/C,KAAKkmC,MAAMwZ,YAGf1/C,KAAKwoC,SAASvD,SAAS+K,GAGnBhwC,KAAK6pB,OAAO21B,SAAWx/C,KAAK6pB,OAAO41B,MAEnCz/C,KAAK+6C,YAAa,KAa9BjK,UAAW,SAAUd,GAEjBhwC,KAAKm7C,OAAOlW,SAAS+K,GAEhBhwC,KAAKia,MAAM+0B,yBAEZhvC,KAAKgxC,WAAWhB,IAYxBe,UAAW,SAAUf,GAEjBhwC,KAAKo7C,QAAQnW,SAAS+K,GAEjBhwC,KAAKia,MAAM+0B,yBAEZhvC,KAAKixC,YAAYjB,KAO7BxuC,EAAOg5C,KAAKl4C,UAAUC,YAAcf,EAAOg5C,KAQ3C5zC,OAAOuF,eAAe3K,EAAOg5C,KAAKl4C,UAAW,UAEzCwE,IAAK,WACD,OAAO9G,KAAKq7C,SAGhBt0C,IAAK,SAAUC,IAEG,IAAVA,IAEqB,IAAjBhH,KAAKq7C,UAELr7C,KAAKq7C,SAAU,EACfr7C,KAAKkmC,MAAMqZ,UACXv/C,KAAK+kC,KAAKiM,aACVhxC,KAAKsoC,QAAQrD,SAASjlC,OAE1BA,KAAKs7C,aAAc,IAIft7C,KAAKq7C,UAELr7C,KAAKq7C,SAAU,EACfr7C,KAAKgmC,MAAMJ,QACX5lC,KAAKkmC,MAAMwZ,YACX1/C,KAAK+kC,KAAKkM,cACVjxC,KAAKwoC,SAASvD,SAASjlC,OAE3BA,KAAKs7C,aAAc,MA6B/B95C,EAAOs7C,MAAQ,SAAUh6C,GAKrB9C,KAAK8C,KAAOA,EAMZ9C,KAAK2/C,UAAY,KAMjB3/C,KAAK4/C,WAAa,KAQlB5/C,KAAK6/C,iBAML7/C,KAAK8/C,uBAAyB,KAM9B9/C,KAAK+/C,8BAAgC,KAMrC//C,KAAKggD,SAAW,EAShBhgD,KAAKigD,SAAU,EAMfjgD,KAAKkgD,mBAAqB1+C,EAAOs7C,MAAMqD,oBAMvCngD,KAAKY,SAAW,KAKhBZ,KAAKogD,MAAQ,KAObpgD,KAAKqgD,OAAS,KAKdrgD,KAAKc,MAAQ,KAMbd,KAAKsgD,aAAe,EAMpBtgD,KAAKugD,QAAU,IAMfvgD,KAAKwgD,cAAgB,IAMrBxgD,KAAKygD,SAAW,IAMhBzgD,KAAK0gD,gBAAkB,IAMvB1gD,KAAK2gD,iBAAmB,IASxB3gD,KAAK4gD,sBAAuB,EAM5B5gD,KAAK6gD,WAAa,IAQlB7gD,KAAK8gD,YAAc,IASnB9gD,KAAK+gD,sBAKL/gD,KAAKghD,SAAW,KAKhBhhD,KAAKihD,SAAW,KAKhBjhD,KAAKkhD,SAAW,KAKhBlhD,KAAKmhD,SAAW,KAKhBnhD,KAAKohD,SAAW,KAKhBphD,KAAKqhD,SAAW,KAKhBrhD,KAAKshD,SAAW,KAKhBthD,KAAKuhD,SAAW,KAKhBvhD,KAAKwhD,SAAW,KAKhBxhD,KAAKyhD,UAAY,KASjBzhD,KAAK0hD,YASL1hD,KAAK2hD,cAAgB,KAOrB3hD,KAAK4hD,aAAe,KAUpB5hD,KAAK6sC,MAAQ,KAOb7sC,KAAK6hD,SAAW,KAUhB7hD,KAAK8hD,MAAQ,KAUb9hD,KAAK+hD,UAAY,KAOjB/hD,KAAKgiD,QAAU,KAQfhiD,KAAKiiD,aAAc,EAWnBjiD,KAAKkiD,OAAS,KAWdliD,KAAKmiD,KAAO,KAWZniD,KAAKoiD,MAAQ,KAUbpiD,KAAKqiD,OAAS,KAQdriD,KAAKsiD,cAAgB,EAMrBtiD,KAAKuiD,iBAAmB,IAAI/gD,EAAO+1C,SAMnCv3C,KAAKwiD,YAAc,IAAIhhD,EAAOX,MAM9Bb,KAAKyiD,aAAe,EAMpBziD,KAAK0iD,aAAe,KAMpB1iD,KAAK2iD,GAAK,EAMV3iD,KAAK4iD,GAAK,GAQdphD,EAAOs7C,MAAM+F,sBAAwB,EAMrCrhD,EAAOs7C,MAAMgG,sBAAwB,EAMrCthD,EAAOs7C,MAAMqD,oBAAsB,EAOnC3+C,EAAOs7C,MAAMiG,aAAe,GAE5BvhD,EAAOs7C,MAAMx6C,WAQTmhC,KAAM,WAEFzjC,KAAK4hD,aAAe,IAAIpgD,EAAOwhD,QAAQhjD,KAAK8C,KAAM,EAAGtB,EAAOyhD,YAAYC,QACxEljD,KAAKmjD,aACLnjD,KAAKmjD,aAELnjD,KAAK6sC,MAAQ,IAAIrrC,EAAO4hD,MAAMpjD,KAAK8C,MACnC9C,KAAK8hD,MAAQ,IAAItgD,EAAO6hD,MAAMrjD,KAAK8C,MACnC9C,KAAK+hD,UAAY,IAAIvgD,EAAO8hD,UAAUtjD,KAAK8C,MAEvCtB,EAAO+hD,WAEPvjD,KAAK6hD,SAAW,IAAIrgD,EAAO+hD,SAASvjD,KAAK8C,OAGzCtB,EAAOgiD,UAEPxjD,KAAKgiD,QAAU,IAAIxgD,EAAOgiD,QAAQxjD,KAAK8C,OAG3C9C,KAAKkiD,OAAS,IAAI1gD,EAAO0gC,OACzBliC,KAAKmiD,KAAO,IAAI3gD,EAAO0gC,OACvBliC,KAAKoiD,MAAQ,IAAI5gD,EAAO0gC,OACxBliC,KAAKqiD,OAAS,IAAI7gD,EAAO0gC,OAEzBliC,KAAKc,MAAQ,IAAIU,EAAOX,MAAM,EAAG,GACjCb,KAAKogD,MAAQ,IAAI5+C,EAAOX,MACxBb,KAAKY,SAAW,IAAIY,EAAOX,MAC3Bb,KAAK0iD,aAAe,IAAIlhD,EAAOX,MAE/Bb,KAAKqgD,OAAS,IAAI7+C,EAAOizB,OAAO,EAAG,EAAG,IAEtCz0B,KAAK2hD,cAAgB3hD,KAAK4hD,aAE1B5hD,KAAK2/C,UAAYn+C,EAAOsa,WAAW1T,OAAOpI,KAAM,EAAG,GACnDA,KAAK4/C,WAAa5/C,KAAK2/C,UAAUxnC,WAAW,MAE5CnY,KAAK6sC,MAAM7gC,QACNhM,KAAK8C,KAAK+mB,OAAOk4B,WAIlB/hD,KAAK8hD,MAAM91C,QAEfhM,KAAK+hD,UAAU/1C,QACfhM,KAAK4hD,aAAavX,QAAS,EAEvBrqC,KAAK6hD,UAEL7hD,KAAK6hD,SAAS71C,QAGlB,IAAIggC,EAAQhsC,KAEZA,KAAKyjD,mBAAqB,SAAUzT,GAChChE,EAAM0X,kBAAkB1T,IAG5BhwC,KAAK8C,KAAK+T,OAAOu5B,iBAAiB,QAASpwC,KAAKyjD,oBAAoB,IASxEjhD,QAAS,WAELxC,KAAK6sC,MAAMhhC,OACX7L,KAAK8hD,MAAMj2C,OACX7L,KAAK+hD,UAAUl2C,OAEX7L,KAAK6hD,UAEL7hD,KAAK6hD,SAASh2C,OAGd7L,KAAKgiD,SAELhiD,KAAKgiD,QAAQn2C,OAGjB7L,KAAK6/C,iBAELr+C,EAAOsa,WAAWC,OAAO/b,MAEzBA,KAAK8C,KAAK+T,OAAOu6B,oBAAoB,QAASpxC,KAAKyjD,qBA0BvDE,+BAAgC,SAAUxP,EAAU1mC,GAEhDzN,KAAK8/C,uBAAyB3L,EAC9Bn0C,KAAK+/C,8BAAgCtyC,GAuBzCm2C,gBAAiB,SAAUzP,EAAU1mC,GAEjCzN,KAAK6/C,cAAcn4C,MAAOysC,SAAUA,EAAU1mC,QAASA,KAmB3Do2C,qBAAsB,SAAU1P,EAAU1mC,EAASq2C,QAEjCx9C,IAAVw9C,IAAuBA,GAAQ,GAEnC9jD,KAAK+gD,mBAAmBr5C,MAAOysC,SAAUA,EAAU1mC,QAASA,EAASq2C,MAAOA,KAYhFC,wBAAyB,SAAU5P,EAAU1mC,GAIzC,IAFA,IAAI/K,EAAI1C,KAAK+gD,mBAAmBp+C,OAEzBD,KAEH,GAAI1C,KAAK+gD,mBAAmBr+C,GAAGyxC,WAAaA,GAAYn0C,KAAK+gD,mBAAmBr+C,GAAG+K,UAAYA,EAG3F,OADAzN,KAAK+gD,mBAAmBr4C,OAAOhG,EAAG,IAC3B,EAIf,OAAO,GAYXshD,0BAA2B,SAAUF,EAAO9T,GAGxC,IAFA,IAAIttC,EAAI1C,KAAK+gD,mBAAmBp+C,OAEzBD,KACP,CACI,IAAIuhD,EAAKjkD,KAAK+gD,mBAAmBr+C,GAE7BuhD,EAAGH,QAAUA,GAASG,EAAG9P,SAAS5vC,KAAK0/C,EAAGx2C,QAASzN,KAAMgwC,IAEzDhwC,KAAK+gD,mBAAmBr4C,OAAOhG,EAAG,KAY9CwhD,mBAAoB,SAAU/P,EAAU1mC,GAIpC,IAFA,IAAI/K,EAAI1C,KAAK6/C,cAAcl9C,OAEpBD,KAEH,GAAI1C,KAAK6/C,cAAcn9C,GAAGyxC,WAAaA,GAAYn0C,KAAK6/C,cAAcn9C,GAAG+K,UAAYA,EAGjF,YADAzN,KAAK6/C,cAAcn3C,OAAOhG,EAAG,IAezCygD,WAAY,WAER,GAAInjD,KAAK0hD,SAAS/+C,QAAUnB,EAAOs7C,MAAMiG,aAGrC,OADAziD,QAAQ0Z,KAAK,6CAA+CxY,EAAOs7C,MAAMiG,aAAe,sBACjF,KAGX,IAAIjvC,EAAK9T,KAAK0hD,SAAS/+C,OAAS,EAC5BgrC,EAAU,IAAInsC,EAAOwhD,QAAQhjD,KAAK8C,KAAMgR,EAAItS,EAAOyhD,YAAYkB,SAKnE,OAHAnkD,KAAK0hD,SAASh6C,KAAKimC,GACnB3tC,KAAK,UAAY8T,GAAM65B,EAEhBA,GAUXhJ,OAAQ,WAOJ,GALI3kC,KAAK6hD,UAEL7hD,KAAK6hD,SAASld,SAGd3kC,KAAKggD,SAAW,GAAKhgD,KAAKyiD,aAAeziD,KAAKggD,SAE9ChgD,KAAKyiD,mBAFT,CAMAziD,KAAKogD,MAAMt8C,EAAI9D,KAAKY,SAASkD,EAAI9D,KAAK0iD,aAAa5+C,EACnD9D,KAAKogD,MAAMr8C,EAAI/D,KAAKY,SAASmD,EAAI/D,KAAK0iD,aAAa3+C,EAEnD/D,KAAK0iD,aAAavtB,SAASn1B,KAAKY,UAChCZ,KAAK4hD,aAAajd,SAEd3kC,KAAKgiD,SAAWhiD,KAAKgiD,QAAQ3X,QAE7BrqC,KAAKgiD,QAAQrd,SAGjB,IAAK,IAAIjiC,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,OAAQD,IAEtC1C,KAAK0hD,SAASh/C,GAAGiiC,SAGrB3kC,KAAKyiD,aAAe,IAUxB5b,YAAa,WAEL7mC,KAAKgiD,SAAWhiD,KAAKgiD,QAAQ3X,QAE7BrqC,KAAKgiD,QAAQrd,UAgBrBiB,MAAO,SAAUwe,GAEb,GAAKpkD,KAAK8C,KAAK8lC,WAAY5oC,KAAKiiD,YAAhC,MAKa37C,IAAT89C,IAAsBA,GAAO,GAEjCpkD,KAAK4hD,aAAahc,QAEd5lC,KAAK6hD,UAEL7hD,KAAK6hD,SAASjc,MAAMwe,GAGxB,IAAK,IAAI1hD,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,OAAQD,IAEtC1C,KAAK0hD,SAASh/C,GAAGkjC,QAGiB,SAAlC5lC,KAAK8C,KAAK+T,OAAOoE,MAAMm3B,SAEvBpyC,KAAK8C,KAAK+T,OAAOoE,MAAMm3B,OAAS,IAGhCgS,IAEApkD,KAAKkiD,OAAOnW,UACZ/rC,KAAKmiD,KAAKpW,UACV/rC,KAAKoiD,MAAMrW,UACX/rC,KAAKqiD,OAAOtW,UACZ/rC,KAAKkiD,OAAS,IAAI1gD,EAAO0gC,OACzBliC,KAAKmiD,KAAO,IAAI3gD,EAAO0gC,OACvBliC,KAAKoiD,MAAQ,IAAI5gD,EAAO0gC,OACxBliC,KAAKqiD,OAAS,IAAI7gD,EAAO0gC,OACzBliC,KAAK6/C,kBAGT7/C,KAAKyiD,aAAe,IAWxB4B,WAAY,SAAUvgD,EAAGC,GAErB/D,KAAK0iD,aAAaxtB,MAAMpxB,EAAGC,GAC3B/D,KAAKogD,MAAMlrB,MAAM,EAAG,IAaxBovB,aAAc,SAAUtU,GAEpB,GAAIhwC,KAAKsgD,aAAe,GAAKtgD,KAAKukD,oBAAoBvkD,KAAKsgD,cAAgBtgD,KAAKsgD,YAE5E,OAAO,KAGX,IAAKtgD,KAAKghD,SAAS3W,OAEf,OAAOrqC,KAAKghD,SAASh1C,MAAMgkC,GAG/B,IAAKhwC,KAAKihD,SAAS5W,OAEf,OAAOrqC,KAAKihD,SAASj1C,MAAMgkC,GAG/B,IAAK,IAAIttC,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,OAAQD,IAC1C,CACI,IAAIirC,EAAU3tC,KAAK0hD,SAASh/C,GAE5B,IAAKirC,EAAQtD,OAET,OAAOsD,EAAQ3hC,MAAMgkC,GAI7B,OAAO,MAaXwU,cAAe,SAAUxU,GAErB,GAAIhwC,KAAKghD,SAAS3W,QAAUrqC,KAAKghD,SAASyD,aAAezU,EAAMyU,WAE3D,OAAOzkD,KAAKghD,SAAS0D,KAAK1U,GAG9B,GAAIhwC,KAAKihD,SAAS5W,QAAUrqC,KAAKihD,SAASwD,aAAezU,EAAMyU,WAE3D,OAAOzkD,KAAKihD,SAASyD,KAAK1U,GAG9B,IAAK,IAAIttC,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,OAAQD,IAC1C,CACI,IAAIirC,EAAU3tC,KAAK0hD,SAASh/C,GAE5B,GAAIirC,EAAQtD,QAAUsD,EAAQ8W,aAAezU,EAAMyU,WAE/C,OAAO9W,EAAQ+W,KAAK1U,GAI5B,OAAO,MAYX2U,YAAa,SAAU3U,GAEnB,GAAIhwC,KAAKghD,SAAS3W,QAAUrqC,KAAKghD,SAASyD,aAAezU,EAAMyU,WAE3D,OAAOzkD,KAAKghD,SAASn1C,KAAKmkC,GAG9B,GAAIhwC,KAAKihD,SAAS5W,QAAUrqC,KAAKihD,SAASwD,aAAezU,EAAMyU,WAE3D,OAAOzkD,KAAKihD,SAASp1C,KAAKmkC,GAG9B,IAAK,IAAIttC,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,OAAQD,IAC1C,CACI,IAAIirC,EAAU3tC,KAAK0hD,SAASh/C,GAE5B,GAAIirC,EAAQtD,QAAUsD,EAAQ8W,aAAezU,EAAMyU,WAE/C,OAAO9W,EAAQ9hC,KAAKmkC,GAI5B,OAAO,MAYXuU,oBAAqB,SAAUjnB,QAEbh3B,IAAVg3B,IAAuBA,EAAQt9B,KAAK0hD,SAAS/+C,QAIjD,IAAK,IAFDwb,EAAQmf,EAEH56B,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,QAAUwb,EAAQ,EAAGzb,IAErC1C,KAAK0hD,SAASh/C,GAEhB2nC,QAERlsB,IAIR,OAAQmf,EAAQnf,GAWpBymC,WAAY,SAAUC,QAEDv+C,IAAbu+C,IAA0BA,GAAW,GAEzC,IAAK,IAAIniD,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,OAAQD,IAC1C,CACI,IAAIirC,EAAU3tC,KAAK0hD,SAASh/C,GAE5B,GAAIirC,EAAQtD,SAAWwa,EAEnB,OAAOlX,EAIf,OAAO,MAeXmX,yBAA0B,SAAUL,GAEhC,IAAK,IAAI/hD,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,OAAQD,IAC1C,CACI,IAAIirC,EAAU3tC,KAAK0hD,SAASh/C,GAE5B,GAAIirC,EAAQ8W,aAAeA,EAEvB,OAAO9W,EAIf,OAAO,MAcXoX,iBAAkB,SAAUC,GAExB,IAAK,IAAItiD,EAAI,EAAGA,EAAI1C,KAAK0hD,SAAS/+C,OAAQD,IAC1C,CACI,IAAIirC,EAAU3tC,KAAK0hD,SAASh/C,GAE5B,GAAIirC,EAAQqX,YAAcA,EAEtB,OAAOrX,EAIf,OAAO,MAYXsX,iBAAkB,SAAUrqC,EAAe+yB,EAASnY,QAEjClvB,IAAXkvB,IAAwBA,EAAS,IAAIh0B,EAAOX,OAEhD,IAAI2C,EAAKoX,EAAcrZ,eACnBuS,EAAK,GAAKtQ,EAAGP,EAAIO,EAAGJ,EAAII,EAAGL,GAAKK,EAAGN,GAEvC,OAAOsyB,EAAON,MACV1xB,EAAGJ,EAAI0Q,EAAK65B,EAAQ7pC,GAAKN,EAAGL,EAAI2Q,EAAK65B,EAAQ5pC,GAAKP,EAAGF,GAAKE,EAAGL,EAAIK,EAAGH,GAAKG,EAAGJ,GAAK0Q,EACjFtQ,EAAGP,EAAI6Q,EAAK65B,EAAQ5pC,GAAKP,EAAGN,EAAI4Q,EAAK65B,EAAQ7pC,IAAMN,EAAGF,GAAKE,EAAGP,EAAIO,EAAGH,GAAKG,EAAGN,GAAK4Q,IAa1FoxC,QAAS,SAAUtqC,EAAe+yB,EAASwX,GAEvC,IAAKvqC,EAAc3T,aAEf,OAAO,EAOX,GAJAjH,KAAKilD,iBAAiBrqC,EAAe+yB,EAAS3tC,KAAKwiD,aAEnD2C,EAAWhwB,SAASn1B,KAAKwiD,aAErB5nC,EAAczZ,SAAWyZ,EAAczZ,QAAQ6I,SAE/C,OAAQ4Q,EAAczZ,QAAQ6I,SAAShK,KAAKwiD,YAAY1+C,EAAG9D,KAAKwiD,YAAYz+C,GAE3E,GAAIvC,EAAO4jD,UAAYxqC,aAAyBpZ,EAAO4jD,SAAU,CACpE,IAAIxnD,EAAQ6F,KAAKgzB,IAAI7b,EAAchd,OAC/BC,EAAS4F,KAAKgzB,IAAI7b,EAAc/c,QAChCmN,EAAK4P,EAAc9W,EAAKlG,EAAQgd,EAAcmzB,QAElD,GAAI/tC,KAAK8C,KAAK2X,OAAO3W,EAAI6pC,EAAQ7pC,GAAKkH,GAAMhL,KAAK8C,KAAK2X,OAAO3W,EAAI6pC,EAAQ7pC,EAAIkH,EAAKpN,EAClF,CACMqN,EAAK2P,EAAc7W,EAAKlG,EAAS+c,EAAcozB,QAEnD,GAAIhuC,KAAK8C,KAAK2X,OAAO1W,EAAI4pC,EAAQ5pC,GAAKkH,GAAMjL,KAAK8C,KAAK2X,OAAO1W,EAAI4pC,EAAQ5pC,EAAIkH,EAAKpN,EAEhF,OAAO,QAIR,GAAI+c,aAAyBpZ,EAAO6jD,WACzC,CACI,IAAIznD,EAAQgd,EAAchd,MACtBC,EAAS+c,EAAc/c,OACvBmN,GAAMpN,EAAQgd,EAAclU,OAAO5C,EAEvC,GAAI9D,KAAKwiD,YAAY1+C,GAAKkH,GAAMhL,KAAKwiD,YAAY1+C,EAAIkH,EAAKpN,EAC1D,CACQqN,GAAMpN,EAAS+c,EAAclU,OAAO3C,EAExC,GAAI/D,KAAKwiD,YAAYz+C,GAAKkH,GAAMjL,KAAKwiD,YAAYz+C,EAAIkH,EAAKpN,EAEtD,OAAO,QAId,GAAI+c,aAAyBpc,KAAKqH,OACvC,CACI,IAAIjI,EAAQgd,EAAc7c,QAAQiP,MAAMpP,MAAQgd,EAAc7c,QAAQoI,YAAYxB,WAC9E9G,EAAS+c,EAAc7c,QAAQiP,MAAMnP,OAAS+c,EAAc7c,QAAQoI,YAAYxB,WAChFqG,GAAMpN,EAAQgd,EAAclU,OAAO5C,EAEvC,GAAI9D,KAAKwiD,YAAY1+C,GAAKkH,GAAMhL,KAAKwiD,YAAY1+C,EAAIkH,EAAKpN,EAC1D,CACI,IAAIqN,GAAMpN,EAAS+c,EAAclU,OAAO3C,EAExC,GAAI/D,KAAKwiD,YAAYz+C,GAAKkH,GAAMjL,KAAKwiD,YAAYz+C,EAAIkH,EAAKpN,EAEtD,OAAO,QAId,GAAI+c,aAAyBpZ,EAAOkiC,SAErC,IAAShhC,EAAI,EAAGA,EAAIkY,EAAc0qC,aAAa3iD,OAAQD,IACvD,CACI,IAAIsR,EAAO4G,EAAc0qC,aAAa5iD,GAEtC,GAAKsR,EAAKuxC,OAMNvxC,EAAKwxC,OAASxxC,EAAKwxC,MAAMx7C,SAAShK,KAAKwiD,YAAY1+C,EAAG9D,KAAKwiD,YAAYz+C,IAEvE,OAAO,EAOnB,IAAK,IAAIrB,EAAI,EAAGA,EAAIkY,EAAcnY,SAASE,OAAQD,IAE/C,GAAI1C,KAAKklD,QAAQtqC,EAAcnY,SAASC,GAAIirC,EAASwX,GAEjD,OAAO,EAIf,OAAO,GASXzB,kBAAmB,WAIf1jD,KAAK2hD,cAAc8D,4BAM3BjkD,EAAOs7C,MAAMx6C,UAAUC,YAAcf,EAAOs7C,MAQ5Cl2C,OAAOuF,eAAe3K,EAAOs7C,MAAMx6C,UAAW,KAE1CwE,IAAK,WACD,OAAO9G,KAAK2iD,IAGhB57C,IAAK,SAAUC,GACXhH,KAAK2iD,GAAKl/C,KAAKsL,MAAM/H,MAW7BJ,OAAOuF,eAAe3K,EAAOs7C,MAAMx6C,UAAW,KAE1CwE,IAAK,WACD,OAAO9G,KAAK4iD,IAGhB77C,IAAK,SAAUC,GACXhH,KAAK4iD,GAAKn/C,KAAKsL,MAAM/H,MAW7BJ,OAAOuF,eAAe3K,EAAOs7C,MAAMx6C,UAAW,cAE1CwE,IAAK,WACD,OAAQ9G,KAAKggD,SAAW,GAAKhgD,KAAKyiD,aAAeziD,KAAKggD,YAW9Dp5C,OAAOuF,eAAe3K,EAAOs7C,MAAMx6C,UAAW,yBAE1CwE,IAAK,WACD,OAAO9G,KAAK0hD,SAAS/+C,OAAS3C,KAAKukD,yBAW3C39C,OAAOuF,eAAe3K,EAAOs7C,MAAMx6C,UAAW,uBAE1CwE,IAAK,WACD,OAAO9G,KAAKukD,yBAWpB39C,OAAOuF,eAAe3K,EAAOs7C,MAAMx6C,UAAW,UAE1CwE,IAAK,WACD,OAAO9G,KAAK8C,KAAK2X,OAAO7D,KAAK9S,EAAI9D,KAAK8D,KAW9C8C,OAAOuF,eAAe3K,EAAOs7C,MAAMx6C,UAAW,UAE1CwE,IAAK,WACD,OAAO9G,KAAK8C,KAAK2X,OAAO7D,KAAK7S,EAAI/D,KAAK+D,KAyB9CvC,EAAO4hD,MAAQ,SAAUtgD,GAKrB9C,KAAK8C,KAAOA,EAMZ9C,KAAKgmC,MAAQljC,EAAKkjC,MAKlBhmC,KAAK6oC,gBAAkB7oC,KAAK8C,KAK5B9C,KAAK0lD,kBAAoB,KAKzB1lD,KAAK2lD,gBAAkB,KAKvB3lD,KAAK4lD,iBAAmB,KAKxB5lD,KAAK6lD,kBAAoB,KAKzB7lD,KAAK8lD,mBAAqB,KAK1B9lD,KAAK+lD,SAAU,EASf/lD,KAAKgmD,QAAU,EAMfhmD,KAAKimD,WAAa,EAOlBjmD,KAAKigD,SAAU,EAMfjgD,KAAKkmD,QAAS,EAMdlmD,KAAKmmD,eAAgB,EAMrBnmD,KAAKomD,YAAc,IAAI5kD,EAAO0gC,OAQ9BliC,KAAKgwC,MAAQ,KAMbhwC,KAAKqmD,aAAe,KAMpBrmD,KAAKsmD,aAAe,KAMpBtmD,KAAKumD,WAAa,KAMlBvmD,KAAKwmD,YAAc,KAMnBxmD,KAAKymD,aAAe,KAMpBzmD,KAAK0mD,cAAgB,KAOrB1mD,KAAK2mD,YAAc,MAQvBnlD,EAAO4hD,MAAMwD,WAAa,EAM1BplD,EAAO4hD,MAAMyD,YAAc,EAM3BrlD,EAAO4hD,MAAM0D,cAAgB,EAM7BtlD,EAAO4hD,MAAM2D,aAAe,EAM5BvlD,EAAO4hD,MAAM4D,YAAc,EAM3BxlD,EAAO4hD,MAAM6D,eAAiB,EAM9BzlD,EAAO4hD,MAAM8D,SAAW,EAMxB1lD,EAAO4hD,MAAM+D,YAAc,EAE3B3lD,EAAO4hD,MAAM9gD,WAMT0J,MAAO,WAEH,KAAIhM,KAAK8C,KAAK+mB,OAAOu9B,UAAuC,IAA5BpnD,KAAK8C,KAAK+mB,OAAOw9B,SAMvB,OAAtBrnD,KAAKqmD,aAAT,CAMA,IAAIra,EAAQhsC,KAEZA,KAAKqmD,aAAe,SAAUrW,GAC1B,OAAOhE,EAAMsb,YAAYtX,IAG7BhwC,KAAKsmD,aAAe,SAAUtW,GAC1B,OAAOhE,EAAMub,YAAYvX,IAG7BhwC,KAAKumD,WAAa,SAAUvW,GACxB,OAAOhE,EAAMwb,UAAUxX,IAG3BhwC,KAAKynD,iBAAmB,SAAUzX,GAC9B,OAAOhE,EAAM0b,gBAAgB1X,IAGjChwC,KAAK2nD,kBAAoB,SAAU3X,GAC/B,OAAOhE,EAAM4b,iBAAiB5X,IAGlChwC,KAAKwmD,YAAc,SAAUxW,GACzB,OAAOhE,EAAM6b,WAAW7X,IAG5BhwC,KAAKymD,aAAe,SAAUzW,GAC1B,OAAOhE,EAAM8b,YAAY9X,IAG7BhwC,KAAK0mD,cAAgB,SAAU1W,GAC3B,OAAOhE,EAAM+b,aAAa/X,IAG9B,IAAIn5B,EAAS7W,KAAK8C,KAAK+T,OAEvBA,EAAOu5B,iBAAiB,YAAapwC,KAAKqmD,cAAc,GACxDxvC,EAAOu5B,iBAAiB,YAAapwC,KAAKsmD,cAAc,GACxDzvC,EAAOu5B,iBAAiB,UAAWpwC,KAAKumD,YAAY,GAE/CvmD,KAAK8C,KAAK+mB,OAAOs0B,WAElBnuC,OAAOogC,iBAAiB,UAAWpwC,KAAKynD,kBAAkB,GAC1Dz3C,OAAOogC,iBAAiB,WAAYpwC,KAAK2nD,mBAAmB,GAC5D9wC,EAAOu5B,iBAAiB,YAAapwC,KAAKymD,cAAc,GACxD5vC,EAAOu5B,iBAAiB,WAAYpwC,KAAKwmD,aAAa,IAG1D,IAAIwB,EAAahoD,KAAK8C,KAAK+mB,OAAOm+B,WAE9BA,IAEAnxC,EAAOu5B,iBAAiB4X,EAAYhoD,KAAK0mD,eAAe,GAErC,eAAfsB,EAEAhoD,KAAK2mD,YAAc,IAAIt7B,GAAgB,KAAO,GAE1B,mBAAf28B,IAELhoD,KAAK2mD,YAAc,IAAIt7B,EAAgB,EAAG,OAWtDi8B,YAAa,SAAUtX,GAEnBhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGNt+C,KAAK0lD,mBAEL1lD,KAAK0lD,kBAAkBnhD,KAAKvE,KAAK6oC,gBAAiBmH,GAGjDhwC,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,UAKjCjQ,EAAkB,WAAI,EAEtBhwC,KAAKgmC,MAAM4b,aAAa51C,MAAMgkC,KASlCuX,YAAa,SAAUvX,GAEnBhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGNt+C,KAAKioD,mBAELjoD,KAAKioD,kBAAkB1jD,KAAKvE,KAAK6oC,gBAAiBmH,GAGjDhwC,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,UAKjCjQ,EAAkB,WAAI,EAEtBhwC,KAAKgmC,MAAM4b,aAAa8C,KAAK1U,KASjCwX,UAAW,SAAUxX,GAEjBhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGNt+C,KAAK2lD,iBAEL3lD,KAAK2lD,gBAAgBphD,KAAKvE,KAAK6oC,gBAAiBmH,GAG/ChwC,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,UAKjCjQ,EAAkB,WAAI,EAEtBhwC,KAAKgmC,MAAM4b,aAAa/1C,KAAKmkC,KAUjC0X,gBAAiB,SAAU1X,GAElBhwC,KAAKgmC,MAAM4b,aAAasG,aAErBloD,KAAK2lD,iBAEL3lD,KAAK2lD,gBAAgBphD,KAAKvE,KAAK6oC,gBAAiBmH,GAGpDA,EAAkB,WAAI,EAEtBhwC,KAAKgmC,MAAM4b,aAAa/1C,KAAKmkC,KAWrC4X,iBAAkB,SAAU5X,GAExBhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGVt+C,KAAKgmC,MAAM4b,aAAasG,YAAa,EAEhCloD,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,UAajCjgD,KAAKgmC,MAAM4b,aAAa/1C,KAAKmkC,GAG7BhwC,KAAKgmC,MAAM4b,aAAauG,iBAU5BN,WAAY,SAAU7X,GAElBhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGVt+C,KAAKgmC,MAAM4b,aAAasG,YAAa,EAEjCloD,KAAK4lD,kBAEL5lD,KAAK4lD,iBAAiBrhD,KAAKvE,KAAK6oC,gBAAiBmH,GAGhDhwC,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,UAK7BjgD,KAAKmmD,gBAELnW,EAAkB,WAAI,EAEtBhwC,KAAKgmC,MAAM4b,aAAa/1C,KAAKmkC,IAGjChwC,KAAKgmC,MAAMuc,iBAAiBtL,QAAQ,qBAAsBj3C,KAAKgmC,MAAM4b,gBAUzEkG,YAAa,SAAU9X,GAEnBhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGVt+C,KAAKgmC,MAAM4b,aAAasG,YAAa,EAEjCloD,KAAK6lD,mBAEL7lD,KAAK6lD,kBAAkBthD,KAAKvE,KAAK6oC,gBAAiBmH,IAW1D+X,aAAc,SAAU/X,GAEhBhwC,KAAK2mD,cACL3W,EAAQhwC,KAAK2mD,YAAYyB,UAAUpY,IAGvChwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAIVt+C,KAAKimD,WAAazkD,EAAOiC,KAAK84B,OAAOyT,EAAMqY,QAAS,EAAG,GAEnDroD,KAAK8lD,oBAEL9lD,KAAK8lD,mBAAmBvhD,KAAKvE,KAAK6oC,gBAAiBmH,IAW3DsY,mBAAoB,WAEhB,GAAItoD,KAAK8C,KAAK+mB,OAAOu8B,YACrB,CACI,IAAImC,EAAUvoD,KAAK8C,KAAK+T,OAExB0xC,EAAQD,mBAAqBC,EAAQD,oBAAsBC,EAAQC,uBAAyBD,EAAQE,yBAEpGF,EAAQD,qBAER,IAAItc,EAAQhsC,KAEZA,KAAK0oD,mBAAqB,SAAU1Y,GAChC,OAAOhE,EAAM2c,kBAAkB3Y,IAGnCL,SAASS,iBAAiB,oBAAqBpwC,KAAK0oD,oBAAoB,GACxE/Y,SAASS,iBAAiB,uBAAwBpwC,KAAK0oD,oBAAoB,GAC3E/Y,SAASS,iBAAiB,0BAA2BpwC,KAAK0oD,oBAAoB,KAWtFC,kBAAmB,SAAU3Y,GAEzB,IAAIuY,EAAUvoD,KAAK8C,KAAK+T,OAEpB84B,SAASiZ,qBAAuBL,GAAW5Y,SAASkZ,wBAA0BN,GAAW5Y,SAASmZ,2BAA6BP,GAG/HvoD,KAAKkmD,QAAS,EACdlmD,KAAKomD,YAAYnhB,UAAS,EAAM+K,KAKhChwC,KAAKkmD,QAAS,EACdlmD,KAAKomD,YAAYnhB,UAAS,EAAO+K,KASzC+Y,mBAAoB,WAEhBpZ,SAASqZ,gBAAkBrZ,SAASqZ,iBAAmBrZ,SAASsZ,oBAAsBtZ,SAASuZ,sBAE/FvZ,SAASqZ,kBAETrZ,SAASyB,oBAAoB,oBAAqBpxC,KAAK0oD,oBAAoB,GAC3E/Y,SAASyB,oBAAoB,uBAAwBpxC,KAAK0oD,oBAAoB,GAC9E/Y,SAASyB,oBAAoB,0BAA2BpxC,KAAK0oD,oBAAoB,IAQrF78C,KAAM,WAEF,IAAIgL,EAAS7W,KAAK8C,KAAK+T,OAEvBA,EAAOu6B,oBAAoB,YAAapxC,KAAKqmD,cAAc,GAC3DxvC,EAAOu6B,oBAAoB,YAAapxC,KAAKsmD,cAAc,GAC3DzvC,EAAOu6B,oBAAoB,UAAWpxC,KAAKumD,YAAY,GACvD1vC,EAAOu6B,oBAAoB,YAAapxC,KAAKymD,cAAc,GAC3D5vC,EAAOu6B,oBAAoB,WAAYpxC,KAAKwmD,aAAa,GAEzD,IAAIwB,EAAahoD,KAAK8C,KAAK+mB,OAAOm+B,WAE9BA,GAEAnxC,EAAOu6B,oBAAoB4W,EAAYhoD,KAAK0mD,eAAe,GAG/D12C,OAAOohC,oBAAoB,UAAWpxC,KAAKynD,kBAAkB,GAC7Dz3C,OAAOohC,oBAAoB,WAAYpxC,KAAK2nD,mBAAmB,GAE/DhY,SAASyB,oBAAoB,oBAAqBpxC,KAAK0oD,oBAAoB,GAC3E/Y,SAASyB,oBAAoB,uBAAwBpxC,KAAK0oD,oBAAoB,GAC9E/Y,SAASyB,oBAAoB,0BAA2BpxC,KAAK0oD,oBAAoB,KAMzFlnD,EAAO4hD,MAAM9gD,UAAUC,YAAcf,EAAO4hD,OAoC5C/3B,EAAgB/oB,cACUC,YAAc8oB,EAExCA,EAAgB/oB,UAAU8lD,UAAY,SAAUpY,GAG5C,IAAK3kB,EAAgB89B,iBAAmBnZ,EACxC,CAUI,IAAK,IAAIoZ,KAAQpZ,EAEPoZ,KAAQ/9B,EAAgB/oB,WAE1BsE,OAAOuF,eAAekf,EAAgB/oB,UAAW8mD,GAC7CtiD,IAdK,SAAU+qB,GAEvB,OAAO,WACH,IAAI+rB,EAAI59C,KAAK0rB,cAAcmG,GAC3B,MAAoB,mBAAN+rB,EAAmBA,EAAIA,EAAE9tB,KAAK9vB,KAAK0rB,gBAUxC29B,CAAWD,KAI5B/9B,EAAgB89B,iBAAkB,EAItC,OADAnpD,KAAK0rB,cAAgBskB,EACdhwC,MAIX4G,OAAOC,iBAAiBwkB,EAAgB/oB,WACpC8Q,MAAUpM,MAAO,SACjBukB,WAAezkB,IAAK,WAAc,OAAO9G,KAAKyrB,aAC9C48B,QACIvhD,IAAK,WACD,OAAQ9G,KAAKwrB,cAAgBxrB,KAAK0rB,cAAcu6B,YAAcjmD,KAAK0rB,cAAc49B,SAAY,IAGrGC,QACIziD,IAAK,WACD,OAAQ9G,KAAKwrB,aAAexrB,KAAK0rB,cAAc89B,aAAgB,IAGvEC,QAAYziD,MAAO,KAsCvBxF,EAAO8hD,UAAY,SAAUxgD,GAKzB9C,KAAK8C,KAAOA,EAMZ9C,KAAKgmC,MAAQljC,EAAKkjC,MAKlBhmC,KAAK6oC,gBAAkB7oC,KAAK8C,KAK5B9C,KAAK0pD,oBAAsB,KAK3B1pD,KAAK2pD,oBAAsB,KAK3B3pD,KAAK4pD,kBAAoB,KAKzB5pD,KAAK+lD,SAAU,EAQf/lD,KAAKgmD,QAAU,EAQfhmD,KAAKgwC,MAAQ,KAObhwC,KAAKigD,SAAU,EAMfjgD,KAAK6pD,iBAAmB,KAMxB7pD,KAAK8pD,iBAAmB,KAMxB9pD,KAAK+pD,eAAiB,KAMtB/pD,KAAKgqD,qBAAuB,KAM5BhqD,KAAKiqD,gBAAkB,KAMvBjqD,KAAKkqD,iBAAmB,MAI5B1oD,EAAO8hD,UAAUhhD,WAMb0J,MAAO,WAEH,GAA8B,OAA1BhM,KAAK6pD,iBAAT,CAMA,IAAI7d,EAAQhsC,KAEZ,GAAIA,KAAK8C,KAAK+mB,OAAOk4B,UACrB,CACI/hD,KAAK6pD,iBAAmB,SAAU7Z,GAC9B,OAAOhE,EAAMme,cAAcna,IAG/BhwC,KAAK8pD,iBAAmB,SAAU9Z,GAC9B,OAAOhE,EAAMoe,cAAcpa,IAG/BhwC,KAAK+pD,eAAiB,SAAU/Z,GAC5B,OAAOhE,EAAMqe,YAAYra,IAG7BhwC,KAAKgqD,qBAAuB,SAAUha,GAClC,OAAOhE,EAAMse,kBAAkBta,IAGnChwC,KAAKiqD,gBAAkB,SAAUja,GAC7B,OAAOhE,EAAMue,aAAava,IAG9BhwC,KAAKkqD,iBAAmB,SAAUla,GAC9B,OAAOhE,EAAMwe,cAAcxa,IAG/B,IAAIn5B,EAAS7W,KAAK8C,KAAK+T,OAEvBA,EAAOu5B,iBAAiB,gBAAiBpwC,KAAK6pD,kBAAkB,GAChEhzC,EAAOu5B,iBAAiB,gBAAiBpwC,KAAK8pD,kBAAkB,GAChEjzC,EAAOu5B,iBAAiB,cAAepwC,KAAK+pD,gBAAgB,GAG5DlzC,EAAOu5B,iBAAiB,cAAepwC,KAAK6pD,kBAAkB,GAC9DhzC,EAAOu5B,iBAAiB,cAAepwC,KAAK8pD,kBAAkB,GAC9DjzC,EAAOu5B,iBAAiB,YAAapwC,KAAK+pD,gBAAgB,GAE1DlzC,EAAOoE,MAAM,uBAAyB,OACtCpE,EAAOoE,MAAM,oBAAsB,OAE9Bjb,KAAK8C,KAAK+mB,OAAOs0B,WAElBnuC,OAAOogC,iBAAiB,cAAepwC,KAAKgqD,sBAAsB,GAClEnzC,EAAOu5B,iBAAiB,gBAAiBpwC,KAAKkqD,kBAAkB,GAChErzC,EAAOu5B,iBAAiB,eAAgBpwC,KAAKiqD,iBAAiB,GAG9Dj6C,OAAOogC,iBAAiB,YAAapwC,KAAKgqD,sBAAsB,GAChEnzC,EAAOu5B,iBAAiB,cAAepwC,KAAKkqD,kBAAkB,GAC9DrzC,EAAOu5B,iBAAiB,aAAcpwC,KAAKiqD,iBAAiB,OAYxEE,cAAe,SAAUna,GAErBhwC,KAAK8C,KAAKkjC,MAAMge,2BAA0B,EAAOhU,GAEjDhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGNt+C,KAAK0pD,qBAEL1pD,KAAK0pD,oBAAoBnlD,KAAKvE,KAAK6oC,gBAAiBmH,GAGnDhwC,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,UAKjCjQ,EAAMyU,WAAazU,EAAMgV,UAEC,UAAtBhV,EAAMya,aAAiD,IAAtBza,EAAMya,YAEvCzqD,KAAKgmC,MAAM4b,aAAa51C,MAAMgkC,GAI9BhwC,KAAKgmC,MAAMse,aAAatU,KAUhCoa,cAAe,SAAUpa,GAErBhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGNt+C,KAAK2pD,qBAEL3pD,KAAK2pD,oBAAoBplD,KAAKvE,KAAK6oC,gBAAiBmH,GAGnDhwC,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,UAKjCjQ,EAAMyU,WAAazU,EAAMgV,UAEC,UAAtBhV,EAAMya,aAAiD,IAAtBza,EAAMya,YAEvCzqD,KAAKgmC,MAAM4b,aAAa8C,KAAK1U,GAI7BhwC,KAAKgmC,MAAMwe,cAAcxU,KAUjCqa,YAAa,SAAUra,GAEnBhwC,KAAK8C,KAAKkjC,MAAMge,2BAA0B,EAAMhU,GAEhDhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGNt+C,KAAK4pD,mBAEL5pD,KAAK4pD,kBAAkBrlD,KAAKvE,KAAK6oC,gBAAiBmH,GAGjDhwC,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,UAKjCjQ,EAAMyU,WAAazU,EAAMgV,UAEC,UAAtBhV,EAAMya,aAAiD,IAAtBza,EAAMya,YAEvCzqD,KAAKgmC,MAAM4b,aAAa/1C,KAAKmkC,GAI7BhwC,KAAKgmC,MAAM2e,YAAY3U,KAW/Bsa,kBAAmB,SAAUta,GAEzB,GAA2B,UAAtBA,EAAMya,aAAiD,IAAtBza,EAAMya,aAAgCzqD,KAAKgmC,MAAM4b,aAAasG,WAKpG,CACI,IAAIva,EAAU3tC,KAAKgmC,MAAM8e,yBAAyB9U,EAAMyU,YAEpD9W,GAAWA,EAAQua,YAEnBloD,KAAKqqD,YAAYra,QARrBhwC,KAAKqqD,YAAYra,IAoBzBua,aAAc,SAAUva,GASpB,GAPAhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGgB,UAAtBtO,EAAMya,aAAiD,IAAtBza,EAAMya,YAEvCzqD,KAAKgmC,MAAM4b,aAAasG,YAAa,MAGzC,CACI,IAAIva,EAAU3tC,KAAKgmC,MAAM8e,yBAAyB9U,EAAMyU,YAEpD9W,IAEAA,EAAQua,YAAa,GAIzBloD,KAAKgmC,MAAM6G,MAAM+Y,kBAEjB5lD,KAAKgmC,MAAM6G,MAAM+Y,iBAAiBrhD,KAAKvE,KAAKgmC,MAAM6G,MAAMhE,gBAAiBmH,GAGxEhwC,KAAKgmC,MAAMia,SAAYjgD,KAAKigD,SAK7BjgD,KAAKgmC,MAAM6G,MAAMsZ,gBAEjBnW,EAAkB,WAAI,EAElBrC,EAEAA,EAAQ9hC,KAAKmkC,GAIbhwC,KAAKgmC,MAAM4b,aAAa/1C,KAAKmkC,KAYzCwa,cAAe,SAAUxa,GASrB,GAPAhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+lD,SAEL/V,EAAMsO,iBAGgB,UAAtBtO,EAAMya,aAAiD,IAAtBza,EAAMya,YAEvCzqD,KAAKgmC,MAAM4b,aAAasG,YAAa,MAGzC,CACI,IAAIva,EAAU3tC,KAAKgmC,MAAM8e,yBAAyB9U,EAAMyU,YAEpD9W,IAEAA,EAAQua,YAAa,GAIzBloD,KAAKgmC,MAAM6G,MAAMgZ,mBAEjB7lD,KAAKgmC,MAAM6G,MAAMgZ,kBAAkBthD,KAAKvE,KAAKgmC,MAAM6G,MAAMhE,gBAAiBmH,IASlFnkC,KAAM,WAEF,IAAIgL,EAAS7W,KAAK8C,KAAK+T,OAEvBA,EAAOu6B,oBAAoB,gBAAiBpxC,KAAK6pD,kBAAkB,GACnEhzC,EAAOu6B,oBAAoB,gBAAiBpxC,KAAK8pD,kBAAkB,GACnEjzC,EAAOu6B,oBAAoB,cAAepxC,KAAK+pD,gBAAgB,GAG/DlzC,EAAOu6B,oBAAoB,cAAepxC,KAAK6pD,kBAAkB,GACjEhzC,EAAOu6B,oBAAoB,cAAepxC,KAAK8pD,kBAAkB,GACjEjzC,EAAOu6B,oBAAoB,YAAapxC,KAAK+pD,gBAAgB,GAE7D/5C,OAAOohC,oBAAoB,cAAepxC,KAAKgqD,sBAAsB,GACrEnzC,EAAOu6B,oBAAoB,gBAAiBpxC,KAAKkqD,kBAAkB,GACnErzC,EAAOu6B,oBAAoB,eAAgBpxC,KAAKiqD,iBAAiB,GAGjEj6C,OAAOohC,oBAAoB,YAAapxC,KAAKgqD,sBAAsB,GACnEnzC,EAAOu6B,oBAAoB,cAAepxC,KAAKkqD,kBAAkB,GACjErzC,EAAOu6B,oBAAoB,aAAcpxC,KAAKiqD,iBAAiB,KAMvEzoD,EAAO8hD,UAAUhhD,UAAUC,YAAcf,EAAO8hD,UAgChD9hD,EAAOkpD,aAAe,SAAUrpD,EAAQspD,GAKpC3qD,KAAKqB,OAASA,EAKdrB,KAAK8C,KAAOzB,EAAOyB,KAMnB9C,KAAKgwC,MAAQ,KAMbhwC,KAAK4qD,QAAS,EAMd5qD,KAAK6qD,MAAO,EAMZ7qD,KAAK8qD,SAAW,EAMhB9qD,KAAK+qD,OAAS,EAQd/qD,KAAKgrD,QAAU,EAQfhrD,KAAKirD,QAAS,EAQdjrD,KAAKkrD,UAAW,EAQhBlrD,KAAKmrD,SAAU,EAMfnrD,KAAKgH,MAAQ,EAKbhH,KAAK2qD,WAAaA,EAQlB3qD,KAAKkiD,OAAS,IAAI1gD,EAAO0gC,OAQzBliC,KAAKmiD,KAAO,IAAI3gD,EAAO0gC,OAQvBliC,KAAKorD,QAAU,IAAI5pD,EAAO0gC,QAI9B1gC,EAAOkpD,aAAapoD,WAWhB0J,MAAO,SAAUgkC,EAAOhpC,GAEhBhH,KAAK4qD,SAKT5qD,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,EACZ7qD,KAAK8qD,SAAW9qD,KAAK8C,KAAKiiC,KAAKA,KAC/B/kC,KAAKgrD,QAAU,EAEfhrD,KAAKgwC,MAAQA,EACbhwC,KAAKgH,MAAQA,EAETgpC,IAEAhwC,KAAKirD,OAASjb,EAAMib,OACpBjrD,KAAKkrD,SAAWlb,EAAMkb,SACtBlrD,KAAKmrD,QAAUnb,EAAMmb,SAGzBnrD,KAAKkiD,OAAOjd,SAASjlC,KAAMgH,KAa/B6E,KAAM,SAAUmkC,EAAOhpC,GAEfhH,KAAK6qD,OAKT7qD,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,EACZ7qD,KAAK+qD,OAAS/qD,KAAK8C,KAAKiiC,KAAKA,KAE7B/kC,KAAKgwC,MAAQA,EACbhwC,KAAKgH,MAAQA,EAETgpC,IAEAhwC,KAAKirD,OAASjb,EAAMib,OACpBjrD,KAAKkrD,SAAWlb,EAAMkb,SACtBlrD,KAAKmrD,QAAUnb,EAAMmb,SAGzBnrD,KAAKmiD,KAAKld,SAASjlC,KAAMgH,KAc7BqkD,UAAW,SAAUC,EAAWtb,EAAOhpC,GAE/BskD,EAEAtrD,KAAKgM,MAAMgkC,EAAOhpC,GAIlBhH,KAAK6L,KAAKmkC,EAAOhpC,IAYzBukD,SAAU,SAAUvkD,GAEhBhH,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,EAEZ7qD,KAAKgH,MAAQA,EAEbhH,KAAKorD,QAAQnmB,SAASjlC,KAAMgH,IAYhCwkD,YAAa,SAAU9oB,GAInB,OAFAA,EAAWA,GAAY,IAEf1iC,KAAK4qD,QAAW5qD,KAAK8qD,SAAWpoB,EAAY1iC,KAAK8C,KAAKiiC,KAAKA,MAYvE0mB,aAAc,SAAU/oB,GAIpB,OAFAA,EAAWA,GAAY,IAEf1iC,KAAK6qD,MAAS7qD,KAAK+qD,OAASroB,EAAY1iC,KAAK8C,KAAKiiC,KAAKA,MASnEa,MAAO,WAEH5lC,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,EAEZ7qD,KAAK8qD,SAAW9qD,KAAK8C,KAAKiiC,KAAKA,KAC/B/kC,KAAKgrD,QAAU,EAEfhrD,KAAKirD,QAAS,EACdjrD,KAAKkrD,UAAW,EAChBlrD,KAAKmrD,SAAU,GAUnB3oD,QAAS,WAELxC,KAAKkiD,OAAOnW,UACZ/rC,KAAKmiD,KAAKpW,UACV/rC,KAAKorD,QAAQrf,UAEb/rC,KAAKqB,OAAS,KACdrB,KAAK8C,KAAO,OAMpBtB,EAAOkpD,aAAapoD,UAAUC,YAAcf,EAAOkpD,aAUnD9jD,OAAOuF,eAAe3K,EAAOkpD,aAAapoD,UAAW,YAEjDwE,IAAK,WAED,OAAI9G,KAAK6qD,MAEG,EAGL7qD,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK8qD,YAqB1CtpD,EAAOwhD,QAAU,SAAUlgD,EAAMgR,EAAI43C,GAKjC1rD,KAAK8C,KAAOA,EAKZ9C,KAAK8T,GAAKA,EAMV9T,KAAKoT,KAAO5R,EAAOgsB,QAMnBxtB,KAAK6M,QAAS,EAMd7M,KAAKykD,WAAa,EAMlBzkD,KAAKglD,UAAY,KAKjBhlD,KAAK0rD,YAAcA,GAAgBlqD,EAAOyhD,YAAYC,OAAS1hD,EAAOyhD,YAAYkB,QAMlFnkD,KAAK4H,OAAS,KASd5H,KAAKgmD,OAAS,KAWdhmD,KAAK2rD,WAAa,IAAInqD,EAAOkpD,aAAa1qD,KAAMwB,EAAOwhD,QAAQ6D,aAa/D7mD,KAAK4rD,aAAe,IAAIpqD,EAAOkpD,aAAa1qD,KAAMwB,EAAOwhD,QAAQ8D,eAajE9mD,KAAK6rD,YAAc,IAAIrqD,EAAOkpD,aAAa1qD,KAAMwB,EAAOwhD,QAAQ+D,cAahE/mD,KAAK8rD,WAAa,IAAItqD,EAAOkpD,aAAa1qD,KAAMwB,EAAOwhD,QAAQgE,aAa/DhnD,KAAK+rD,cAAgB,IAAIvqD,EAAOkpD,aAAa1qD,KAAMwB,EAAOwhD,QAAQiE,gBAalEjnD,KAAKgsD,aAAe,IAAIxqD,EAAOkpD,aAAa1qD,KAAMwB,EAAOwhD,QAAQiJ,eAOjEjsD,KAAKksD,WAAY,EAMjBlsD,KAAKmsD,YAMLnsD,KAAKosD,UAAY,EAMjBpsD,KAAKqsD,aAAc,EAKnBrsD,KAAKkoD,YAAa,EAKlBloD,KAAKssD,SAAW,EAKhBtsD,KAAKusD,SAAW,EAKhBvsD,KAAKwsD,OAAS,EAKdxsD,KAAKysD,OAAS,EAKdzsD,KAAK0sD,SAAW,EAKhB1sD,KAAK2sD,SAAW,EAMhB3sD,KAAK4sD,aAAe,EAMpB5sD,KAAK6sD,aAAe,EAMpB7sD,KAAK8sD,UAAY,EAMjB9sD,KAAK+sD,UAAY,EAMjB/sD,KAAK8D,GAAK,EAMV9D,KAAK+D,GAAK,EAKV/D,KAAKgtD,QAAkB,IAAPl5C,EAQhB9T,KAAK4qD,QAAS,EAQd5qD,KAAK6qD,MAAO,EAMZ7qD,KAAK8qD,SAAW,EAMhB9qD,KAAK+qD,OAAS,EAMd/qD,KAAKitD,gBAAkB,EAMvBjtD,KAAKktD,aAAe,EAMpBltD,KAAKmtD,iBAAmBztB,OAAOC,UAM/B3/B,KAAKotD,aAAe,KAWpBptD,KAAKqtD,yBAMLrtD,KAAKqqC,QAAS,EAMdrqC,KAAKoR,OAAQ,EAKbpR,KAAKY,SAAW,IAAIY,EAAOX,MAK3Bb,KAAKstD,aAAe,IAAI9rD,EAAOX,MAK/Bb,KAAKutD,WAAa,IAAI/rD,EAAOX,MAO7Bb,KAAKqgD,OAAS,IAAI7+C,EAAOizB,OAAO,EAAG,EAAG,IAOtCz0B,KAAKwtD,kBAAoB,KAQzBxtD,KAAKytD,wBAA0B,MASnCjsD,EAAOwhD,QAAQ4D,UAAY,EAO3BplD,EAAOwhD,QAAQ6D,YAAc,EAO7BrlD,EAAOwhD,QAAQ+D,aAAe,EAO9BvlD,EAAOwhD,QAAQ8D,cAAgB,EAQ/BtlD,EAAOwhD,QAAQgE,YAAc,EAQ7BxlD,EAAOwhD,QAAQiE,eAAiB,GAOhCzlD,EAAOwhD,QAAQiJ,cAAgB,GAE/BzqD,EAAOwhD,QAAQ1gD,WAQX6lD,aAAc,WAEVnoD,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,EAER7qD,KAAKgtD,UAELhtD,KAAK2rD,WAAW/lB,QAChB5lC,KAAK4rD,aAAahmB,QAClB5lC,KAAK6rD,YAAYjmB,QACjB5lC,KAAK8rD,WAAWlmB,QAChB5lC,KAAK+rD,cAAcnmB,QACnB5lC,KAAKgsD,aAAapmB,UAa1B8nB,mBAAoB,SAAU1H,EAAQhW,GAI9BgW,IAAWxkD,EAAO4hD,MAAMyD,aAExB7mD,KAAK2rD,WAAW3/C,MAAMgkC,GAGtBgW,IAAWxkD,EAAO4hD,MAAM2D,cAExB/mD,KAAK6rD,YAAY7/C,MAAMgkC,GAGvBgW,IAAWxkD,EAAO4hD,MAAM0D,eAExB9mD,KAAK4rD,aAAa5/C,MAAMgkC,GAGxBgW,IAAWxkD,EAAO4hD,MAAM4D,aAExBhnD,KAAK8rD,WAAW9/C,MAAMgkC,GAGtBgW,IAAWxkD,EAAO4hD,MAAM6D,gBAExBjnD,KAAK+rD,cAAc//C,MAAMgkC,IAajC2d,iBAAkB,SAAU3H,EAAQhW,GAI5BgW,IAAWxkD,EAAO4hD,MAAMyD,aAExB7mD,KAAK2rD,WAAW9/C,KAAKmkC,GAGrBgW,IAAWxkD,EAAO4hD,MAAM2D,cAExB/mD,KAAK6rD,YAAYhgD,KAAKmkC,GAGtBgW,IAAWxkD,EAAO4hD,MAAM0D,eAExB9mD,KAAK4rD,aAAa//C,KAAKmkC,GAGvBgW,IAAWxkD,EAAO4hD,MAAM4D,aAExBhnD,KAAK8rD,WAAWjgD,KAAKmkC,GAGrBgW,IAAWxkD,EAAO4hD,MAAM6D,gBAExBjnD,KAAK+rD,cAAclgD,KAAKmkC,IAahC4d,qBAAsB,SAAUC,EAAS7d,GAErC,IAAI8d,EAAgD,SAAxC9d,EAAM58B,KAAK26C,cAActlC,QAAQ,GACzCi8B,EAAgD,SAAxC1U,EAAM58B,KAAK26C,cAActlC,QAAQ,QAE7BniB,IAAZunD,GAGIC,GAAoB,IAAZD,GAAiB7d,EAAMmb,UAE/B0C,EAAU,GAId7tD,KAAK2rD,WAAWN,UAAU7pD,EAAOwhD,QAAQ6D,YAAcgH,EAAS7d,GAChEhwC,KAAK6rD,YAAYR,UAAU7pD,EAAOwhD,QAAQ+D,aAAe8G,EAAS7d,GAClEhwC,KAAK4rD,aAAaP,UAAU7pD,EAAOwhD,QAAQ8D,cAAgB+G,EAAS7d,GACpEhwC,KAAK8rD,WAAWT,UAAU7pD,EAAOwhD,QAAQgE,YAAc6G,EAAS7d,GAChEhwC,KAAK+rD,cAAcV,UAAU7pD,EAAOwhD,QAAQiE,eAAiB4G,EAAS7d,GACtEhwC,KAAKgsD,aAAaX,UAAU7pD,EAAOwhD,QAAQiJ,cAAgB4B,EAAS7d,SAM/C1pC,IAAjB0pC,EAAMgW,OAGF8H,GAAQ9d,EAAMmb,SAA4B,IAAjBnb,EAAMgW,OAE/BhmD,KAAK6rD,YAAY7/C,MAAMgkC,GAInB8d,EAEA9tD,KAAK0tD,mBAAmB1d,EAAMgW,OAAQhW,GAEhC0U,GAEN1kD,KAAK2tD,iBAAiB3d,EAAMgW,OAAQhW,GAMxC8d,EAGI9d,EAAMmb,QAENnrD,KAAK6rD,YAAY7/C,MAAMgkC,GAIvBhwC,KAAK2rD,WAAW3/C,MAAMgkC,IAK1BhwC,KAAK2rD,WAAW9/C,KAAKmkC,GACrBhwC,KAAK6rD,YAAYhgD,KAAKmkC,KAetCge,cAAe,SAAUhe,GAErBhwC,KAAKgmD,OAAShW,EAAMgW,OACpBhmD,KAAK4tD,qBAAqB5d,EAAM6d,QAAS7d,GAEzChwC,KAAK6qD,MAAO,EACZ7qD,KAAK4qD,QAAS,GAEV5qD,KAAK2rD,WAAWf,QAAU5qD,KAAK6rD,YAAYjB,QAAU5qD,KAAK4rD,aAAahB,QAAU5qD,KAAK8rD,WAAWlB,QAAU5qD,KAAK+rD,cAAcnB,QAAU5qD,KAAKgsD,aAAapB,UAE1J5qD,KAAK6qD,MAAO,EACZ7qD,KAAK4qD,QAAS,IAUtB5+C,MAAO,SAAUgkC,GAEb,IAAIhK,EAAQhmC,KAAK8C,KAAKkjC,MA2DtB,OAzDIgK,EAAiB,YAEjBhwC,KAAKglD,UAAYhV,EAAMgV,WAG3BhlD,KAAKykD,WAAazU,EAAMyU,WACxBzkD,KAAK4H,OAASooC,EAAMpoC,OAEhB5H,KAAKgtD,QAELhtD,KAAKguD,cAAche,IAInBhwC,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,GAGhB7qD,KAAKqqC,QAAS,EACdrqC,KAAKkoD,YAAa,EAClBloD,KAAKoR,OAAQ,EAEbpR,KAAKmsD,YACLnsD,KAAKwtD,kBAAoB,KACzBxtD,KAAKytD,wBAA0B,KAG/BztD,KAAKmtD,iBAAmBntD,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK8qD,SACnD9qD,KAAK8qD,SAAW9qD,KAAK8C,KAAKiiC,KAAKA,KAC/B/kC,KAAKksD,WAAY,EAGjBlsD,KAAK0kD,KAAK1U,GAAO,GAGjBhwC,KAAKstD,aAAap4B,MAAMl1B,KAAK8D,EAAG9D,KAAK+D,IAEjCiiC,EAAMka,qBAAuB1+C,EAAOs7C,MAAM+F,uBAC1C7c,EAAMka,qBAAuB1+C,EAAOs7C,MAAMqD,qBACzCna,EAAMka,qBAAuB1+C,EAAOs7C,MAAMgG,uBAAuD,IAA9B9c,EAAMioB,uBAE1EjoB,EAAMliC,EAAI9D,KAAK8D,EACfkiC,EAAMjiC,EAAI/D,KAAK+D,EACfiiC,EAAMplC,SAASs0B,MAAMl1B,KAAK8D,EAAG9D,KAAK+D,GAClCiiC,EAAMkc,OAAOjd,SAASjlC,KAAMgwC,GAC5BhK,EAAMqe,WAAWrkD,KAAK8D,EAAG9D,KAAK+D,IAGlC/D,KAAKqsD,aAAc,EAEnBrsD,KAAKktD,eAEqB,OAAtBltD,KAAKotD,cAELptD,KAAKotD,aAAac,gBAAgBluD,MAG/BA,MAQX2kC,OAAQ,WAEJ,IAAIqB,EAAQhmC,KAAK8C,KAAKkjC,MAElBhmC,KAAKqqC,SAGDrqC,KAAKoR,QAED40B,EAAMuc,iBAAiBrK,MAAQ,GAE/Bl4C,KAAKmuD,2BAA0B,GAGnCnuD,KAAKoR,OAAQ,IAGM,IAAnBpR,KAAKksD,WAAuBlsD,KAAK0iC,UAAYsD,EAAMya,YAE/Cza,EAAMka,qBAAuB1+C,EAAOs7C,MAAM+F,uBAC1C7c,EAAMka,qBAAuB1+C,EAAOs7C,MAAMqD,qBACzCna,EAAMka,qBAAuB1+C,EAAOs7C,MAAMgG,uBAAuD,IAA9B9c,EAAMioB,sBAE1EjoB,EAAMqc,OAAOpd,SAASjlC,MAG1BA,KAAKksD,WAAY,GAIjBlmB,EAAM4a,sBAAwB5gD,KAAK8C,KAAKiiC,KAAKA,MAAQ/kC,KAAKosD,YAE1DpsD,KAAKosD,UAAYpsD,KAAK8C,KAAKiiC,KAAKA,KAAOiB,EAAM6a,WAE7C7gD,KAAKmsD,SAASzkD,MACV5D,EAAG9D,KAAKY,SAASkD,EACjBC,EAAG/D,KAAKY,SAASmD,IAGjB/D,KAAKmsD,SAASxpD,OAASqjC,EAAM8a,aAE7B9gD,KAAKmsD,SAASiC,WAc9B1J,KAAM,SAAU1U,EAAOqe,GAEnB,IAAIroB,EAAQhmC,KAAK8C,KAAKkjC,MAEtB,IAAIA,EAAMsoB,WAAV,MAKkBhoD,IAAd+nD,IAA2BA,GAAY,QAEtB/nD,IAAjB0pC,EAAMgW,SAENhmD,KAAKgmD,OAAShW,EAAMgW,QAGpBhmD,KAAKgtD,SAELhtD,KAAKguD,cAAche,GAGvBhwC,KAAKssD,QAAUtc,EAAMsc,QACrBtsD,KAAKusD,QAAUvc,EAAMuc,QAErBvsD,KAAKwsD,MAAQxc,EAAMwc,MACnBxsD,KAAKysD,MAAQzc,EAAMyc,MAEnBzsD,KAAK0sD,QAAU1c,EAAM0c,QACrB1sD,KAAK2sD,QAAU3c,EAAM2c,QAEjB3sD,KAAKgtD,SAAWhnB,EAAM6G,MAAMqZ,SAAWmI,IAEvCruD,KAAK4sD,aAAe5c,EAAM8c,WAAa9c,EAAMue,cAAgBve,EAAMwe,iBAAmB,EACtFxuD,KAAK6sD,aAAe7c,EAAM+c,WAAa/c,EAAMye,cAAgBze,EAAM0e,iBAAmB,EAEtF1uD,KAAK8sD,WAAa9sD,KAAK4sD,aACvB5sD,KAAK+sD,WAAa/sD,KAAK6sD,cAG3B7sD,KAAK8D,GAAK9D,KAAKwsD,MAAQxsD,KAAK8C,KAAKhC,MAAMsW,OAAOtT,GAAKkiC,EAAMllC,MAAMgD,EAC/D9D,KAAK+D,GAAK/D,KAAKysD,MAAQzsD,KAAK8C,KAAKhC,MAAMsW,OAAOrT,GAAKiiC,EAAMllC,MAAMiD,EAE/D/D,KAAKY,SAASs0B,MAAMl1B,KAAK8D,EAAG9D,KAAK+D,GACjC/D,KAAKqgD,OAAOv8C,EAAI9D,KAAK8D,EACrB9D,KAAKqgD,OAAOt8C,EAAI/D,KAAK+D,GAEjBiiC,EAAMka,qBAAuB1+C,EAAOs7C,MAAM+F,uBAC1C7c,EAAMka,qBAAuB1+C,EAAOs7C,MAAMqD,qBACzCna,EAAMka,qBAAuB1+C,EAAOs7C,MAAMgG,uBAAuD,IAA9B9c,EAAMioB,uBAE1EjoB,EAAM2b,cAAgB3hD,KACtBgmC,EAAMliC,EAAI9D,KAAK8D,EACfkiC,EAAMjiC,EAAI/D,KAAK+D,EACfiiC,EAAMplC,SAASs0B,MAAM8Q,EAAMliC,EAAGkiC,EAAMjiC,GACpCiiC,EAAMqa,OAAOv8C,EAAIkiC,EAAMliC,EACvBkiC,EAAMqa,OAAOt8C,EAAIiiC,EAAMjiC,GAG3B/D,KAAKkoD,WAAaloD,KAAK8C,KAAKhC,MAAM+D,OAAOmF,SAAShK,KAAKwsD,MAAOxsD,KAAKysD,OAInE,IAFA,IAAI/pD,EAAIsjC,EAAM6Z,cAAcl9C,OAErBD,KAEHsjC,EAAM6Z,cAAcn9C,GAAGyxC,SAAS5vC,KAAKyhC,EAAM6Z,cAAcn9C,GAAG+K,QAASzN,KAAMA,KAAK8D,EAAG9D,KAAK+D,EAAGsqD,GAgB/F,OAZ0B,OAAtBruD,KAAKotD,cAA2BptD,KAAK8C,KAAK6jC,SAAU3mC,KAAKotD,aAAauB,UAA4C,IAAhC3uD,KAAKotD,aAAawB,UAO/F5oB,EAAMuc,iBAAiBrK,MAAQ,GAEpCl4C,KAAKmuD,0BAA0BE,IAPQ,IAAnCruD,KAAKotD,aAAazoB,OAAO3kC,QAEzBA,KAAKotD,aAAe,MAQrBptD,OAYXmuD,0BAA2B,SAAUE,GAGjC,IAAIQ,EAAuB,EACvBC,GAA0B,EAC1BC,EAAkB,KAKlBC,EAAchvD,KAAK8C,KAAKkjC,MAAMuc,iBAAiB0M,MAInD,IAFAjvD,KAAKqtD,yBAEE2B,GAGHA,EAAYE,SAAU,GAElBF,EAAYG,cAAcL,EAAwBD,GAAsB,IAAY7uD,KAAK8C,KAAK6jC,SAAUqoB,EAAY9rC,OAAOyrC,UAG3HK,EAAYE,SAAU,GAEjBb,GAAaW,EAAYI,iBAAiBpvD,MAAM,KAC/CquD,GAAaW,EAAYK,iBAAiBrvD,MAAM,MAElD6uD,EAAuBG,EAAY9rC,OAAOm0B,cAC1CyX,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClBhvD,KAAKqtD,sBAAsB3lD,KAAKsnD,KAIxCA,EAAchvD,KAAK8C,KAAKkjC,MAAMuc,iBAAiB5N,KASnD,IAFAqa,EAAchvD,KAAK8C,KAAKkjC,MAAMuc,iBAAiB0M,MAExCD,IAEEA,EAAYE,SACbF,EAAYG,cAAcL,EAAwBD,GAAsB,KAEnER,GAAaW,EAAYI,iBAAiBpvD,MAAM,KAC/CquD,GAAaW,EAAYK,iBAAiBrvD,MAAM,MAElD6uD,EAAuBG,EAAY9rC,OAAOm0B,cAC1CyX,EAAyBE,EAAYM,WACrCP,EAAkBC,EAClBhvD,KAAKqtD,sBAAsB3lD,KAAKsnD,IAIxCA,EAAchvD,KAAK8C,KAAKkjC,MAAMuc,iBAAiB5N,KAUnD,OAPI30C,KAAK8C,KAAKkjC,MAAM8Z,yBAEhBiP,EAAkB/uD,KAAK8C,KAAKkjC,MAAM8Z,uBAAuBv7C,KAAKvE,KAAK8C,KAAKkjC,MAAM+Z,8BAA+B//C,KAAMA,KAAKqtD,sBAAuB0B,IAGnJ/uD,KAAKuvD,WAAWR,GAAiB,GAEH,OAAtB/uD,KAAKotD,cAgBjBmC,WAAY,SAAUC,EAAWne,QAEd/qC,IAAX+qC,IAAwBA,GAAS,GAGnB,OAAdme,EAGIxvD,KAAKotD,eAELptD,KAAKotD,aAAaqC,mBAAmBzvD,KAAMqxC,GAC3CrxC,KAAKotD,aAAe,MAKE,OAAtBptD,KAAKotD,cAGLptD,KAAKotD,aAAeoC,EACpBA,EAAUE,oBAAoB1vD,KAAMqxC,IAKhCrxC,KAAKotD,eAAiBoC,GAGS,IAA3BA,EAAU7qB,OAAO3kC,QAEjBA,KAAKotD,aAAe,OAMxBptD,KAAKotD,aAAaqC,mBAAmBzvD,KAAMqxC,GAG3CrxC,KAAKotD,aAAeoC,EACpBxvD,KAAKotD,aAAasC,oBAAoB1vD,KAAMqxC,KAa5Dse,MAAO,SAAU3f,GAEbhwC,KAAKkoD,YAAa,EAClBloD,KAAK0kD,KAAK1U,GAAO,IAUrBnkC,KAAM,SAAUmkC,GAEZ,IAAIhK,EAAQhmC,KAAK8C,KAAKkjC,MAEtB,CAAA,IAAIhmC,KAAKqsD,cAAersD,KAAKkoD,WAqE7B,OA/DAloD,KAAK+qD,OAAS/qD,KAAK8C,KAAKiiC,KAAKA,MAEzBiB,EAAMka,qBAAuB1+C,EAAOs7C,MAAM+F,uBAC1C7c,EAAMka,qBAAuB1+C,EAAOs7C,MAAMqD,qBACzCna,EAAMka,qBAAuB1+C,EAAOs7C,MAAMgG,uBAAuD,IAA9B9c,EAAMioB,uBAE1EjoB,EAAMmc,KAAKld,SAASjlC,KAAMgwC,GAGtBhwC,KAAK0iC,UAAY,GAAK1iC,KAAK0iC,UAAYsD,EAAMua,UAGzCvgD,KAAK+qD,OAAS/qD,KAAKitD,gBAAkBjnB,EAAMwa,cAG3Cxa,EAAMoc,MAAMnd,SAASjlC,MAAM,GAK3BgmC,EAAMoc,MAAMnd,SAASjlC,MAAM,GAG/BA,KAAKitD,gBAAkBjtD,KAAK+qD,SAIhC/qD,KAAKgtD,QAELhtD,KAAKguD,cAAche,IAInBhwC,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,GAIZ7qD,KAAK8T,GAAK,IAEV9T,KAAKqqC,QAAS,GAGlBrqC,KAAKkoD,WAAaloD,KAAK8C,KAAKhC,MAAM+D,OAAOmF,SAASgmC,EAAMwc,MAAOxc,EAAMyc,OACrEzsD,KAAKglD,UAAY,KACjBhlD,KAAKykD,WAAa,KAElBzkD,KAAKutD,WAAWr4B,MAAMl1B,KAAK8D,EAAG9D,KAAK+D,IAEd,IAAjB/D,KAAKgtD,SAELhnB,EAAM4pB,kBAGV5pB,EAAMuc,iBAAiBtL,QAAQ,mBAAoBj3C,MAE/CA,KAAKwtD,oBAELxtD,KAAKytD,wBAA0BztD,KAAKotD,cAGxCptD,KAAKotD,aAAe,KAEbptD,KAnEHgwC,EAAMsO,mBA+EdkN,YAAa,SAAU9oB,GAInB,OAFAA,EAAWA,GAAY1iC,KAAK8C,KAAKkjC,MAAM0a,iBAEf,IAAhB1gD,KAAK4qD,QAAoB5qD,KAAK8qD,SAAWpoB,EAAY1iC,KAAK8C,KAAKiiC,KAAKA,MAYhF0mB,aAAc,SAAU/oB,GAIpB,OAFAA,EAAWA,GAAY1iC,KAAK8C,KAAKkjC,MAAM2a,iBAE/B3gD,KAAK6qD,MAAS7qD,KAAK+qD,OAASroB,EAAY1iC,KAAK8C,KAAKiiC,KAAKA,MAqBnE8qB,mBAAoB,SAAUh+B,EAAMsiB,EAAUtL,EAAiBinB,GAE3D,GAAK9vD,KAAK4qD,OAAV,CAOA,IAAK,IAFDmF,EAAe/vD,KAAKwtD,kBAAoBxtD,KAAKwtD,sBAExC9qD,EAAI,EAAGA,EAAIqtD,EAAYptD,OAAQD,IAEpC,GAAIqtD,EAAYrtD,GAAGmvB,OAASA,EAC5B,CACIk+B,EAAYrnD,OAAOhG,EAAG,GACtB,MAIRqtD,EAAYroD,MACRmqB,KAAMA,EACNu7B,aAAcptD,KAAKotD,aACnBjZ,SAAUA,EACVtL,gBAAiBA,EACjBinB,aAAcA,MAUtBrK,wBAAyB,WAErB,IAAIsK,EAAc/vD,KAAKwtD,kBAEvB,GAAKuC,EAAL,CAKA,IAAK,IAAIrtD,EAAI,EAAGA,EAAIqtD,EAAYptD,OAAQD,IACxC,CACI,IAAIstD,EAAaD,EAAYrtD,GAEzBstD,EAAW5C,eAAiBptD,KAAKytD,yBAEjCuC,EAAW7b,SAAS7uC,MAAM0qD,EAAWnnB,gBAAiBmnB,EAAWF,cAIzE9vD,KAAKwtD,kBAAoB,KACzBxtD,KAAKytD,wBAA0B,OAQnC7nB,MAAO,YAEkB,IAAjB5lC,KAAKgtD,UAELhtD,KAAKqqC,QAAS,GAGlBrqC,KAAKglD,UAAY,KACjBhlD,KAAKykD,WAAa,KAClBzkD,KAAKoR,OAAQ,EACbpR,KAAKktD,aAAe,EACpBltD,KAAKksD,WAAY,EACjBlsD,KAAKmsD,SAASxpD,OAAS,EACvB3C,KAAKqsD,aAAc,EAEnBrsD,KAAKmoD,eAEDnoD,KAAKotD,cAELptD,KAAKotD,aAAa6C,iBAAiBjwD,MAGvCA,KAAKotD,aAAe,MAQxB8C,cAAe,WAEXlwD,KAAK8sD,UAAY,EACjB9sD,KAAK+sD,UAAY,IAMzBvrD,EAAOwhD,QAAQ1gD,UAAUC,YAAcf,EAAOwhD,QAW9Cp8C,OAAOuF,eAAe3K,EAAOwhD,QAAQ1gD,UAAW,YAE5CwE,IAAK,WAED,OAAI9G,KAAK6qD,MAEG,EAGL7qD,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK8qD,YAY1ClkD,OAAOuF,eAAe3K,EAAOwhD,QAAQ1gD,UAAW,UAE5CwE,IAAK,WAED,OAAO9G,KAAK8C,KAAKE,MAAMyX,OAAO3W,EAAI9D,KAAK8D,KAY/C8C,OAAOuF,eAAe3K,EAAOwhD,QAAQ1gD,UAAW,UAE5CwE,IAAK,WAED,OAAO9G,KAAK8C,KAAKE,MAAMyX,OAAO1W,EAAI/D,KAAK+D,KAgB/CvC,EAAOyhD,aASHC,OAAQ,EAMRiB,QAAS,GAmBb3iD,EAAO6hD,MAAQ,SAAUvgD,GAKrB9C,KAAK8C,KAAOA,EAOZ9C,KAAKigD,SAAU,EAKfjgD,KAAK6oC,gBAAkB7oC,KAAK8C,KAK5B9C,KAAKmwD,mBAAqB,KAK1BnwD,KAAKowD,kBAAoB,KAKzBpwD,KAAKqwD,iBAAmB,KAKxBrwD,KAAKswD,mBAAqB,KAK1BtwD,KAAKuwD,mBAAqB,KAK1BvwD,KAAKwwD,oBAAsB,KAM3BxwD,KAAKs+C,gBAAiB,EAMtBt+C,KAAKgwC,MAAQ,KAMbhwC,KAAKywD,cAAgB,KAMrBzwD,KAAK0wD,aAAe,KAMpB1wD,KAAK2wD,YAAc,KAMnB3wD,KAAK4wD,cAAgB,KAMrB5wD,KAAK6wD,cAAgB,KAMrB7wD,KAAK8wD,eAAiB,KAMtB9wD,KAAK0wD,aAAe,MAIxBlvD,EAAO6hD,MAAM/gD,WAMT0J,MAAO,WAEH,GAA2B,OAAvBhM,KAAKywD,cAAT,CAMA,IAAIzkB,EAAQhsC,KAERA,KAAK8C,KAAK+mB,OAAOi4B,QAEjB9hD,KAAKywD,cAAgB,SAAUzgB,GAC3B,OAAOhE,EAAM+kB,aAAa/gB,IAG9BhwC,KAAK0wD,aAAe,SAAU1gB,GAC1B,OAAOhE,EAAMglB,YAAYhhB,IAG7BhwC,KAAK2wD,YAAc,SAAU3gB,GACzB,OAAOhE,EAAMilB,WAAWjhB,IAG5BhwC,KAAK4wD,cAAgB,SAAU5gB,GAC3B,OAAOhE,EAAMklB,aAAalhB,IAG9BhwC,KAAK6wD,cAAgB,SAAU7gB,GAC3B,OAAOhE,EAAMmlB,aAAanhB,IAG9BhwC,KAAK8wD,eAAiB,SAAU9gB,GAC5B,OAAOhE,EAAMolB,cAAcphB,IAG/BhwC,KAAK8C,KAAK+T,OAAOu5B,iBAAiB,aAAcpwC,KAAKywD,eAAe,GACpEzwD,KAAK8C,KAAK+T,OAAOu5B,iBAAiB,YAAapwC,KAAK0wD,cAAc,GAClE1wD,KAAK8C,KAAK+T,OAAOu5B,iBAAiB,WAAYpwC,KAAK2wD,aAAa,GAChE3wD,KAAK8C,KAAK+T,OAAOu5B,iBAAiB,cAAepwC,KAAK8wD,gBAAgB,GAEjE9wD,KAAK8C,KAAK+mB,OAAOs0B,WAElBn+C,KAAK8C,KAAK+T,OAAOu5B,iBAAiB,aAAcpwC,KAAK4wD,eAAe,GACpE5wD,KAAK8C,KAAK+T,OAAOu5B,iBAAiB,aAAcpwC,KAAK6wD,eAAe,OAUhFQ,uBAAwB,WAEpBrxD,KAAKsxD,mBAAqB,SAAUthB,GAChCA,EAAMsO,kBAGV3O,SAASS,iBAAiB,YAAapwC,KAAKsxD,oBAAoB,IASpEP,aAAc,SAAU/gB,GAMpB,GAJAhwC,KAAK8C,KAAKkjC,MAAMge,2BAA0B,EAAOhU,GAEjDhwC,KAAKgwC,MAAQA,EAERhwC,KAAK8C,KAAKkjC,MAAMia,SAAYjgD,KAAKigD,QAAtC,CAKIjgD,KAAKmwD,oBAELnwD,KAAKmwD,mBAAmB5rD,KAAKvE,KAAK6oC,gBAAiBmH,GAGnDhwC,KAAKs+C,gBAELtO,EAAMsO,iBAMV,IAAK,IAAI57C,EAAI,EAAGA,EAAIstC,EAAMuhB,eAAe5uD,OAAQD,IAE7C1C,KAAK8C,KAAKkjC,MAAMse,aAAatU,EAAMuhB,eAAe7uD,MAW1D0uD,cAAe,SAAUphB,GASrB,GAPAhwC,KAAKgwC,MAAQA,EAEThwC,KAAKwwD,qBAELxwD,KAAKwwD,oBAAoBjsD,KAAKvE,KAAK6oC,gBAAiBmH,GAGnDhwC,KAAK8C,KAAKkjC,MAAMia,SAAYjgD,KAAKigD,QAAtC,CAKIjgD,KAAKs+C,gBAELtO,EAAMsO,iBAKV,IAAK,IAAI57C,EAAI,EAAGA,EAAIstC,EAAMuhB,eAAe5uD,OAAQD,IAE7C1C,KAAK8C,KAAKkjC,MAAM2e,YAAY3U,EAAMuhB,eAAe7uD,MAWzDwuD,aAAc,SAAUlhB,GAEpBhwC,KAAKgwC,MAAQA,EAEThwC,KAAKswD,oBAELtwD,KAAKswD,mBAAmB/rD,KAAKvE,KAAK6oC,gBAAiBmH,GAGlDhwC,KAAK8C,KAAKkjC,MAAMia,SAAYjgD,KAAKigD,SAKlCjgD,KAAKs+C,gBAELtO,EAAMsO,kBAWd6S,aAAc,SAAUnhB,GAEpBhwC,KAAKgwC,MAAQA,EAEThwC,KAAKuwD,oBAELvwD,KAAKuwD,mBAAmBhsD,KAAKvE,KAAK6oC,gBAAiBmH,GAGnDhwC,KAAKs+C,gBAELtO,EAAMsO,kBAUd0S,YAAa,SAAUhhB,GAEnBhwC,KAAKgwC,MAAQA,EAEThwC,KAAKowD,mBAELpwD,KAAKowD,kBAAkB7rD,KAAKvE,KAAK6oC,gBAAiBmH,GAGlDhwC,KAAKs+C,gBAELtO,EAAMsO,iBAGV,IAAK,IAAI57C,EAAI,EAAGA,EAAIstC,EAAMuhB,eAAe5uD,OAAQD,IAE7C1C,KAAK8C,KAAKkjC,MAAMwe,cAAcxU,EAAMuhB,eAAe7uD,KAU3DuuD,WAAY,SAAUjhB,GAElBhwC,KAAK8C,KAAKkjC,MAAMge,2BAA0B,EAAMhU,GAEhDhwC,KAAKgwC,MAAQA,EAEThwC,KAAKqwD,kBAELrwD,KAAKqwD,iBAAiB9rD,KAAKvE,KAAK6oC,gBAAiBmH,GAGjDhwC,KAAKs+C,gBAELtO,EAAMsO,iBAMV,IAAK,IAAI57C,EAAI,EAAGA,EAAIstC,EAAMuhB,eAAe5uD,OAAQD,IAE7C1C,KAAK8C,KAAKkjC,MAAM2e,YAAY3U,EAAMuhB,eAAe7uD,KASzDmJ,KAAM,WAEE7L,KAAK8C,KAAK+mB,OAAOi4B,QAEjB9hD,KAAK8C,KAAK+T,OAAOu6B,oBAAoB,aAAcpxC,KAAKywD,eACxDzwD,KAAK8C,KAAK+T,OAAOu6B,oBAAoB,YAAapxC,KAAK0wD,cACvD1wD,KAAK8C,KAAK+T,OAAOu6B,oBAAoB,WAAYpxC,KAAK2wD,aACtD3wD,KAAK8C,KAAK+T,OAAOu6B,oBAAoB,aAAcpxC,KAAK4wD,eACxD5wD,KAAK8C,KAAK+T,OAAOu6B,oBAAoB,aAAcpxC,KAAK6wD,eACxD7wD,KAAK8C,KAAK+T,OAAOu6B,oBAAoB,cAAepxC,KAAK8wD,mBAOrEtvD,EAAO6hD,MAAM/gD,UAAUC,YAAcf,EAAO6hD,MAe5C7hD,EAAOgwD,aAAe,SAAUtuC,GAK5BljB,KAAKkjB,OAASA,EAKdljB,KAAK8C,KAAOogB,EAAOpgB,KAMnB9C,KAAKigD,SAAU,EAMfjgD,KAAKkvD,SAAU,EASflvD,KAAKsvD,WAAa,EAMlBtvD,KAAKyxD,eAAgB,EAMrBzxD,KAAK0xD,gBAAiB,EAMtB1xD,KAAK4uD,WAAY,EAMjB5uD,KAAK2xD,qBAAsB,EAM3B3xD,KAAK4xD,mBAAoB,EAMzB5xD,KAAK+0C,YAAa,EAMlB/0C,KAAK6xD,WAAa,KAMlB7xD,KAAK8xD,YAAa,EAMlB9xD,KAAK+xD,eAAgB,EAMrB/xD,KAAKgyD,MAAQ,EAMbhyD,KAAKiyD,MAAQ,EAMbjyD,KAAKkyD,YAAc,EAMnBlyD,KAAKmyD,YAAc,EAUnBnyD,KAAKoyD,kBAAmB,EAUxBpyD,KAAKqyD,mBAAoB,EAMzBryD,KAAKsyD,kBAAoB,IAMzBtyD,KAAKuyD,WAAY,EAMjBvyD,KAAKwyD,WAAa,KAMlBxyD,KAAKyyD,aAAe,KAKpBzyD,KAAK0yD,YAAa,EAKlB1yD,KAAK2yD,WAAa,IAAInxD,EAAOX,MAK7Bb,KAAK4yD,gBAAiB,EAKtB5yD,KAAK6yD,uBAAwB,EAK7B7yD,KAAK8yD,eAAiB,IAAItxD,EAAOX,MAKjCb,KAAK+yD,sBAAwB,EAK7B/yD,KAAKgzD,kBAAoB,EAKzBhzD,KAAKizD,UAAY,IAAIzxD,EAAOX,MAK5Bb,KAAKkzD,UAAY,IAAI1xD,EAAOX,MAM5Bb,KAAKmzD,WAAa,IAAI3xD,EAAOX,MAM7Bb,KAAKozD,YAAa,EAMlBpzD,KAAKqzD,cAAe,EAMpBrzD,KAAKszD,eAAgB,EAMrBtzD,KAAKuzD,mBAAoB,EAMzBvzD,KAAKwzD,aAAc,EAMnBxzD,KAAKyzD,WAAa,IAAIjyD,EAAOX,MAM7Bb,KAAK0zD,gBAEL1zD,KAAK0zD,aAAahsD,MACdoM,GAAI,EACJhQ,EAAG,EACHC,EAAG,EACH4vD,KAAM,EACNC,KAAM,EACNhJ,QAAQ,EACRC,MAAM,EACNgJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTlJ,SAAU,EACVC,OAAQ,EACRkJ,aAAc,EACdrF,WAAW,KAKnBptD,EAAOgwD,aAAalvD,WAUhB0J,MAAO,SAAU6+B,EAAU4mB,GAMvB,GAJA5mB,EAAWA,GAAY,OACDvkC,IAAlBmrD,IAA+BA,GAAgB,IAG9B,IAAjBzxD,KAAKigD,QACT,CAEIjgD,KAAK8C,KAAKkjC,MAAMuc,iBAAiBxpB,IAAI/4B,MACrCA,KAAKyxD,cAAgBA,EACrBzxD,KAAKsvD,WAAazkB,EAElB,IAAK,IAAInoC,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAK0zD,aAAahxD,IACdoR,GAAIpR,EACJoB,EAAG,EACHC,EAAG,EACH6mD,QAAQ,EACRC,MAAM,EACNgJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTlJ,SAAU,EACVC,OAAQ,EACRkJ,aAAc,EACdrF,WAAW,GAInB5uD,KAAK6xD,WAAa,IAAIrwD,EAAOX,MAC7Bb,KAAKigD,SAAU,EACfjgD,KAAKwzD,aAAc,EAOvB,OAHAxzD,KAAKkjB,OAAOywB,OAAOugB,eAAen7B,IAAI/4B,KAAKm0D,aAAcn0D,MACzDA,KAAKkjB,OAAOywB,OAAOygB,mBAAmBr7B,IAAI/4B,KAAKq0D,iBAAkBr0D,MAE1DA,KAAKkjB,QAUhBixC,aAAc,WAENn0D,KAAKozD,YAKLpzD,KAAKwzD,cAAgBxzD,KAAKigD,SAE1BjgD,KAAKgM,SAWbqoD,iBAAkB,WAEVr0D,KAAKozD,aAKLpzD,KAAKigD,SAELjgD,KAAKwzD,aAAc,EACnBxzD,KAAK6L,QAIL7L,KAAKwzD,aAAc,IAS3B5tB,MAAO,WAEH5lC,KAAKigD,SAAU,EAEf,IAAK,IAAIv9C,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAK0zD,aAAahxD,IACdoR,GAAIpR,EACJoB,EAAG,EACHC,EAAG,EACH6mD,QAAQ,EACRC,MAAM,EACNgJ,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACTlJ,SAAU,EACVC,OAAQ,EACRkJ,aAAc,EACdrF,WAAW,IASvB/iD,KAAM,YAGmB,IAAjB7L,KAAKigD,UAOLjgD,KAAKigD,SAAU,EACfjgD,KAAK8C,KAAKkjC,MAAMuc,iBAAiBxmC,OAAO/b,QAShDwC,QAAS,WAEDxC,KAAKkjB,SAEDljB,KAAK0xD,iBAEL1xD,KAAK8C,KAAK+T,OAAOoE,MAAMm3B,OAAS,GAChCpyC,KAAK0xD,gBAAiB,GAG1B1xD,KAAKigD,SAAU,EAEfjgD,KAAK8C,KAAKkjC,MAAMuc,iBAAiBxmC,OAAO/b,MAExCA,KAAK0zD,aAAa/wD,OAAS,EAC3B3C,KAAKwyD,WAAa,KAClBxyD,KAAKyyD,aAAe,KACpBzyD,KAAKkjB,OAAS,OAgBtBisC,cAAe,SAAUmF,EAAWC,EAAiBC,GAIjD,YAF4BluD,IAAxBkuD,IAAqCA,GAAsB,MAE1Dx0D,KAAKigD,SACkB,IAAxBjgD,KAAKkjB,OAAOpiB,MAAMgD,GACM,IAAxB9D,KAAKkjB,OAAOpiB,MAAMiD,GAClB/D,KAAKsvD,WAAatvD,KAAK8C,KAAKkjC,MAAMsc,eACjCtiD,KAAKkjB,OAAO7hB,QAAUrB,KAAKkjB,OAAO7hB,OAAO8G,uBAMzCqsD,IAAwBx0D,KAAKqyD,mBAAqBryD,KAAKoyD,qBAKxDpyD,KAAKsvD,WAAagF,GAAct0D,KAAKsvD,aAAegF,GAAat0D,KAAKkjB,OAAOm0B,cAAgBkd,KAerGE,eAAgB,WAEZ,OAAQz0D,KAAKqyD,mBAAqBryD,KAAKoyD,kBAY3CsC,SAAU,SAAU1P,GAIhB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAWlhD,GAYxC6wD,SAAU,SAAU3P,GAIhB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAWjhD,GAYxC6wD,YAAa,SAAU5P,GAInB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAW4F,QAYxCiK,UAAW,SAAU7P,GAIjB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAW6F,MAWxCiK,gBAAiB,SAAU9P,GAIvB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAW8F,UAWxCiK,cAAe,SAAU/P,GAIrB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAW+F,QAWxCiK,YAAa,SAAUhQ,GAEnB,IAAKhlD,KAAKigD,QAEN,OAAO,EAGX,QAAkB35C,IAAd0+C,EACJ,CACI,IAAK,IAAItiD,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAI1C,KAAK0zD,aAAahxD,GAAGmxD,OAErB,OAAO,EAIf,OAAO,EAIP,OAAO7zD,KAAK0zD,aAAa1O,GAAW6O,QAY5CoB,WAAY,SAAUjQ,GAElB,IAAKhlD,KAAKigD,QAEN,OAAO,EAGX,QAAkB35C,IAAd0+C,EAYA,OAAOhlD,KAAK0zD,aAAa1O,GAAW8O,MAVpC,IAAK,IAAIpxD,EAAI,EAAGA,EAAI,GAAIA,IAEpB,GAAI1C,KAAK0zD,aAAahxD,GAAGoxD,MAErB,OAAO,GAkBvBoB,gBAAiB,SAAUlQ,GAIvB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAW+O,UAWxCoB,eAAgB,SAAUnQ,GAItB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAWgP,SAWxCoB,eAAgB,SAAUpQ,GAItB,OAFAA,EAAYA,GAAa,EAElBhlD,KAAK0zD,aAAa1O,GAAW4J,WAaxCQ,iBAAkB,SAAUzhB,EAAS0nB,GAEjC,SAAK1nB,EAAQid,QACR5qD,KAAKigD,SACLjgD,KAAKkjB,QACLljB,KAAKkjB,OAAO7hB,QACZrB,KAAKkjB,OAAOhiB,SACZlB,KAAKkjB,OAAO7hB,OAAOH,SACS,IAA7BlB,KAAKkjB,OAAOvhB,WAAWmC,GACM,IAA7B9D,KAAKkjB,OAAOvhB,WAAWoC,OAMvB/D,KAAK8C,KAAKkjC,MAAMkf,QAAQllD,KAAKkjB,OAAQyqB,EAAS3tC,KAAKyzD,mBAElCntD,IAAb+uD,IAEAA,GAAW,MAGVA,GAAYr1D,KAAKqyD,oBAEXryD,KAAKs1D,WAAWt1D,KAAKyzD,WAAW3vD,EAAG9D,KAAKyzD,WAAW1vD,MAqBtEsrD,iBAAkB,SAAU1hB,EAAS0nB,GAEjC,SAAKr1D,KAAKigD,SACLjgD,KAAKkjB,QACLljB,KAAKkjB,OAAO7hB,QACZrB,KAAKkjB,OAAOhiB,SACZlB,KAAKkjB,OAAO7hB,OAAOH,SACS,IAA7BlB,KAAKkjB,OAAOvhB,WAAWmC,GACM,IAA7B9D,KAAKkjB,OAAOvhB,WAAWoC,OAMvB/D,KAAK8C,KAAKkjC,MAAMkf,QAAQllD,KAAKkjB,OAAQyqB,EAAS3tC,KAAKyzD,mBAElCntD,IAAb+uD,IAEAA,GAAW,MAGVA,GAAYr1D,KAAKoyD,mBAEXpyD,KAAKs1D,WAAWt1D,KAAKyzD,WAAW3vD,EAAG9D,KAAKyzD,WAAW1vD,MAsBtEuxD,WAAY,SAAUxxD,EAAGC,EAAG4pC,GAGxB,GAAI3tC,KAAKkjB,OAAOnlB,QAAQoI,YAAY6I,OACpC,CACI,GAAU,OAANlL,GAAoB,OAANC,EAClB,CAEI/D,KAAK8C,KAAKkjC,MAAMif,iBAAiBjlD,KAAKkjB,OAAQyqB,EAAS3tC,KAAKyzD,YAE5D,IAAI3vD,EAAI9D,KAAKyzD,WAAW3vD,EACpBC,EAAI/D,KAAKyzD,WAAW1vD,EAgB5B,GAb6B,IAAzB/D,KAAKkjB,OAAOxc,OAAO5C,IAEnBA,IAAM9D,KAAKkjB,OAAOnlB,QAAQiP,MAAMpP,MAAQoC,KAAKkjB,OAAOxc,OAAO5C,GAGlC,IAAzB9D,KAAKkjB,OAAOxc,OAAO3C,IAEnBA,IAAM/D,KAAKkjB,OAAOnlB,QAAQiP,MAAMnP,OAASmC,KAAKkjB,OAAOxc,OAAO3C,GAGhED,GAAK9D,KAAKkjB,OAAOnlB,QAAQiP,MAAMlJ,EAC/BC,GAAK/D,KAAKkjB,OAAOnlB,QAAQiP,MAAMjJ,EAE3B/D,KAAKkjB,OAAOnlB,QAAQgQ,OAEpBjK,GAAK9D,KAAKkjB,OAAOnlB,QAAQgQ,KAAKjK,EAC9BC,GAAK/D,KAAKkjB,OAAOnlB,QAAQgQ,KAAKhK,EAG1BD,EAAI9D,KAAKkjB,OAAOnlB,QAAQwP,KAAKzJ,GAAKA,EAAI9D,KAAKkjB,OAAOnlB,QAAQwP,KAAKgmB,OAASxvB,EAAI/D,KAAKkjB,OAAOnlB,QAAQwP,KAAKxJ,GAAKA,EAAI/D,KAAKkjB,OAAOnlB,QAAQwP,KAAK6oB,QAIvI,OAFAp2B,KAAKu1D,IAAMzxD,EACX9D,KAAKw1D,IAAMzxD,GACJ,EAYf,GARA/D,KAAKu1D,IAAMzxD,EACX9D,KAAKw1D,IAAMzxD,EAEX/D,KAAK8C,KAAKkjC,MAAM4Z,WAAWh4B,UAAU,EAAG,EAAG,EAAG,GAC9C5nB,KAAK8C,KAAKkjC,MAAM4Z,WAAWhxC,UAAU5O,KAAKkjB,OAAOnlB,QAAQoI,YAAY6I,OAAQlL,EAAGC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAExF/D,KAAK8C,KAAKkjC,MAAM4Z,WAAW92B,aAAa,EAAG,EAAG,EAAG,GAEnD9U,KAAK,IAAMhU,KAAKsyD,kBAEpB,OAAO,EAIf,OAAO,GAaX3tB,OAAQ,SAAUgJ,GAEd,GAAoB,OAAhB3tC,KAAKkjB,aAA0C5c,IAAvBtG,KAAKkjB,OAAO7hB,OAMxC,OAAKrB,KAAKigD,SAAYjgD,KAAKkjB,OAAOhiB,SAAYlB,KAAKkjB,OAAO7hB,OAAOH,QAM7DlB,KAAKqzD,cAEArzD,KAAKuzD,oBAENvzD,KAAKuzD,kBAAqB/xD,EAAOiC,KAAK6xB,SAASqY,EAAQ7pC,EAAG6pC,EAAQ5pC,EAAG/D,KAAKizD,UAAUnvD,EAAG9D,KAAKizD,UAAUlvD,IAAM/D,KAAK+yD,uBAGjH/yD,KAAKuzD,mBAAqBvzD,KAAKszD,eAE/BtzD,KAAKy1D,UAAU9nB,IAGZ,GAEF3tC,KAAKuyD,WAAavyD,KAAK01D,oBAAsB/nB,EAAQ75B,GAEnD9T,KAAK21D,WAAWhoB,GAAS,GAE3B3tC,KAAK0zD,aAAa/lB,EAAQ75B,IAAI+/C,OAE/B7zD,KAAKqvD,iBAAiB1hB,IAEtB3tC,KAAK0zD,aAAa/lB,EAAQ75B,IAAIhQ,EAAI6pC,EAAQ7pC,EAAI9D,KAAKkjB,OAAOpf,EAC1D9D,KAAK0zD,aAAa/lB,EAAQ75B,IAAI/P,EAAI4pC,EAAQ5pC,EAAI/D,KAAKkjB,OAAOnf,GACnD,IAIP/D,KAAKyvD,mBAAmB9hB,IACjB,QAXV,GAtBD3tC,KAAKyvD,mBAAmB9hB,IACjB,IA6Cf+hB,oBAAqB,SAAU/hB,EAAS0D,GAEpC,GAAoB,OAAhBrxC,KAAKkjB,OAAT,CAMA,IAAIlP,EAAOhU,KAAK0zD,aAAa/lB,EAAQ75B,IAErC,IAAoB,IAAhBE,EAAK6/C,QAAoBlmB,EAAQv8B,MACrC,CACI,IAAIwkD,GAA6B,IAAhB5hD,EAAK6/C,OAEtB7/C,EAAK6/C,QAAS,EACd7/C,EAAK8/C,OAAQ,EACb9/C,EAAK+/C,SAAW/zD,KAAK8C,KAAKiiC,KAAKA,KAC/B/wB,EAAKlQ,EAAI6pC,EAAQ7pC,EAAI9D,KAAKkjB,OAAOpf,EACjCkQ,EAAKjQ,EAAI4pC,EAAQ5pC,EAAI/D,KAAKkjB,OAAOnf,EAE7B/D,KAAKyxD,gBAAoC,IAAnBz9C,EAAK46C,YAE3B5uD,KAAK8C,KAAK+T,OAAOoE,MAAMm3B,OAAS,UAChCpyC,KAAK0xD,gBAAiB,IAGrBrgB,GAAUukB,GAAa51D,KAAKkjB,QAAUljB,KAAKkjB,OAAOywB,QAEnD3zC,KAAKkjB,OAAOywB,OAAOkiB,qBAAqB71D,KAAKkjB,OAAQyqB,GAGrD3tC,KAAKkjB,OAAO7hB,QAAUrB,KAAKkjB,OAAO7hB,OAAOoxC,kBAEzCzyC,KAAKkjB,OAAO7hB,OAAOoxC,iBAAiBxN,SAASjlC,KAAKkjB,OAAQyqB,MActE8hB,mBAAoB,SAAU9hB,EAAS0D,GAEnC,GAAoB,OAAhBrxC,KAAKkjB,OAAT,CAMA,IAAIlP,EAAOhU,KAAK0zD,aAAa/lB,EAAQ75B,IAErCE,EAAK6/C,QAAS,EACd7/C,EAAK8/C,OAAQ,EACb9/C,EAAKggD,QAAUh0D,KAAK8C,KAAKiiC,KAAKA,KAE1B/kC,KAAKyxD,gBAAoC,IAAnBz9C,EAAK46C,YAE3B5uD,KAAK8C,KAAK+T,OAAOoE,MAAMm3B,OAAS,GAChCpyC,KAAK0xD,gBAAiB,IAGrBrgB,GAAUrxC,KAAKkjB,QAAUljB,KAAKkjB,OAAOywB,SAEtC3zC,KAAKkjB,OAAOywB,OAAOmiB,oBAAoB91D,KAAKkjB,OAAQyqB,GAEhD3tC,KAAKkjB,QAAUljB,KAAKkjB,OAAO7hB,QAAUrB,KAAKkjB,OAAO7hB,OAAOqxC,iBAExD1yC,KAAKkjB,OAAO7hB,OAAOqxC,gBAAgBzN,SAASjlC,KAAKkjB,OAAQyqB,MAarEugB,gBAAiB,SAAUvgB,GAEvB,GAAoB,OAAhB3tC,KAAKkjB,OAAT,CAMA,IAAIlP,EAAOhU,KAAK0zD,aAAa/lB,EAAQ75B,IAErC,IAAKE,EAAK42C,QAAU52C,EAAK6/C,OACzB,CACI,GAAI7zD,KAAKqyD,oBAAsBryD,KAAKs1D,WAAW,KAAM,KAAM3nB,GAEvD,OAYJ,GATA35B,EAAK42C,QAAS,EACd52C,EAAK62C,MAAO,EACZ72C,EAAK82C,SAAW9qD,KAAK8C,KAAKiiC,KAAKA,KAE/B/kC,KAAKizD,UAAUlsD,IAAI4mC,EAAQ7pC,EAAG6pC,EAAQ5pC,GAGtC4pC,EAAQv8B,OAAQ,EAEZpR,KAAKkjB,QAAUljB,KAAKkjB,OAAOywB,SAE3B3zC,KAAKkjB,OAAOywB,OAAOoiB,qBAAqB/1D,KAAKkjB,OAAQyqB,GAGjD3tC,KAAKkjB,QAAUljB,KAAKkjB,OAAO7hB,QAAUrB,KAAKkjB,OAAO7hB,OAAOkxC,kBAExDvyC,KAAKkjB,OAAO7hB,OAAOkxC,iBAAiBtN,SAASjlC,KAAKkjB,OAAQyqB,GAI1C,OAAhB3tC,KAAKkjB,QAEL,OAKJljB,KAAKuyD,YAAgC,IAAnBvyD,KAAK4uD,YAEQ,IAA3B5uD,KAAKgzD,mBAA0D,IAA/BhzD,KAAK+yD,sBAErC/yD,KAAKy1D,UAAU9nB,IAIf3tC,KAAKqzD,cAAe,EAEpBrzD,KAAKuzD,kBAAoD,IAA/BvzD,KAAK+yD,sBAE3B/yD,KAAKgzD,kBAAoB,GAEzBhzD,KAAKszD,eAAgB,EACrBtzD,KAAK8C,KAAKiiC,KAAK4O,OAAO5a,IAAI/4B,KAAKgzD,kBAAmBhzD,KAAKg2D,gBAAiBh2D,KAAM2tC,IAI9E3tC,KAAKszD,eAAgB,IAK7BtzD,KAAK+0C,YAEL/0C,KAAKkjB,OAAO6xB,gBAaxBihB,gBAAiB,SAAUroB,GAEvB3tC,KAAKszD,eAAgB,EAEjBtzD,KAAKqzD,cAAgBrzD,KAAKkjB,QAEtBljB,KAAKuzD,mBAELvzD,KAAKy1D,UAAU9nB,IAY3BsiB,iBAAkB,SAAUtiB,GAExB,GAAoB,OAAhB3tC,KAAKkjB,OAAT,CAMA,IAAIlP,EAAOhU,KAAK0zD,aAAa/lB,EAAQ75B,IAGrC,GAAIE,EAAK42C,QAAUjd,EAAQkd,KAC3B,CACI72C,EAAK42C,QAAS,EACd52C,EAAK62C,MAAO,EACZ72C,EAAK+2C,OAAS/qD,KAAK8C,KAAKiiC,KAAKA,KAC7B/wB,EAAKigD,aAAejgD,EAAK+2C,OAAS/2C,EAAK82C,SAGvC,IAAI+I,EAAS7zD,KAAKqvD,iBAAiB1hB,GAE/B3tC,KAAKkjB,QAAUljB,KAAKkjB,OAAOywB,SAEtB3zC,KAAK6yD,yBACN7yD,KAAK6yD,uBAA2B7yD,KAAKuyD,WAAavyD,KAAK4uD,WAAa5uD,KAAK01D,oBAAsB/nB,EAAQ75B,KAEvG9T,KAAKkjB,OAAOywB,OAAOsiB,mBAAmBj2D,KAAKkjB,OAAQyqB,EAASkmB,GAG5D7zD,KAAKkjB,QAAUljB,KAAKkjB,OAAO7hB,QAAUrB,KAAKkjB,OAAO7hB,OAAOmxC,gBAExDxyC,KAAKkjB,OAAO7hB,OAAOmxC,eAAevN,SAASjlC,KAAKkjB,OAAQyqB,EAASkmB,GAIjEA,IAEAA,EAAS7zD,KAAKqvD,iBAAiB1hB,KAIvC35B,EAAK6/C,OAASA,GAETA,GAAU7zD,KAAKyxD,gBAEhBzxD,KAAK8C,KAAK+T,OAAOoE,MAAMm3B,OAAS,UAChCpyC,KAAK0xD,gBAAiB,GAI1B/jB,EAAQv8B,OAAQ,EAEhBpR,KAAKqzD,cAAe,EAGhBrzD,KAAKuyD,WAAavyD,KAAK4uD,WAAa5uD,KAAK01D,oBAAsB/nB,EAAQ75B,IAEvE9T,KAAKk2D,SAASvoB,MAe1BgoB,WAAY,SAAUhoB,EAASwoB,GAI3B,QAFkB7vD,IAAd6vD,IAA2BA,GAAY,GAEvCxoB,EAAQkd,KAGR,OADA7qD,KAAKk2D,SAASvoB,IACP,EAGjB,IAAIyoB,EAAoBp2D,KAAKq2D,cAAc1oB,GAErC,GAAI3tC,KAAKkjB,OAAO6vB,cAEZ,IAAIhgB,EAAK/yB,KAAK8C,KAAK2X,OAAO3Z,MAAMgD,EAAIsyD,EAAkBtyD,EAAI9D,KAAKmzD,WAAWrvD,EAAI9D,KAAK2yD,WAAW7uD,EAC1FwyD,EAAKt2D,KAAK8C,KAAK2X,OAAO3Z,MAAMiD,EAAIqyD,EAAkBryD,EAAI/D,KAAKmzD,WAAWpvD,EAAI/D,KAAK2yD,WAAW5uD,OAI9F,IAAIgvB,EAAKqjC,EAAkBtyD,EAAI9D,KAAKmzD,WAAWrvD,EAAI9D,KAAK2yD,WAAW7uD,EAC/DwyD,EAAKF,EAAkBryD,EAAI/D,KAAKmzD,WAAWpvD,EAAI/D,KAAK2yD,WAAW5uD,EAGvE,GAAI/D,KAAKkjB,OAAO6vB,cAER/yC,KAAK2xD,sBAEL3xD,KAAKkjB,OAAO8vB,aAAalvC,EAAIivB,EAAK/yB,KAAK8C,KAAK2X,OAAO3W,GAGnD9D,KAAK4xD,oBAEL5xD,KAAKkjB,OAAO8vB,aAAajvC,EAAIuyD,EAAKt2D,KAAK8C,KAAK2X,OAAO1W,GAGnD/D,KAAKwyD,YAELxyD,KAAKu2D,kBAGLv2D,KAAKyyD,cAELzyD,KAAKw2D,oBAGLx2D,KAAK8xD,aAEL9xD,KAAKkjB,OAAO8vB,aAAalvC,EAAIL,KAAK8xB,OAAOv1B,KAAKkjB,OAAO8vB,aAAalvC,EAAK9D,KAAKkyD,YAAclyD,KAAKgyD,OAAUhyD,KAAKgyD,OAAShyD,KAAKgyD,MAAShyD,KAAKkyD,YAAclyD,KAAKgyD,MAC7JhyD,KAAKkjB,OAAO8vB,aAAajvC,EAAIN,KAAK8xB,OAAOv1B,KAAKkjB,OAAO8vB,aAAajvC,EAAK/D,KAAKmyD,YAAcnyD,KAAKiyD,OAAUjyD,KAAKiyD,OAASjyD,KAAKiyD,MAASjyD,KAAKmyD,YAAcnyD,KAAKiyD,MAC7JjyD,KAAKkzD,UAAUnsD,IAAI/G,KAAKkjB,OAAO8vB,aAAalvC,EAAG9D,KAAKkjB,OAAO8vB,aAAajvC,QAIhF,CACI,IAAI8K,EAAK7O,KAAK8C,KAAK2X,OAAO3W,EAAI9D,KAAK0zD,aAAa/lB,EAAQ75B,IAAI6/C,KACxD7kD,EAAK9O,KAAK8C,KAAK2X,OAAO1W,EAAI/D,KAAK0zD,aAAa/lB,EAAQ75B,IAAI8/C,KAExD5zD,KAAK2xD,sBAEL3xD,KAAKkjB,OAAOpf,EAAIivB,EAAKlkB,GAGrB7O,KAAK4xD,oBAEL5xD,KAAKkjB,OAAOnf,EAAIuyD,EAAKxnD,GAGrB9O,KAAKwyD,YAELxyD,KAAKu2D,kBAGLv2D,KAAKyyD,cAELzyD,KAAKw2D,oBAGLx2D,KAAK8xD,aAEL9xD,KAAKkjB,OAAOpf,EAAIL,KAAK8xB,OAAOv1B,KAAKkjB,OAAOpf,EAAK9D,KAAKkyD,YAAclyD,KAAKgyD,OAAUhyD,KAAKgyD,OAAShyD,KAAKgyD,MAAShyD,KAAKkyD,YAAclyD,KAAKgyD,MACnIhyD,KAAKkjB,OAAOnf,EAAIN,KAAK8xB,OAAOv1B,KAAKkjB,OAAOnf,EAAK/D,KAAKmyD,YAAcnyD,KAAKiyD,OAAUjyD,KAAKiyD,OAASjyD,KAAKiyD,MAASjyD,KAAKmyD,YAAcnyD,KAAKiyD,MACnIjyD,KAAKkzD,UAAUnsD,IAAI/G,KAAKkjB,OAAOpf,EAAG9D,KAAKkjB,OAAOnf,IAMtD,OAFA/D,KAAKkjB,OAAOywB,OAAO8iB,aAAaxxB,SAASjlC,KAAKkjB,OAAQyqB,EAAS5a,EAAIujC,EAAIt2D,KAAKkzD,UAAWiD,IAEhF,GAYXO,SAAU,SAAU1R,EAAW2R,GAK3B,OAHA3R,EAAYA,GAAa,EACzB2R,EAAQA,GAAS,IAET32D,KAAK0zD,aAAa1O,GAAW6O,QAAU7zD,KAAK42D,aAAa5R,GAAa2R,GAYlFE,QAAS,SAAU7R,EAAW2R,GAK1B,OAHA3R,EAAYA,GAAa,EACzB2R,EAAQA,GAAS,IAET32D,KAAK0zD,aAAa1O,GAAW8O,OAAU9zD,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK0zD,aAAa1O,GAAWgP,QAAU2C,GAYhHnL,YAAa,SAAUxG,EAAW2R,GAK9B,OAHA3R,EAAYA,GAAa,EACzB2R,EAAQA,GAAS,IAET32D,KAAK0zD,aAAa1O,GAAW4F,QAAU5qD,KAAKi0D,aAAajP,GAAa2R,GAYlFlL,aAAc,SAAUzG,EAAW2R,GAK/B,OAHA3R,EAAYA,GAAa,EACzB2R,EAAQA,GAAS,IAET32D,KAAK0zD,aAAa1O,GAAW6F,MAAS7qD,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK0zD,aAAa1O,GAAW+F,OAAS4L,GAW9GC,aAAc,SAAU5R,GAIpB,OAFAA,EAAYA,GAAa,EAErBhlD,KAAK0zD,aAAa1O,GAAW6O,OAEtB7zD,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK0zD,aAAa1O,GAAW+O,UAGtD,GAWZE,aAAc,SAAUjP,GAIpB,OAFAA,EAAYA,GAAa,EAErBhlD,KAAK0zD,aAAa1O,GAAW4F,OAEtB5qD,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK0zD,aAAa1O,GAAW8F,UAGtD,GAgCZgM,WAAY,SAAUC,EAAYhiB,EAAYiiB,EAAcC,EAAgBzE,EAAYC,QAEjEnsD,IAAfywD,IAA4BA,GAAa,QAC1BzwD,IAAfyuC,IAA4BA,GAAa,QACxBzuC,IAAjB0wD,IAA8BA,GAAe,QAC1B1wD,IAAnB2wD,IAAgCA,EAAiB,UAClC3wD,IAAfksD,IAA4BA,EAAa,WACxBlsD,IAAjBmsD,IAA8BA,EAAe,MAEjDzyD,KAAKmzD,WAAa,IAAI3xD,EAAOX,MAC7Bb,KAAKuyD,WAAY,EACjBvyD,KAAK+0C,WAAaA,EAClB/0C,KAAK2yD,WAAa,IAAInxD,EAAOX,MAC7Bb,KAAK4yD,eAAiBmE,EAEtB/2D,KAAKqyD,kBAAoB2E,EACzBh3D,KAAKsyD,kBAAoB2E,EAErBzE,IAEAxyD,KAAKwyD,WAAaA,GAGlBC,IAEAzyD,KAAKyyD,aAAeA,IAW5ByE,YAAa,WAET,GAAIl3D,KAAK0zD,aAEL,IAAK,IAAIhxD,EAAI,EAAGA,EAAI,GAAIA,IAEpB1C,KAAK0zD,aAAahxD,GAAGksD,WAAY,EAIzC5uD,KAAKuyD,WAAY,EACjBvyD,KAAK4uD,WAAY,EACjB5uD,KAAK01D,mBAAqB,EAC1B11D,KAAKqzD,cAAe,GAUxBoC,UAAW,SAAU9nB,GAEjB,IAAI7pC,EAAI9D,KAAKkjB,OAAOpf,EAChBC,EAAI/D,KAAKkjB,OAAOnf,EACtBqyD,EAAoBp2D,KAAKq2D,cAAc1oB,GAUrC,GARA3tC,KAAK4uD,WAAY,EACjB5uD,KAAK01D,kBAAoB/nB,EAAQ75B,GAEjC9T,KAAK0zD,aAAa/lB,EAAQ75B,IAAI6/C,KAAO3zD,KAAK8C,KAAK2X,OAAO3W,EACtD9D,KAAK0zD,aAAa/lB,EAAQ75B,IAAI8/C,KAAO5zD,KAAK8C,KAAK2X,OAAO1W,EAEtD/D,KAAK0zD,aAAa/lB,EAAQ75B,IAAI86C,WAAY,EAEtC5uD,KAAKkjB,OAAO6vB,cAChB,CACI,GAAI/yC,KAAK4yD,eACT,CACI,IAAI/tD,EAAS7E,KAAKkjB,OAAOtZ,YACjCutD,EAAyBn3D,KAAKq2D,cAAc,IAAI70D,EAAOX,MAAMgE,EAAOszB,QAAStzB,EAAOuzB,UAE5Ep4B,KAAKkjB,OAAO8vB,aAAalvC,EAAIsyD,EAAkBtyD,GAAK9D,KAAKkjB,OAAO8vB,aAAalvC,EAAIqzD,EAAuBrzD,GACxG9D,KAAKkjB,OAAO8vB,aAAajvC,EAAIqyD,EAAkBryD,GAAK/D,KAAKkjB,OAAO8vB,aAAajvC,EAAIozD,EAAuBpzD,GAG5G/D,KAAKmzD,WAAWj+B,MAAMl1B,KAAKkjB,OAAO8vB,aAAalvC,EAAI6pC,EAAQ7pC,EAAG9D,KAAKkjB,OAAO8vB,aAAajvC,EAAI4pC,EAAQ5pC,OAGvG,CACI,GAAI/D,KAAK4yD,eACT,CACI,IAAI/tD,EAAS7E,KAAKkjB,OAAOtZ,YACjCutD,EAAyBn3D,KAAKq2D,cAAc,IAAI70D,EAAOX,MAAMgE,EAAOszB,QAAStzB,EAAOuzB,UAE5Ep4B,KAAKkjB,OAAOpf,EAAIsyD,EAAkBtyD,GAAK9D,KAAKkjB,OAAOpf,EAAIqzD,EAAuBrzD,GAC9E9D,KAAKkjB,OAAOnf,EAAIqyD,EAAkBryD,GAAK/D,KAAKkjB,OAAOnf,EAAIozD,EAAuBpzD,GAGlF/D,KAAKmzD,WAAWj+B,MAAMl1B,KAAKkjB,OAAOpf,EAAIsyD,EAAkBtyD,EAAG9D,KAAKkjB,OAAOnf,EAAIqyD,EAAkBryD,GAGjG/D,KAAK21D,WAAWhoB,GAAS,GAErB3tC,KAAK+0C,aAEL/0C,KAAKozD,YAAa,EAClBpzD,KAAKkjB,OAAO6xB,cAGhB/0C,KAAK8yD,eAAe/rD,IAAIjD,EAAGC,GAE3B/D,KAAKkjB,OAAOywB,OAAOyjB,qBAAqBp3D,KAAKkjB,OAAQyqB,EAAS7pC,EAAGC,GAEjE/D,KAAKqzD,cAAe,GAUxBgE,eAAgB,SAAUvzD,GAQtB,OANI9D,KAAK0yD,aAEL5uD,GAAK9D,KAAK8C,KAAKhC,MAAMw2D,KAAKC,YAAYzzD,EACtCA,GAAK9D,KAAK8C,KAAKhC,MAAMw2D,KAAKE,mBAAmB1zD,GAG1CA,GAUX2zD,eAAgB,SAAU1zD,GAQtB,OANI/D,KAAK0yD,aAEL3uD,GAAK/D,KAAK8C,KAAKhC,MAAMw2D,KAAKC,YAAYxzD,EACtCA,GAAK/D,KAAK8C,KAAKhC,MAAMw2D,KAAKE,mBAAmBzzD,GAG1CA,GAWXsyD,cAAe,SAAUqB,GAE3B,OAAI13D,KAAKkjB,OAAO7hB,OAERrB,KAAK8C,KAAKkjC,MAAMif,iBAAiBjlD,KAAKkjB,OAAO7hB,QAASyC,EAAG4zD,EAAY5zD,EAAGC,EAAG2zD,EAAY3zD,IAIvF2zD,GAWNxB,SAAU,SAAUvoB,GAEhB3tC,KAAK4uD,WAAY,EACjB5uD,KAAK01D,mBAAqB,EAC1B11D,KAAK0zD,aAAa/lB,EAAQ75B,IAAI86C,WAAY,EAC1C5uD,KAAKozD,YAAa,EAClBpzD,KAAKqzD,cAAe,EAEhBrzD,KAAK+xD,gBAED/xD,KAAKkjB,OAAO6vB,eAEZ/yC,KAAKkjB,OAAO8vB,aAAalvC,EAAIL,KAAK8xB,OAAOv1B,KAAKkjB,OAAO8vB,aAAalvC,EAAK9D,KAAKkyD,YAAclyD,KAAKgyD,OAAUhyD,KAAKgyD,OAAShyD,KAAKgyD,MAAShyD,KAAKkyD,YAAclyD,KAAKgyD,MAC7JhyD,KAAKkjB,OAAO8vB,aAAajvC,EAAIN,KAAK8xB,OAAOv1B,KAAKkjB,OAAO8vB,aAAajvC,EAAK/D,KAAKmyD,YAAcnyD,KAAKiyD,OAAUjyD,KAAKiyD,OAASjyD,KAAKiyD,MAASjyD,KAAKmyD,YAAcnyD,KAAKiyD,QAI7JjyD,KAAKkjB,OAAOpf,EAAIL,KAAK8xB,OAAOv1B,KAAKkjB,OAAOpf,EAAK9D,KAAKkyD,YAAclyD,KAAKgyD,OAAUhyD,KAAKgyD,OAAShyD,KAAKgyD,MAAShyD,KAAKkyD,YAAclyD,KAAKgyD,MACnIhyD,KAAKkjB,OAAOnf,EAAIN,KAAK8xB,OAAOv1B,KAAKkjB,OAAOnf,EAAK/D,KAAKmyD,YAAcnyD,KAAKiyD,OAAUjyD,KAAKiyD,OAASjyD,KAAKiyD,MAASjyD,KAAKmyD,YAAcnyD,KAAKiyD,QAI3IjyD,KAAKkjB,OAAOywB,OAAOgkB,oBAAoB33D,KAAKkjB,OAAQyqB,IAEb,IAAnC3tC,KAAKqvD,iBAAiB1hB,IAEtB3tC,KAAKyvD,mBAAmB9hB,IAYhCiqB,YAAa,SAAUC,EAAiBC,QAEZxxD,IAApBuxD,IAAiCA,GAAkB,QACjCvxD,IAAlBwxD,IAA+BA,GAAgB,GAEnD93D,KAAK2xD,oBAAsBkG,EAC3B73D,KAAK4xD,kBAAoBkG,GAgB7BC,WAAY,SAAU/F,EAAOC,EAAO+F,EAAQC,EAAW/F,EAAaC,QAEjD7rD,IAAX0xD,IAAwBA,GAAS,QACnB1xD,IAAd2xD,IAA2BA,GAAY,QACvB3xD,IAAhB4rD,IAA6BA,EAAc,QAC3B5rD,IAAhB6rD,IAA6BA,EAAc,GAE/CnyD,KAAKgyD,MAAQA,EACbhyD,KAAKiyD,MAAQA,EACbjyD,KAAKkyD,YAAcA,EACnBlyD,KAAKmyD,YAAcA,EACnBnyD,KAAK8xD,WAAakG,EAClBh4D,KAAK+xD,cAAgBkG,GASzBC,YAAa,WAETl4D,KAAK8xD,YAAa,EAClB9xD,KAAK+xD,eAAgB,GASzBwE,gBAAiB,WAETv2D,KAAKkjB,OAAO6vB,eAER/yC,KAAKkjB,OAAO8vB,aAAalvC,EAAI9D,KAAKwyD,WAAWh/B,KAE7CxzB,KAAKkjB,OAAO8vB,aAAalvC,EAAI9D,KAAKwyD,WAAWh/B,KAEvCxzB,KAAKkjB,OAAO8vB,aAAalvC,EAAI9D,KAAKkjB,OAAOtlB,MAASoC,KAAKwyD,WAAWj/B,QAExEvzB,KAAKkjB,OAAO8vB,aAAalvC,EAAI9D,KAAKwyD,WAAWj/B,MAAQvzB,KAAKkjB,OAAOtlB,OAGjEoC,KAAKkjB,OAAO8vB,aAAajvC,EAAI/D,KAAKwyD,WAAWr8B,IAE7Cn2B,KAAKkjB,OAAO8vB,aAAajvC,EAAI/D,KAAKwyD,WAAWr8B,IAEvCn2B,KAAKkjB,OAAO8vB,aAAajvC,EAAI/D,KAAKkjB,OAAOrlB,OAAUmC,KAAKwyD,WAAWp8B,SAEzEp2B,KAAKkjB,OAAO8vB,aAAajvC,EAAI/D,KAAKwyD,WAAWp8B,OAASp2B,KAAKkjB,OAAOrlB,UAKlEmC,KAAKkjB,OAAOsQ,KAAOxzB,KAAKwyD,WAAWh/B,KAEnCxzB,KAAKkjB,OAAOpf,EAAI9D,KAAKwyD,WAAW1uD,EAAI9D,KAAKkjB,OAAOoB,QAE3CtkB,KAAKkjB,OAAOqQ,MAAQvzB,KAAKwyD,WAAWj/B,QAEzCvzB,KAAKkjB,OAAOpf,EAAI9D,KAAKwyD,WAAWj/B,OAASvzB,KAAKkjB,OAAOtlB,MAAQoC,KAAKkjB,OAAOoB,UAGzEtkB,KAAKkjB,OAAOiT,IAAMn2B,KAAKwyD,WAAWr8B,IAElCn2B,KAAKkjB,OAAOnf,EAAI/D,KAAKwyD,WAAWr8B,IAAMn2B,KAAKkjB,OAAOqB,QAE7CvkB,KAAKkjB,OAAOkT,OAASp2B,KAAKwyD,WAAWp8B,SAE1Cp2B,KAAKkjB,OAAOnf,EAAI/D,KAAKwyD,WAAWp8B,QAAUp2B,KAAKkjB,OAAOrlB,OAASmC,KAAKkjB,OAAOqB,YAWvFiyC,kBAAmB,WAEXx2D,KAAKkjB,OAAO6vB,eAAiB/yC,KAAKyyD,aAAa1f,eAE3C/yC,KAAKkjB,OAAO8vB,aAAalvC,EAAI9D,KAAKyyD,aAAazf,aAAalvC,EAE5D9D,KAAKkjB,OAAO8vB,aAAalvC,EAAI9D,KAAKyyD,aAAazf,aAAalvC,EAEtD9D,KAAKkjB,OAAO8vB,aAAalvC,EAAI9D,KAAKkjB,OAAOtlB,MAAUoC,KAAKyyD,aAAazf,aAAalvC,EAAI9D,KAAKyyD,aAAa70D,QAE9GoC,KAAKkjB,OAAO8vB,aAAalvC,EAAK9D,KAAKyyD,aAAazf,aAAalvC,EAAI9D,KAAKyyD,aAAa70D,MAASoC,KAAKkjB,OAAOtlB,OAGxGoC,KAAKkjB,OAAO8vB,aAAajvC,EAAI/D,KAAKyyD,aAAazf,aAAajvC,EAE5D/D,KAAKkjB,OAAO8vB,aAAajvC,EAAI/D,KAAKyyD,aAAazf,aAAajvC,EAEtD/D,KAAKkjB,OAAO8vB,aAAajvC,EAAI/D,KAAKkjB,OAAOrlB,OAAWmC,KAAKyyD,aAAazf,aAAajvC,EAAI/D,KAAKyyD,aAAa50D,SAE/GmC,KAAKkjB,OAAO8vB,aAAajvC,EAAK/D,KAAKyyD,aAAazf,aAAajvC,EAAI/D,KAAKyyD,aAAa50D,OAAUmC,KAAKkjB,OAAOrlB,UAKzGmC,KAAKkjB,OAAOsQ,KAAOxzB,KAAKyyD,aAAaj/B,KAErCxzB,KAAKkjB,OAAOpf,EAAI9D,KAAKyyD,aAAaj/B,KAAOxzB,KAAKkjB,OAAOoB,QAEhDtkB,KAAKkjB,OAAOqQ,MAAQvzB,KAAKyyD,aAAal/B,QAE3CvzB,KAAKkjB,OAAOpf,EAAI9D,KAAKyyD,aAAal/B,OAASvzB,KAAKkjB,OAAOtlB,MAAQoC,KAAKkjB,OAAOoB,UAG3EtkB,KAAKkjB,OAAOiT,IAAMn2B,KAAKyyD,aAAat8B,IAEpCn2B,KAAKkjB,OAAOnf,EAAI/D,KAAKyyD,aAAat8B,IAAMn2B,KAAKkjB,OAAOqB,QAE/CvkB,KAAKkjB,OAAOkT,OAASp2B,KAAKyyD,aAAar8B,SAE5Cp2B,KAAKkjB,OAAOnf,EAAI/D,KAAKyyD,aAAar8B,QAAUp2B,KAAKkjB,OAAOrlB,OAASmC,KAAKkjB,OAAOqB,aAQ7F/iB,EAAOgwD,aAAalvD,UAAUC,YAAcf,EAAOgwD,aAsBnDhwD,EAAOgiD,QAAU,SAAU1gD,GAKvB9C,KAAK8C,KAAOA,EAMZ9C,KAAKm4D,oBAMLn4D,KAAKo4D,YAOLp4D,KAAKq4D,SAAU,EAOfr4D,KAAKigD,SAAU,EAOfjgD,KAAKs4D,2BAA6B/uC,UAAUgvC,qBAAuBhvC,UAAUivC,iBAAgE,IAA7CjvC,UAAUkvC,UAAUxvD,QAAQ,eAAyBsgB,UAAUmvC,YAQ/J14D,KAAK24D,wBAQL34D,KAAK44D,mBAKL54D,KAAK6oC,gBAAkB7oC,KAKvBA,KAAK64D,kBAAoB,KAKzB74D,KAAK84D,qBAAuB,KAK5B94D,KAAK+4D,eAAiB,KAKtB/4D,KAAKg5D,aAAe,KAKpBh5D,KAAKi5D,eAAiB,KAKtBj5D,KAAKk5D,gBAAkB,KAMvBl5D,KAAKm5D,oBAAsB,KAM3Bn5D,KAAKo5D,qBAAuB,KAM5Bp5D,KAAKq5D,WACD,IAAI73D,EAAO83D,UAAUx2D,EAAM9C,MAC3B,IAAIwB,EAAO83D,UAAUx2D,EAAM9C,MAC3B,IAAIwB,EAAO83D,UAAUx2D,EAAM9C,MAC3B,IAAIwB,EAAO83D,UAAUx2D,EAAM9C,QAKnCwB,EAAOgiD,QAAQlhD,WAUXi3D,aAAc,SAAU9rD,EAAS+rD,QAEJ,IAAdA,IAEPx5D,KAAK64D,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAYz5D,KAAK64D,kBAClG74D,KAAK84D,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAe15D,KAAK84D,qBAC3G94D,KAAK+4D,eAA8C,mBAArBS,EAAUtX,OAAyBsX,EAAUtX,OAASliD,KAAK+4D,eACzF/4D,KAAKg5D,aAA0C,mBAAnBQ,EAAUrX,KAAuBqX,EAAUrX,KAAOniD,KAAKg5D,aACnFh5D,KAAKi5D,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAAS35D,KAAKi5D,eACzFj5D,KAAKk5D,gBAAgD,mBAAtBM,EAAUpO,QAA0BoO,EAAUpO,QAAUprD,KAAKk5D,gBAC5Fl5D,KAAK6oC,gBAAkBp7B,IAW/BzB,MAAO,WAEH,IAAIhM,KAAKq4D,QAAT,CAMAr4D,KAAKq4D,SAAU,EAEf,IAAIrsB,EAAQhsC,KAEZA,KAAK45D,oBAAsB,SAAU5pB,GACjC,OAAOhE,EAAM6tB,mBAAmB7pB,IAGpChwC,KAAK85D,uBAAyB,SAAU9pB,GACpC,OAAOhE,EAAM+tB,sBAAsB/pB,IAGvChgC,OAAOogC,iBAAiB,mBAAoBpwC,KAAK45D,qBAAqB,GACtE5pD,OAAOogC,iBAAiB,sBAAuBpwC,KAAK85D,wBAAwB,KAWhFD,mBAAoB,SAAU7pB,GAE1B,IAAIgqB,EAAShqB,EAAMgS,QACnBhiD,KAAKo4D,SAAS1wD,KAAKsyD,GACnBh6D,KAAKq5D,UAAUW,EAAOxxD,OAAOyxD,QAAQD,IAWzCD,sBAAuB,SAAU/pB,GAE7B,IAAIkqB,EAAalqB,EAAMgS,QAEvB,IAAK,IAAIt/C,KAAK1C,KAAKo4D,SAEXp4D,KAAKo4D,SAAS11D,GAAG8F,QAAU0xD,EAAW1xD,OAEtCxI,KAAKo4D,SAAS1vD,OAAOhG,EAAE,GAI/B1C,KAAKq5D,UAAUa,EAAW1xD,OAAO2xD,cASrCx1B,OAAQ,WAEJ3kC,KAAKo6D,gBAELp6D,KAAKq6D,KAAKC,aACVt6D,KAAKu6D,KAAKD,aACVt6D,KAAKw6D,KAAKF,aACVt6D,KAAKy6D,KAAKH,cAUdF,cAAe,WAEX,GAAKp6D,KAAKq4D,QAAV,CAKA,GAAI9uC,UAAuB,YAEnBmxC,EAAcnxC,UAAUmvC,mBAE3B,GAAInvC,UAA6B,kBAE9BmxC,EAAcnxC,UAAUgvC,yBAE3B,GAAIhvC,UAA0B,eAE/B,IAAImxC,EAAcnxC,UAAUivC,iBAGhC,GAAIkC,EACJ,CACI16D,KAAKo4D,YAIL,IAAK,IAFDuC,GAAkB,EAEbj4D,EAAI,EAAGA,EAAIg4D,EAAY/3D,gBAEjB+3D,EAAYh4D,KAAO1C,KAAK24D,qBAAqBj2D,KAEpDi4D,GAAkB,EAClB36D,KAAK24D,qBAAqBj2D,UAAYg4D,EAAYh4D,IAGlDg4D,EAAYh4D,IAEZ1C,KAAKo4D,SAAS1wD,KAAKgzD,EAAYh4D,IAIzB,IAANA,GAdgCA,KAoBxC,IAAK,IAAI4X,EAAI,EAAGA,EAAIta,KAAKq5D,UAAU12D,OAAQ2X,IAEvCta,KAAKq5D,UAAU/+C,GAAGsgD,QAAU56D,KAAKo4D,SAAS99C,GAG9C,GAAIqgD,EACJ,CAII,IAAK,IAFDE,EADAC,GAAqBC,cAAgBC,eAGhCvzD,EAAI,EAAGA,EAAIzH,KAAKq5D,UAAU12D,OAAQ8E,IAIvC,IAFAozD,EAAY76D,KAAKq5D,UAAU5xD,IAEbwzD,UAEV,IAAK,IAAIhkC,EAAI,EAAGA,EAAIj3B,KAAKo4D,SAASz1D,OAAQs0B,IAElCj3B,KAAKo4D,SAASnhC,GAAGzuB,QAAUqyD,EAAUryD,QAErCsyD,EAAiBC,WAAWF,EAAUryD,QAAS,EAC/CsyD,EAAiBE,WAAWvzD,IAAK,GAMjD,IAAK,IAAIsvB,EAAI,EAAGA,EAAI/2B,KAAKq5D,UAAU12D,OAAQo0B,IAIvC,GAFA8jC,EAAY76D,KAAKq5D,UAAUtiC,IAEvB+jC,EAAiBE,WAAWjkC,GAAhC,CAKI/2B,KAAKo4D,SAASz1D,OAAS,GAEvBk4D,EAAUV,aAGd,IAAK,IAAIjjC,EAAI,EAAGA,EAAIl3B,KAAKo4D,SAASz1D,SAE1Bm4D,EAAiBE,WAAWjkC,GAFMG,IAC1C,CAMI,IAAIgkC,EAASl7D,KAAKo4D,SAASlhC,GAE3B,GAAIgkC,EACJ,CACI,GAAIJ,EAAiBC,WAAWG,EAAO1yD,OACvC,CACIqyD,EAAUV,aACV,SAIAU,EAAUZ,QAAQiB,GAClBJ,EAAiBC,WAAWG,EAAO1yD,QAAS,EAC5CsyD,EAAiBE,WAAWjkC,IAAK,OAKrC8jC,EAAUV,mBAYlCgB,aAAc,SAAUn0D,GAEpB,IAAK,IAAItE,EAAI,EAAGA,EAAI1C,KAAKq5D,UAAU12D,OAAQD,IAEvC1C,KAAKq5D,UAAU32D,GAAG04D,SAAWp0D,GAUrC6E,KAAM,WAEF7L,KAAKq4D,SAAU,EAEfroD,OAAOohC,oBAAoB,mBAAoBpxC,KAAK45D,qBACpD5pD,OAAOohC,oBAAoB,sBAAuBpxC,KAAK85D,yBAQ3Dl0B,MAAO,WAEH5lC,KAAK2kC,SAEL,IAAK,IAAIjiC,EAAI,EAAGA,EAAI1C,KAAKq5D,UAAU12D,OAAQD,IAEvC1C,KAAKq5D,UAAU32D,GAAGkjC,SAY1B4lB,YAAa,SAAUb,EAAYjoB,GAE/B,IAAK,IAAIhgC,EAAI,EAAGA,EAAI1C,KAAKq5D,UAAU12D,OAAQD,IAEvC,IAA4D,IAAxD1C,KAAKq5D,UAAU32D,GAAG8oD,YAAYb,EAAYjoB,GAE1C,OAAO,EAIf,OAAO,GAWX+oB,aAAc,SAAUd,EAAYjoB,GAEhC,IAAK,IAAIhgC,EAAI,EAAGA,EAAI1C,KAAKq5D,UAAU12D,OAAQD,IAEvC,IAA6D,IAAzD1C,KAAKq5D,UAAU32D,GAAG+oD,aAAad,EAAYjoB,GAE3C,OAAO,EAIf,OAAO,GAUXkoB,OAAQ,SAAUD,GAEd,IAAK,IAAIjoD,EAAI,EAAGA,EAAI1C,KAAKq5D,UAAU12D,OAAQD,IAEvC,IAA6C,IAAzC1C,KAAKq5D,UAAU32D,GAAGkoD,OAAOD,GAEzB,OAAO,EAIf,OAAO,GAQXnoD,QAAS,WAELxC,KAAK6L,OAEL,IAAK,IAAInJ,EAAI,EAAGA,EAAI1C,KAAKq5D,UAAU12D,OAAQD,IAEvC1C,KAAKq5D,UAAU32D,GAAGF,YAO9BhB,EAAOgiD,QAAQlhD,UAAUC,YAAcf,EAAOgiD,QAQ9C58C,OAAOuF,eAAe3K,EAAOgiD,QAAQlhD,UAAW,UAE5CwE,IAAK,WACD,OAAO9G,KAAKq4D,WAWpBzxD,OAAOuF,eAAe3K,EAAOgiD,QAAQlhD,UAAW,aAE5CwE,IAAK,WACD,OAAO9G,KAAKs4D,4BAWpB1xD,OAAOuF,eAAe3K,EAAOgiD,QAAQlhD,UAAW,iBAE5CwE,IAAK,WACD,OAAO9G,KAAKo4D,SAASz1D,UAW7BiE,OAAOuF,eAAe3K,EAAOgiD,QAAQlhD,UAAW,QAE5CwE,IAAK,WACD,OAAO9G,KAAKq5D,UAAU,MAW9BzyD,OAAOuF,eAAe3K,EAAOgiD,QAAQlhD,UAAW,QAE5CwE,IAAK,WACD,OAAO9G,KAAKq5D,UAAU,MAW9BzyD,OAAOuF,eAAe3K,EAAOgiD,QAAQlhD,UAAW,QAE5CwE,IAAK,WACD,OAAO9G,KAAKq5D,UAAU,MAW9BzyD,OAAOuF,eAAe3K,EAAOgiD,QAAQlhD,UAAW,QAE5CwE,IAAK,WACD,OAAO9G,KAAKq5D,UAAU,MAK9B73D,EAAOgiD,QAAQ6X,SAAW,EAC1B75D,EAAOgiD,QAAQ8X,SAAW,EAC1B95D,EAAOgiD,QAAQ+X,SAAW,EAC1B/5D,EAAOgiD,QAAQgY,SAAW,EAC1Bh6D,EAAOgiD,QAAQiY,SAAW,EAC1Bj6D,EAAOgiD,QAAQkY,SAAW,EAC1Bl6D,EAAOgiD,QAAQmY,SAAW,EAC1Bn6D,EAAOgiD,QAAQoY,SAAW,EAC1Bp6D,EAAOgiD,QAAQqY,SAAW,EAC1Br6D,EAAOgiD,QAAQsY,SAAW,EAC1Bt6D,EAAOgiD,QAAQuY,UAAY,GAC3Bv6D,EAAOgiD,QAAQwY,UAAY,GAC3Bx6D,EAAOgiD,QAAQyY,UAAY,GAC3Bz6D,EAAOgiD,QAAQ0Y,UAAY,GAC3B16D,EAAOgiD,QAAQ2Y,UAAY,GAC3B36D,EAAOgiD,QAAQ4Y,UAAY,GAE3B56D,EAAOgiD,QAAQ6Y,OAAS,EACxB76D,EAAOgiD,QAAQ8Y,OAAS,EACxB96D,EAAOgiD,QAAQ+Y,OAAS,EACxB/6D,EAAOgiD,QAAQgZ,OAAS,EACxBh7D,EAAOgiD,QAAQiZ,OAAS,EACxBj7D,EAAOgiD,QAAQkZ,OAAS,EACxBl7D,EAAOgiD,QAAQmZ,OAAS,EACxBn7D,EAAOgiD,QAAQoZ,OAAS,EACxBp7D,EAAOgiD,QAAQqZ,OAAS,EACxBr7D,EAAOgiD,QAAQsZ,OAAS,EAMxBt7D,EAAOgiD,QAAQuZ,UAAY,EAC3Bv7D,EAAOgiD,QAAQwZ,UAAY,EAC3Bx7D,EAAOgiD,QAAQyZ,UAAY,EAC3Bz7D,EAAOgiD,QAAQ0Z,UAAY,EAC3B17D,EAAOgiD,QAAQ2Z,oBAAsB,EACrC37D,EAAOgiD,QAAQ4Z,qBAAuB,EACtC57D,EAAOgiD,QAAQ6Z,qBAAuB,EACtC77D,EAAOgiD,QAAQ8Z,sBAAwB,EACvC97D,EAAOgiD,QAAQ+Z,aAAe,EAC9B/7D,EAAOgiD,QAAQga,cAAgB,EAC/Bh8D,EAAOgiD,QAAQia,0BAA4B,GAC3Cj8D,EAAOgiD,QAAQka,2BAA6B,GAE5Cl8D,EAAOgiD,QAAQma,kBAAoB,GACnCn8D,EAAOgiD,QAAQoa,mBAAqB,GACpCp8D,EAAOgiD,QAAQqa,gBAAkB,GACjCr8D,EAAOgiD,QAAQsa,kBAAoB,GAGnCt8D,EAAOgiD,QAAQua,qBAAuB,EACtCv8D,EAAOgiD,QAAQwa,qBAAuB,EACtCx8D,EAAOgiD,QAAQya,sBAAwB,EACvCz8D,EAAOgiD,QAAQ0a,sBAAwB,EAIvC18D,EAAOgiD,QAAQ2a,QAAU,EACzB38D,EAAOgiD,QAAQ4a,aAAe,EAC9B58D,EAAOgiD,QAAQ6a,aAAe,EAC9B78D,EAAOgiD,QAAQ8a,eAAiB,EAChC98D,EAAOgiD,QAAQ+a,SAAW,EAC1B/8D,EAAOgiD,QAAQgb,SAAW,EAC1Bh9D,EAAOgiD,QAAQib,SAAW,EAC1Bj9D,EAAOgiD,QAAQkb,SAAW,EAC1Bl9D,EAAOgiD,QAAQmb,aAAe,EAC9Bn9D,EAAOgiD,QAAQob,YAAc,EAC7Bp9D,EAAOgiD,QAAQqb,wBAA0B,GACzCr9D,EAAOgiD,QAAQsb,yBAA2B,GAC1Ct9D,EAAOgiD,QAAQub,cAAgB,GAC/Bv9D,EAAOgiD,QAAQwb,gBAAkB,GACjCx9D,EAAOgiD,QAAQyb,gBAAkB,GACjCz9D,EAAOgiD,QAAQ0b,iBAAmB,GAClC19D,EAAOgiD,QAAQ2b,mBAAqB,EACpC39D,EAAOgiD,QAAQ4b,mBAAqB,EACpC59D,EAAOgiD,QAAQ6b,oBAAsB,EACrC79D,EAAOgiD,QAAQ8b,oBAAsB,EAiBrC99D,EAAO83D,UAAY,SAAUx2D,EAAMy8D,GAK/Bv/D,KAAK8C,KAAOA,EAMZ9C,KAAKwI,MAAQ,KAMbxI,KAAKi7D,WAAY,EAKjBj7D,KAAK6oC,gBAAkB7oC,KAKvBA,KAAK64D,kBAAoB,KAKzB74D,KAAK84D,qBAAuB,KAK5B94D,KAAK+4D,eAAiB,KAKtB/4D,KAAKg5D,aAAe,KAKpBh5D,KAAKi5D,eAAiB,KAKtBj5D,KAAKk5D,gBAAkB,KAKvBl5D,KAAKo7D,SAAW,IAMhBp7D,KAAKw/D,WAAaD,EAMlBv/D,KAAK46D,QAAU,KAMf56D,KAAKy/D,eAAiB,KAMtBz/D,KAAK0/D,YAML1/D,KAAK2/D,YAAc,EAMnB3/D,KAAK4/D,SAML5/D,KAAK6/D,SAAW,GAIpBr+D,EAAO83D,UAAUh3D,WAUbi3D,aAAc,SAAU9rD,EAAS+rD,QAEJ,IAAdA,IAEPx5D,KAAK64D,kBAAoD,mBAAxBW,EAAUC,UAA4BD,EAAUC,UAAYz5D,KAAK64D,kBAClG74D,KAAK84D,qBAA0D,mBAA3BU,EAAUE,aAA+BF,EAAUE,aAAe15D,KAAK84D,qBAC3G94D,KAAK+4D,eAA8C,mBAArBS,EAAUtX,OAAyBsX,EAAUtX,OAASliD,KAAK+4D,eACzF/4D,KAAKg5D,aAA0C,mBAAnBQ,EAAUrX,KAAuBqX,EAAUrX,KAAOniD,KAAKg5D,aACnFh5D,KAAKi5D,eAA8C,mBAArBO,EAAUG,OAAyBH,EAAUG,OAAS35D,KAAKi5D,eACzFj5D,KAAKk5D,gBAAgD,mBAAtBM,EAAUpO,QAA0BoO,EAAUpO,QAAUprD,KAAKk5D,gBAE5Fl5D,KAAK6oC,gBAAkBp7B,IAY/BqyD,UAAW,SAAUnV,GAEjB,OAAI3qD,KAAK0/D,SAAS/U,GAEP3qD,KAAK0/D,SAAS/U,GAId,MAUf2P,WAAY,WAER,GAAKt6D,KAAKi7D,WAAcj7D,KAAK8C,KAAKkjC,MAAMia,SAAYjgD,KAAK8C,KAAKkjC,MAAMgc,QAAQ/B,WAAYjgD,KAAK46D,QAAQmF,WAAc//D,KAAK46D,QAAQmF,YAAc//D,KAAKy/D,gBAAnJ,CAKA,IAAK,IAAI/8D,EAAI,EAAGA,EAAI1C,KAAK2/D,YAAaj9D,IACtC,CACI,IAAIs9D,EAAeC,MAAMjgE,KAAK46D,QAAQ/M,QAAQnrD,IAAM1C,KAAK46D,QAAQ/M,QAAQnrD,GAAGsE,MAAQhH,KAAK46D,QAAQ/M,QAAQnrD,GAErGs9D,IAAiBhgE,KAAK0/D,SAASh9D,GAAGsE,QAEb,IAAjBg5D,EAEAhgE,KAAKkgE,kBAAkBx9D,EAAGs9D,GAEJ,IAAjBA,EAELhgE,KAAKmgE,gBAAgBz9D,EAAGs9D,GAIxBhgE,KAAKogE,mBAAmB19D,EAAGs9D,IAKvC,IAAK,IAAIx3D,EAAQ,EAAGA,EAAQxI,KAAK6/D,SAAUr3D,IAC3C,CACI,IAAIxB,EAAQhH,KAAK46D,QAAQyF,KAAK73D,GAEzBxB,EAAQ,GAAKA,EAAQhH,KAAKo7D,UAAcp0D,EAAQ,GAAKA,GAAShH,KAAKo7D,SAEpEp7D,KAAKsgE,kBAAkB93D,EAAOxB,GAI9BhH,KAAKsgE,kBAAkB93D,EAAO,GAItCxI,KAAKy/D,eAAiBz/D,KAAK46D,QAAQmF,YAUvC9F,QAAS,SAAUiB,GAEf,IAAIqF,GAAmBvgE,KAAKi7D,UAE5Bj7D,KAAKi7D,WAAY,EACjBj7D,KAAKwI,MAAQ0yD,EAAO1yD,MAEpBxI,KAAK46D,QAAUM,EAEfl7D,KAAK0/D,YACL1/D,KAAK2/D,YAAczE,EAAOrN,QAAQlrD,OAElC3C,KAAK4/D,SACL5/D,KAAK6/D,SAAW3E,EAAOmF,KAAK19D,OAE5B,IAAK,IAAIM,EAAI,EAAGA,EAAIjD,KAAK6/D,SAAU58D,IAE/BjD,KAAK4/D,MAAM38D,GAAKi4D,EAAOmF,KAAKp9D,GAGhC,IAAK,IAAI0nD,KAAcuQ,EAAOrN,QAE1BlD,EAAa33B,SAAS23B,EAAY,IAClC3qD,KAAK0/D,SAAS/U,GAAc,IAAInpD,EAAOkpD,aAAa1qD,KAAM2qD,GAG1D4V,GAAmBvgE,KAAKw/D,WAAW3G,mBAEnC74D,KAAKw/D,WAAW3G,kBAAkBt0D,KAAKvE,KAAKw/D,WAAW32B,gBAAiB7oC,KAAKwI,OAG7E+3D,GAAmBvgE,KAAK64D,mBAExB74D,KAAK64D,kBAAkBt0D,KAAKvE,KAAK6oC,kBAUzCsxB,WAAY,WAER,IAAIoG,EAAkBvgE,KAAKi7D,UACvBuF,EAAqBxgE,KAAKwI,MAE9BxI,KAAKi7D,WAAY,EACjBj7D,KAAKwI,MAAQ,KAEbxI,KAAK46D,aAAUt0D,EAEf,IAAK,IAAI5D,EAAI,EAAGA,EAAI1C,KAAK2/D,YAAaj9D,IAElC1C,KAAK0/D,SAASh9D,GAAGF,UAGrBxC,KAAK0/D,YACL1/D,KAAK2/D,YAAc,EAEnB3/D,KAAK4/D,SACL5/D,KAAK6/D,SAAW,EAEZU,GAAmBvgE,KAAKw/D,WAAW1G,sBAEnC94D,KAAKw/D,WAAW1G,qBAAqBv0D,KAAKvE,KAAKw/D,WAAW32B,gBAAiB23B,GAG3ED,GAAmBvgE,KAAK84D,sBAExB94D,KAAK84D,qBAAqBv0D,KAAKvE,KAAK6oC,kBAU5CrmC,QAAS,WAELxC,KAAK46D,aAAUt0D,EAEf,IAAK,IAAI5D,EAAI,EAAGA,EAAI1C,KAAK2/D,YAAaj9D,IAElC1C,KAAK0/D,SAASh9D,GAAGF,UAGrBxC,KAAK0/D,YACL1/D,KAAK2/D,YAAc,EAEnB3/D,KAAK4/D,SACL5/D,KAAK6/D,SAAW,EAEhB7/D,KAAK64D,kBAAoB,KACzB74D,KAAK84D,qBAAuB,KAC5B94D,KAAK+4D,eAAiB,KACtB/4D,KAAKg5D,aAAe,KACpBh5D,KAAKi5D,eAAiB,KACtBj5D,KAAKk5D,gBAAkB,MAU3BoH,kBAAmB,SAAU93D,EAAOxB,GAE5BhH,KAAK4/D,MAAMp3D,KAAWxB,IAK1BhH,KAAK4/D,MAAMp3D,GAASxB,EAEhBhH,KAAKw/D,WAAWvG,gBAEhBj5D,KAAKw/D,WAAWvG,eAAe10D,KAAKvE,KAAKw/D,WAAW32B,gBAAiB7oC,KAAMwI,EAAOxB,GAGlFhH,KAAKi5D,gBAELj5D,KAAKi5D,eAAe10D,KAAKvE,KAAK6oC,gBAAiB7oC,KAAMwI,EAAOxB,KAYpEk5D,kBAAmB,SAAUvV,EAAY3jD,GAEjChH,KAAK0/D,SAAS/U,IAEd3qD,KAAK0/D,SAAS/U,GAAY3+C,MAAM,KAAMhF,GAGtChH,KAAKw/D,WAAWzG,gBAEhB/4D,KAAKw/D,WAAWzG,eAAex0D,KAAKvE,KAAKw/D,WAAW32B,gBAAiB8hB,EAAY3jD,EAAOhH,KAAKwI,OAG7FxI,KAAK+4D,gBAEL/4D,KAAK+4D,eAAex0D,KAAKvE,KAAK6oC,gBAAiB8hB,EAAY3jD,IAYnEm5D,gBAAiB,SAAUxV,EAAY3jD,GAE/BhH,KAAKw/D,WAAWxG,cAEhBh5D,KAAKw/D,WAAWxG,aAAaz0D,KAAKvE,KAAKw/D,WAAW32B,gBAAiB8hB,EAAY3jD,EAAOhH,KAAKwI,OAG3FxI,KAAKg5D,cAELh5D,KAAKg5D,aAAaz0D,KAAKvE,KAAK6oC,gBAAiB8hB,EAAY3jD,GAGzDhH,KAAK0/D,SAAS/U,IAEd3qD,KAAK0/D,SAAS/U,GAAY9+C,KAAK,KAAM7E,IAY7Co5D,mBAAoB,SAAUzV,EAAY3jD,GAElChH,KAAKw/D,WAAWtG,iBAEhBl5D,KAAKw/D,WAAWtG,gBAAgB30D,KAAKvE,KAAKw/D,WAAW32B,gBAAiB8hB,EAAY3jD,EAAOhH,KAAKwI,OAG9FxI,KAAKk5D,iBAELl5D,KAAKk5D,gBAAgB30D,KAAKvE,KAAK6oC,gBAAiB8hB,EAAY3jD,GAG5DhH,KAAK0/D,SAAS/U,IAEd3qD,KAAK0/D,SAAS/U,GAAYY,SAASvkD,IAY3Cy5D,KAAM,SAAUC,GAEZ,QAAI1gE,KAAK4/D,MAAMc,IAEJ1gE,KAAK4/D,MAAMc,IAc1B9V,OAAQ,SAAUD,GAEd,QAAI3qD,KAAK0/D,SAAS/U,IAEP3qD,KAAK0/D,SAAS/U,GAAYC,QAczCC,KAAM,SAAUF,GAEZ,QAAI3qD,KAAK0/D,SAAS/U,IAEP3qD,KAAK0/D,SAAS/U,GAAYE,MAezCY,aAAc,SAAUd,EAAYjoB,GAEhC,GAAI1iC,KAAK0/D,SAAS/U,GAEd,OAAO3qD,KAAK0/D,SAAS/U,GAAYc,aAAa/oB,IAatD8oB,YAAa,SAAUb,EAAYjoB,GAE/B,GAAI1iC,KAAK0/D,SAAS/U,GAEd,OAAO3qD,KAAK0/D,SAAS/U,GAAYa,YAAY9oB,IAarDi+B,YAAa,SAAUhW,GAEnB,OAAI3qD,KAAK0/D,SAAS/U,GAEP3qD,KAAK0/D,SAAS/U,GAAY3jD,MAG9B,MASX4+B,MAAO,WAEH,IAAK,IAAIn+B,EAAI,EAAGA,EAAIzH,KAAK4/D,MAAMj9D,OAAQ8E,IAEnCzH,KAAK4/D,MAAMn4D,GAAK,IAO5BjG,EAAO83D,UAAUh3D,UAAUC,YAAcf,EAAO83D,UAgBhD93D,EAAOo/D,IAAM,SAAU99D,EAAM+9D,GAKzB7gE,KAAK8C,KAAOA,EAOZ9C,KAAK8gE,UAAW,EAMhB9gE,KAAKgwC,MAAQ,KAMbhwC,KAAK4qD,QAAS,EAMd5qD,KAAK6qD,MAAO,EAMZ7qD,KAAKirD,QAAS,EAMdjrD,KAAKmrD,SAAU,EAMfnrD,KAAKkrD,UAAW,EAKhBlrD,KAAK8qD,SAAW,EAQhB9qD,KAAK0iC,SAAW,EAMhB1iC,KAAK+qD,QAAU,KAQf/qD,KAAK+gE,YAAc,KAMnB/gE,KAAKgrD,QAAU,EAKfhrD,KAAKghE,QAAUH,EAKf7gE,KAAKkiD,OAAS,IAAI1gD,EAAO0gC,OAKzBliC,KAAKihE,eAAiB,KAKtBjhE,KAAKkhE,cAAgB,KAKrBlhE,KAAKmiD,KAAO,IAAI3gD,EAAO0gC,OAMvBliC,KAAKmhE,WAAY,EAMjBnhE,KAAKohE,SAAU,GAInB5/D,EAAOo/D,IAAIt+D,WAQPqiC,OAAQ,WAEC3kC,KAAK8gE,WAEN9gE,KAAK4qD,QAEL5qD,KAAK0iC,SAAW1iC,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK8qD,SAC3C9qD,KAAKgrD,UAEDhrD,KAAKihE,gBAELjhE,KAAKihE,eAAe18D,KAAKvE,KAAKkhE,cAAelhE,OAKjDA,KAAK+gE,WAAa/gE,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK+qD,SAYrDsW,eAAgB,SAAUrxB,GAEjBhwC,KAAK8gE,WAEV9gE,KAAKgwC,MAAQA,EAGThwC,KAAK4qD,SAKT5qD,KAAKirD,OAASjb,EAAMib,OACpBjrD,KAAKmrD,QAAUnb,EAAMmb,QACrBnrD,KAAKkrD,SAAWlb,EAAMkb,SAEtBlrD,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,EACZ7qD,KAAK8qD,SAAW9qD,KAAK8C,KAAKiiC,KAAKA,KAC/B/kC,KAAK0iC,SAAW,EAChB1iC,KAAK+gE,WAAa/gE,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK+qD,OAC7C/qD,KAAKgrD,QAAU,EAIfhrD,KAAKmhE,WAAY,EAEjBnhE,KAAKkiD,OAAOjd,SAASjlC,SAWzBshE,aAAc,SAAUtxB,GAEfhwC,KAAK8gE,WAEV9gE,KAAKgwC,MAAQA,EAEThwC,KAAK6qD,OAKT7qD,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,EACZ7qD,KAAK+qD,OAAS/qD,KAAK8C,KAAKiiC,KAAKA,KAC7B/kC,KAAK0iC,SAAW1iC,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK8qD,SAC3C9qD,KAAK+gE,WAAa,EAIlB/gE,KAAKohE,SAAU,EAEfphE,KAAKmiD,KAAKld,SAASjlC,SAavB4lC,MAAO,SAAUwe,QAEA99C,IAAT89C,IAAsBA,GAAO,GAEjCpkD,KAAK4qD,QAAS,EACd5qD,KAAK6qD,MAAO,EACZ7qD,KAAK+qD,OAAS/qD,KAAK8C,KAAKiiC,KAAKA,KAC7B/kC,KAAK0iC,SAAW,EAChB1iC,KAAK+gE,YAAc,KACnB/gE,KAAK8gE,UAAW,EAChB9gE,KAAKmhE,WAAY,EACjBnhE,KAAKohE,SAAU,EAEXhd,IAEApkD,KAAKkiD,OAAOzY,YACZzpC,KAAKmiD,KAAK1Y,YACVzpC,KAAKihE,eAAiB,KACtBjhE,KAAKkhE,cAAgB,OAa7BjN,aAAc,SAAUvxB,GAIpB,YAFiBp8B,IAAbo8B,IAA0BA,EAAW,IAEjC1iC,KAAK4qD,QAAU5qD,KAAK0iC,SAAWA,GAY3C6+B,WAAY,SAAU7+B,GAIlB,YAFiBp8B,IAAbo8B,IAA0BA,EAAW,KAEhC1iC,KAAK4qD,QAAY5qD,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK+qD,OAAUroB,GAWnE8oB,YAAa,WAET,OAAQxrD,KAAK4qD,QAA4B,IAAlB5qD,KAAK0iC,UAWhC+oB,aAAc,WAEV,OAASzrD,KAAK4qD,QAA8B,IAApB5qD,KAAK+gE,aAiBrCn6D,OAAOuF,eAAe3K,EAAOo/D,IAAIt+D,UAAW,YAExCwE,IAAK,WAED,IAAIygC,EAAUvnC,KAAKmhE,UAEnB,OADAnhE,KAAKmhE,WAAY,EACV55B,KAiBf3gC,OAAOuF,eAAe3K,EAAOo/D,IAAIt+D,UAAW,UAExCwE,IAAK,WAED,IAAIygC,EAAUvnC,KAAKohE,QAEnB,OADAphE,KAAKohE,SAAU,EACR75B,KAcf3gC,OAAOuF,eAAe3K,EAAOo/D,IAAIt+D,UAAW,WAExCwE,IAAK,WAED,OAAO9G,KAAK8gE,UAIhB/5D,IAAK,SAAUC,IAEXA,IAAUA,KAEIhH,KAAK8gE,WAEV95D,GAEDhH,KAAK4lC,OAAM,GAGf5lC,KAAK8gE,SAAW95D,MAM5BxF,EAAOo/D,IAAIt+D,UAAUC,YAAcf,EAAOo/D,IAsB1Cp/D,EAAO+hD,SAAW,SAAUzgD,GAKxB9C,KAAK8C,KAAOA,EAOZ9C,KAAKigD,SAAU,EAKfjgD,KAAKgwC,MAAQ,KAKbhwC,KAAKwhE,WAAa,KAKlBxhE,KAAK6oC,gBAAkB7oC,KAKvBA,KAAK+4D,eAAiB,KAKtB/4D,KAAKyhE,gBAAkB,KAKvBzhE,KAAKg5D,aAAe,KAMpBh5D,KAAK0hE,SAML1hE,KAAK2hE,YAOL3hE,KAAK4hE,WAAa,KAOlB5hE,KAAK6hE,YAAc,KAOnB7hE,KAAK8hE,SAAW,KAMhB9hE,KAAK4uC,GAAK,EAMV5uC,KAAK+hE,GAAK,GAIdvgE,EAAO+hD,SAASjhD,WAWZi3D,aAAc,SAAU9rD,EAASy0C,EAAQC,EAAM6f,GAE3ChiE,KAAK6oC,gBAAkBp7B,OAERnH,IAAX47C,GAAmC,OAAXA,IAExBliD,KAAK+4D,eAAiB7W,QAGb57C,IAAT67C,GAA+B,OAATA,IAEtBniD,KAAKg5D,aAAe7W,QAGR77C,IAAZ07D,GAAqC,OAAZA,IAEzBhiE,KAAKyhE,gBAAkBO,IAU/BC,gBAAiB,WAEbjiE,KAAK6oC,gBAAkB7oC,KACvBA,KAAK+4D,eAAiB,KACtB/4D,KAAKg5D,aAAe,KACpBh5D,KAAKyhE,gBAAkB,MAY3BS,OAAQ,SAAUrB,GASd,OAPK7gE,KAAK0hE,MAAMb,KAEZ7gE,KAAK0hE,MAAMb,GAAW,IAAIr/D,EAAOo/D,IAAI5gE,KAAK8C,KAAM+9D,GAEhD7gE,KAAKmiE,cAActB,IAGhB7gE,KAAK0hE,MAAMb,IAiBtBuB,QAAS,SAAU/tC,GAEf,IAAImB,KAEJ,IAAK,IAAI5iB,KAAOyhB,EAEZmB,EAAO5iB,GAAO5S,KAAKkiE,OAAO7tC,EAAKzhB,IAGnC,OAAO4iB,GAUX6sC,UAAW,SAAUxB,GAEb7gE,KAAK0hE,MAAMb,KAEX7gE,KAAK0hE,MAAMb,GAAW,KAEtB7gE,KAAKsiE,iBAAiBzB,KAW9B0B,iBAAkB,WAEd,OAAOviE,KAAKoiE,SAAUI,GAAMhhE,EAAOihE,QAAQt2C,GAAI2hC,KAAQtsD,EAAOihE,QAAQr2C,KAAMoH,KAAQhyB,EAAOihE,QAAQx2C,KAAMsH,MAAS/xB,EAAOihE,QAAQv2C,SAWrIlgB,MAAO,WAEH,IAAIhM,KAAK8C,KAAK+mB,OAAOs0B,UAKG,OAApBn+C,KAAK4hE,WAAT,CAMA,IAAI51B,EAAQhsC,KAEZA,KAAK4hE,WAAa,SAAU5xB,GACxB,OAAOhE,EAAMq1B,eAAerxB,IAGhChwC,KAAK8hE,SAAW,SAAU9xB,GACtB,OAAOhE,EAAMs1B,aAAatxB,IAG9BhwC,KAAK6hE,YAAc,SAAU7xB,GACzB,OAAOhE,EAAM02B,gBAAgB1yB,IAGjChgC,OAAOogC,iBAAiB,UAAWpwC,KAAK4hE,YAAY,GACpD5xD,OAAOogC,iBAAiB,QAASpwC,KAAK8hE,UAAU,GAChD9xD,OAAOogC,iBAAiB,WAAYpwC,KAAK6hE,aAAa,KAS1Dh2D,KAAM,WAEFmE,OAAOohC,oBAAoB,UAAWpxC,KAAK4hE,YAC3C5xD,OAAOohC,oBAAoB,QAASpxC,KAAK8hE,UACzC9xD,OAAOohC,oBAAoB,WAAYpxC,KAAK6hE,aAE5C7hE,KAAK4hE,WAAa,KAClB5hE,KAAK8hE,SAAW,KAChB9hE,KAAK6hE,YAAc,MAUvBr/D,QAAS,WAELxC,KAAK6L,OAEL7L,KAAK2iE,gBAEL3iE,KAAK0hE,MAAM/+D,OAAS,EACpB3C,KAAK4uC,GAAK,GAgBduzB,cAAe,SAAUtB,GAErB,GAAuB,iBAAZA,EAEP,IAAK,IAAIjuD,KAAOiuD,EAEZ7gE,KAAK2hE,SAASd,EAAQjuD,KAAQ,OAKlC5S,KAAK2hE,SAASd,IAAW,GAUjCyB,iBAAkB,SAAUzB,UAEjB7gE,KAAK2hE,SAASd,IASzB8B,cAAe,WAEX3iE,KAAK2hE,aASTh9B,OAAQ,WAIJ,IAFA3kC,KAAK4uC,GAAK5uC,KAAK0hE,MAAM/+D,OAEd3C,KAAK4uC,MAEJ5uC,KAAK0hE,MAAM1hE,KAAK4uC,KAEhB5uC,KAAK0hE,MAAM1hE,KAAK4uC,IAAIjK,UAahC08B,eAAgB,SAAUrxB,GAItB,GAFAhwC,KAAKgwC,MAAQA,EAERhwC,KAAK8C,KAAKkjC,MAAMia,SAAYjgD,KAAKigD,QAAtC,CAKA,IAAIrtC,EAAMo9B,EAAMgxB,QAGZhhE,KAAK2hE,SAAS/uD,IAEdo9B,EAAMsO,iBAGLt+C,KAAK0hE,MAAM9uD,KAEZ5S,KAAK0hE,MAAM9uD,GAAO,IAAIpR,EAAOo/D,IAAI5gE,KAAK8C,KAAM8P,IAGhD5S,KAAK0hE,MAAM9uD,GAAKyuD,eAAerxB,GAE/BhwC,KAAK+hE,GAAKnvD,EAEN5S,KAAK+4D,gBAEL/4D,KAAK+4D,eAAex0D,KAAKvE,KAAK6oC,gBAAiBmH,KAYvD0yB,gBAAiB,SAAU1yB,GAEvBhwC,KAAKwhE,WAAaxxB,EAEbhwC,KAAK8C,KAAKkjC,MAAMia,SAAYjgD,KAAKigD,SAKlCjgD,KAAKyhE,iBAELzhE,KAAKyhE,gBAAgBl9D,KAAKvE,KAAK6oC,gBAAiB+5B,OAAOC,aAAa7yB,EAAM8yB,UAAW9yB,IAY7FsxB,aAAc,SAAUtxB,GAIpB,GAFAhwC,KAAKgwC,MAAQA,EAERhwC,KAAK8C,KAAKkjC,MAAMia,SAAYjgD,KAAKigD,QAAtC,CAKA,IAAIrtC,EAAMo9B,EAAMgxB,QAEZhhE,KAAK2hE,SAAS/uD,IAEdo9B,EAAMsO,iBAGLt+C,KAAK0hE,MAAM9uD,KAEZ5S,KAAK0hE,MAAM9uD,GAAO,IAAIpR,EAAOo/D,IAAI5gE,KAAK8C,KAAM8P,IAGhD5S,KAAK0hE,MAAM9uD,GAAK0uD,aAAatxB,GAEzBhwC,KAAKg5D,cAELh5D,KAAKg5D,aAAaz0D,KAAKvE,KAAK6oC,gBAAiBmH,KAWrDpK,MAAO,SAAUwe,QAEA99C,IAAT89C,IAAsBA,GAAO,GAEjCpkD,KAAKgwC,MAAQ,KAIb,IAFA,IAAIttC,EAAI1C,KAAK0hE,MAAM/+D,OAEZD,KAEC1C,KAAK0hE,MAAMh/D,IAEX1C,KAAK0hE,MAAMh/D,GAAGkjC,MAAMwe,IAehC6P,aAAc,SAAU4M,EAASn+B,GAE7B,OAAI1iC,KAAK0hE,MAAMb,GAEJ7gE,KAAK0hE,MAAMb,GAAS5M,aAAavxB,GAIjC,MAcf6+B,WAAY,SAAUV,EAASn+B,GAE3B,OAAI1iC,KAAK0hE,MAAMb,GAEJ7gE,KAAK0hE,MAAMb,GAASU,WAAW7+B,GAI/B,MAKf8oB,YAAa,SAAUqV,GAEnB,OAAI7gE,KAAK0hE,MAAMb,GAEJ7gE,KAAK0hE,MAAMb,GAASrV,cAIpB,MAKfC,aAAc,SAAUoV,GAEpB,OAAI7gE,KAAK0hE,MAAMb,GAEJ7gE,KAAK0hE,MAAMb,GAASpV,eAIpB,MAYfb,OAAQ,SAAUiW,GAEd,OAAI7gE,KAAK0hE,MAAMb,GAEJ7gE,KAAK0hE,MAAMb,GAASjW,OAIpB,OAanBhkD,OAAOuF,eAAe3K,EAAO+hD,SAASjhD,UAAW,YAE7CwE,IAAK,WAED,OAAI9G,KAAKgwC,OAAiC,KAAxBhwC,KAAKgwC,MAAM8yB,SAElB,GAEF9iE,KAAKwhE,WAEHoB,OAAOC,aAAa7iE,KAAKwhE,WAAWsB,UAIpC,QAanBl8D,OAAOuF,eAAe3K,EAAO+hD,SAASjhD,UAAW,WAE7CwE,IAAK,WAED,OAAO9G,KAAK0hE,MAAM1hE,KAAK+hE,OAM/BvgE,EAAO+hD,SAASjhD,UAAUC,YAAcf,EAAO+hD,SAiB/C/hD,EAAOihE,SAEHM,EAAG,IAAIC,WAAW,GAElBC,EAAG,IAAID,WAAW,GAElBE,EAAG,IAAIF,WAAW,GAElBG,EAAG,IAAIH,WAAW,GAElBI,EAAG,IAAIJ,WAAW,GAElBzyC,EAAG,IAAIyyC,WAAW,GAElBK,EAAG,IAAIL,WAAW,GAElBM,EAAG,IAAIN,WAAW,GAElBO,EAAG,IAAIP,WAAW,GAElBQ,EAAG,IAAIR,WAAW,GAElBS,EAAG,IAAIT,WAAW,GAElBU,EAAG,IAAIV,WAAW,GAElBW,EAAG,IAAIX,WAAW,GAElBY,EAAG,IAAIZ,WAAW,GAElBa,EAAG,IAAIb,WAAW,GAElBc,EAAG,IAAId,WAAW,GAElBe,EAAG,IAAIf,WAAW,GAElBgB,EAAG,IAAIhB,WAAW,GAElBiB,EAAG,IAAIjB,WAAW,GAElBkB,EAAG,IAAIlB,WAAW,GAElBmB,EAAG,IAAInB,WAAW,GAElBoB,EAAG,IAAIpB,WAAW,GAElBqB,EAAG,IAAIrB,WAAW,GAElBsB,EAAG,IAAItB,WAAW,GAElBuB,EAAG,IAAIvB,WAAW,GAElBwB,EAAG,IAAIxB,WAAW,GAElByB,KAAM,IAAIzB,WAAW,GAErB9mD,IAAK,IAAI8mD,WAAW,GAEpB0B,IAAK,IAAI1B,WAAW,GAEpB2B,MAAO,IAAI3B,WAAW,GAEtB4B,KAAM,IAAI5B,WAAW,GAErB6B,KAAM,IAAI7B,WAAW,GAErB8B,IAAK,IAAI9B,WAAW,GAEpB+B,MAAO,IAAI/B,WAAW,GAEtBgC,MAAO,IAAIhC,WAAW,GAEtBiC,KAAM,IAAIjC,WAAW,GAErBkC,SAAU,GAEVC,SAAU,GAEVC,SAAU,GAEVC,SAAU,GAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,gBAAiB,IAEjBC,WAAY,IAEZC,aAAc,IAEdC,gBAAiB,IAEjBC,eAAgB,IAEhBC,cAAe,IAEfC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,MAAO,IAEPC,OAAQ,IAERC,MAAO,IAEPC,WAAY,IAEZC,OAAQ,IAERC,cAAe,IAEfC,MAAO,IAEPC,aAAc,IAEdC,eAAgB,IAEhBC,eAAgB,IAEhBC,OAAQ,IAERC,UAAW,EAEXC,IAAK,EAELC,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,QAAS,GAETC,IAAK,GAELC,UAAW,GAEXC,IAAK,GAELC,SAAU,GAEVC,QAAS,GAETC,UAAW,GAEXC,IAAK,GAELC,KAAM,GAENx8C,KAAM,GAENE,GAAI,GAEJD,MAAO,GAEPE,KAAM,GAENs8C,KAAM,GAENC,MAAO,GAEPC,OAAQ,GAERC,OAAQ,GAERC,KAAM,GAENC,SAAU,KAId,IAAK,IAAIn2D,KAAOpR,EAAOihE,QAEfjhE,EAAOihE,QAAQrxC,eAAexe,KAASA,EAAIo2D,MAAM,WAEjDxnE,EAAO+hD,SAAS3wC,GAAOpR,EAAOihE,QAAQ7vD,IAU9CpR,EAAOynE,UAAY,aAanBznE,EAAOynE,UAAUC,MAAQ,aAEzB1nE,EAAOynE,UAAUC,MAAM5mE,WAenBozB,OAEI5uB,IAAK,WAED,OAAOtF,EAAOiC,KAAK0lE,UAAU3nE,EAAOiC,KAAKq5B,SAAS98B,KAAKgB,YAI3D+F,IAAK,SAASC,GAEVhH,KAAKgB,SAAWQ,EAAOiC,KAAK8yB,SAAS/0B,EAAOiC,KAAK0lE,UAAUniE,OAmBvExF,EAAOynE,UAAUG,UAAY,aAE7B5nE,EAAOynE,UAAUG,UAAU9mE,WAiBvB+mE,KAAM,SAAUx3C,EAAMy3C,EAAWC,EAAMC,GAEnC,GAAIxpE,KAAKypE,WAEL,OAAOzpE,KAAKypE,WAAWJ,KAAKx3C,EAAMy3C,EAAWC,EAAMC,KAmB/DhoE,EAAOynE,UAAUS,SAAW,aAE5BloE,EAAOynE,UAAUS,SAASpnE,WAatBqnE,UAAU,EASVC,UAEI9iE,IAAK,WASD,OAPK9G,KAAK2pE,UAAa3pE,KAAK6pE,mBAExB7pE,KAAKgC,QAAQmzB,SAASn1B,KAAK4J,aAC3B5J,KAAKgC,QAAQ8B,GAAK9D,KAAK8C,KAAK2X,OAAO7D,KAAK9S,EACxC9D,KAAKgC,QAAQ+B,GAAK/D,KAAK8C,KAAK2X,OAAO7D,KAAK7S,GAGrC/D,KAAK8C,KAAKE,MAAMyX,OAAO7D,KAAK0f,WAAWt2B,KAAKgC,YAmB/DR,EAAOynE,UAAUa,OAAS,aAE1BtoE,EAAOynE,UAAUa,OAAOxnE,WAUpBgiB,SAEIxd,IAAK,WAED,OAAO9G,KAAK0G,OAAO5C,EAAI9D,KAAKpC,QAcpC2mB,SAEIzd,IAAK,WAED,OAAO9G,KAAK0G,OAAO3C,EAAI/D,KAAKnC,SAYpCs6B,SAEIrxB,IAAK,WAED,OAAQ9G,KAAK8D,EAAI9D,KAAKskB,QAAyB,GAAbtkB,KAAKpC,OAI3CmJ,IAAK,SAAUC,GAEXhH,KAAK8D,EAAKkD,EAAQhH,KAAKskB,QAAyB,GAAbtkB,KAAKpC,QAYhDw6B,SAEItxB,IAAK,WAED,OAAQ9G,KAAK+D,EAAI/D,KAAKukB,QAA0B,GAAdvkB,KAAKnC,QAI3CkJ,IAAK,SAAUC,GAEXhH,KAAK+D,EAAKiD,EAAQhH,KAAKukB,QAA0B,GAAdvkB,KAAKnC,SAYhD21B,MAEI1sB,IAAK,WAED,OAAO9G,KAAK8D,EAAI9D,KAAKskB,SAIzBvd,IAAK,SAAUC,GAEXhH,KAAK8D,EAAIkD,EAAQhH,KAAKskB,UAY9BiP,OAEIzsB,IAAK,WAED,OAAQ9G,KAAK8D,EAAI9D,KAAKpC,MAASoC,KAAKskB,SAIxCvd,IAAK,SAAUC,GAEXhH,KAAK8D,EAAIkD,EAAShH,KAAU,MAAIA,KAAKskB,UAY7C6R,KAEIrvB,IAAK,WAED,OAAO9G,KAAK+D,EAAI/D,KAAKukB,SAIzBxd,IAAK,SAAUC,GAEXhH,KAAK+D,EAAIiD,EAAQhH,KAAKukB,UAY9B6R,QAEItvB,IAAK,WAED,OAAQ9G,KAAK+D,EAAI/D,KAAKnC,OAAUmC,KAAKukB,SAIzCxd,IAAK,SAAUC,GAEXhH,KAAK+D,EAAIiD,EAAShH,KAAW,OAAIA,KAAKukB,UA6C9CkwB,QAAS,SAAUs1B,EAAWnpE,EAAU0jB,EAASC,GAK7C,YAHgBje,IAAZge,IAAyBA,EAAU,QACvBhe,IAAZie,IAAyBA,EAAU,GAE/B3jB,GAEJ,QACA,KAAKY,EAAOutB,SACR/uB,KAAKwzB,KAAOu2C,EAAUv2C,KAAOlP,EAC7BtkB,KAAKm2B,IAAM4zC,EAAU5zC,IAAM5R,EAC3B,MAEJ,KAAK/iB,EAAOwtB,WACRhvB,KAAKm4B,QAAU4xC,EAAU5xC,QAAU7T,EACnCtkB,KAAKm2B,IAAM4zC,EAAU5zC,IAAM5R,EAC3B,MAEJ,KAAK/iB,EAAOytB,UACRjvB,KAAKuzB,MAAQw2C,EAAUx2C,MAAQjP,EAC/BtkB,KAAKm2B,IAAM4zC,EAAU5zC,IAAM5R,EAC3B,MAEJ,KAAK/iB,EAAO2tB,YACRnvB,KAAKwzB,KAAOu2C,EAAUv2C,KAAOlP,EAC7BtkB,KAAKo4B,QAAU2xC,EAAU3xC,QAAU7T,EACnC,MAEJ,KAAK/iB,EAAO6tB,OACRrvB,KAAKm4B,QAAU4xC,EAAU5xC,QAAU7T,EACnCtkB,KAAKo4B,QAAU2xC,EAAU3xC,QAAU7T,EACnC,MAEJ,KAAK/iB,EAAO+tB,aACRvvB,KAAKuzB,MAAQw2C,EAAUx2C,MAAQjP,EAC/BtkB,KAAKo4B,QAAU2xC,EAAU3xC,QAAU7T,EACnC,MAEJ,KAAK/iB,EAAOiuB,YACRzvB,KAAKwzB,KAAOu2C,EAAUv2C,KAAOlP,EAC7BtkB,KAAKo2B,OAAS2zC,EAAU3zC,OAAS7R,EACjC,MAEJ,KAAK/iB,EAAOkuB,cACR1vB,KAAKm4B,QAAU4xC,EAAU5xC,QAAU7T,EACnCtkB,KAAKo2B,OAAS2zC,EAAU3zC,OAAS7R,EACjC,MAEJ,KAAK/iB,EAAOmuB,aACR3vB,KAAKuzB,MAAQw2C,EAAUx2C,MAAQjP,EAC/BtkB,KAAKo2B,OAAS2zC,EAAU3zC,OAAS7R,EAIzC,OAAOvkB,MA4CXgqE,QAAS,SAAU3oE,EAAQT,EAAU0jB,EAASC,GAK1C,YAHgBje,IAAZge,IAAyBA,EAAU,QACvBhe,IAAZie,IAAyBA,EAAU,GAE/B3jB,GAEJ,QACA,KAAKY,EAAOutB,SACR/uB,KAAKwzB,KAAOnyB,EAAOmyB,KAAOlP,EAC1BtkB,KAAKo2B,OAAS/0B,EAAO80B,IAAM5R,EAC3B,MAEJ,KAAK/iB,EAAOwtB,WACRhvB,KAAKm4B,QAAU92B,EAAO82B,QAAU7T,EAChCtkB,KAAKo2B,OAAS/0B,EAAO80B,IAAM5R,EAC3B,MAEJ,KAAK/iB,EAAOytB,UACRjvB,KAAKuzB,MAAQlyB,EAAOkyB,MAAQjP,EAC5BtkB,KAAKo2B,OAAS/0B,EAAO80B,IAAM5R,EAC3B,MAEJ,KAAK/iB,EAAO0tB,SACRlvB,KAAKuzB,MAAQlyB,EAAOmyB,KAAOlP,EAC3BtkB,KAAKm2B,IAAM90B,EAAO80B,IAAM5R,EACxB,MAEJ,KAAK/iB,EAAO2tB,YACRnvB,KAAKuzB,MAAQlyB,EAAOmyB,KAAOlP,EAC3BtkB,KAAKo4B,QAAU/2B,EAAO+2B,QAAU7T,EAChC,MAEJ,KAAK/iB,EAAO4tB,YACRpvB,KAAKuzB,MAAQlyB,EAAOmyB,KAAOlP,EAC3BtkB,KAAKo2B,OAAS/0B,EAAO+0B,OAAS7R,EAC9B,MAEJ,KAAK/iB,EAAO8tB,UACRtvB,KAAKwzB,KAAOnyB,EAAOkyB,MAAQjP,EAC3BtkB,KAAKm2B,IAAM90B,EAAO80B,IAAM5R,EACxB,MAEJ,KAAK/iB,EAAO+tB,aACRvvB,KAAKwzB,KAAOnyB,EAAOkyB,MAAQjP,EAC3BtkB,KAAKo4B,QAAU/2B,EAAO+2B,QAAU7T,EAChC,MAEJ,KAAK/iB,EAAOguB,aACRxvB,KAAKwzB,KAAOnyB,EAAOkyB,MAAQjP,EAC3BtkB,KAAKo2B,OAAS/0B,EAAO+0B,OAAS7R,EAC9B,MAEJ,KAAK/iB,EAAOiuB,YACRzvB,KAAKwzB,KAAOnyB,EAAOmyB,KAAOlP,EAC1BtkB,KAAKm2B,IAAM90B,EAAO+0B,OAAS7R,EAC3B,MAEJ,KAAK/iB,EAAOkuB,cACR1vB,KAAKm4B,QAAU92B,EAAO82B,QAAU7T,EAChCtkB,KAAKm2B,IAAM90B,EAAO+0B,OAAS7R,EAC3B,MAEJ,KAAK/iB,EAAOmuB,aACR3vB,KAAKuzB,MAAQlyB,EAAOkyB,MAAQjP,EAC5BtkB,KAAKm2B,IAAM90B,EAAO+0B,OAAS7R,EAInC,OAAOvkB,OAQfwB,EAAOiwC,MAAMnvC,UAAUmyC,QAAUjzC,EAAOynE,UAAUa,OAAOxnE,UAAUmyC,QACnEjzC,EAAOiwC,MAAMnvC,UAAU0nE,QAAUxoE,EAAOynE,UAAUa,OAAOxnE,UAAU0nE,QAanExoE,EAAOynE,UAAUgB,WAAa,aAY9BzoE,EAAOynE,UAAUgB,WAAW3nE,UAAUyyC,WAAa,WAO/C,OALI/0C,KAAKqB,QAELrB,KAAKqB,OAAO0zC,WAAW/0C,MAGpBA,MAcXwB,EAAOynE,UAAUgB,WAAW3nE,UAAU2yC,WAAa,WAO/C,OALIj1C,KAAKqB,QAELrB,KAAKqB,OAAO4zC,WAAWj1C,MAGpBA,MAcXwB,EAAOynE,UAAUgB,WAAW3nE,UAAU4yC,OAAS,WAO3C,OALIl1C,KAAKqB,QAELrB,KAAKqB,OAAO6zC,OAAOl1C,MAGhBA,MAcXwB,EAAOynE,UAAUgB,WAAW3nE,UAAU6yC,SAAW,WAO7C,OALIn1C,KAAKqB,QAELrB,KAAKqB,OAAO8zC,SAASn1C,MAGlBA,MAeXwB,EAAOynE,UAAUiB,KAAO,aAOxB1oE,EAAOynE,UAAUiB,KAAKC,gBAAiB,EAUvC3oE,EAAOynE,UAAUiB,KAAKE,QAAU,SAAUC,GAGtC7oE,EAAO+vB,MAAM0C,eAAej0B,KAAMwB,EAAOynE,UAAUiB,KAAK5nE,WAExDtC,KAAKqqE,cAEL,IAAK,IAAI3nE,EAAI,EAAGA,EAAI2nE,EAAW1nE,OAAQD,IACvC,CACI,IAAIoR,EAAKu2D,EAAW3nE,GAChByxB,GAAU,EAEH,YAAPrgB,IAEAqgB,GAAU,GAGd3yB,EAAO+vB,MAAM0C,eAAej0B,KAAMwB,EAAOynE,UAAUn1D,GAAIxR,UAAW6xB,GAElEn0B,KAAKqqE,WAAWv2D,IAAM,IAa9BtS,EAAOynE,UAAUiB,KAAK54D,KAAO,SAAUxO,EAAMgB,EAAGC,EAAG6O,EAAK5F,GAEpD,IAAKxL,EAAOynE,UAAUiB,KAAKC,eAC3B,CACI,KAAMrnE,aAAgBtB,EAAOg5C,MAEzB,MAAM,IAAI7xC,MAAM,4CAA8C7F,EAAO,wCAGxD,iBAANgB,IAEPxD,QAAQ0Z,KAAK,kDAAmDlW,GAChEA,EAAI,GAGS,iBAANC,IAEPzD,QAAQ0Z,KAAK,kDAAmDjW,GAChEA,EAAI,GAIZ/D,KAAK8C,KAAOA,EACZ9C,KAAK4S,IAAMA,EACX5S,KAAKgU,QAELhU,KAAKY,SAASmG,IAAIjD,EAAGC,GACrB/D,KAAKgD,MAAQ,IAAIxB,EAAOX,MAAMiD,EAAGC,GACjC/D,KAAKsqE,iBAAmB,IAAI9oE,EAAOX,MAAMiD,EAAGC,GAE5C/D,KAAK2zC,OAAS,IAAInyC,EAAO+oE,OAAOvqE,MAEhCA,KAAKgC,QAAU,IAAIR,EAAOS,UAEtBjC,KAAKqqE,WAAWG,cAGhBxqE,KAAKsxC,KAAOtxC,KAAKsxC,MAGjBtxC,KAAKqqE,WAAWjB,YAEhBppE,KAAKypE,WAAa,IAAIjoE,EAAOipE,iBAAiBzqE,OAG9CA,KAAKqqE,WAAWK,aAAuB,OAAR93D,GAE/B5S,KAAKw4C,YAAY5lC,EAAK5F,GAGtBhN,KAAKqqE,WAAWM,gBAEhB3qE,KAAKgzC,aAAe,IAAIxxC,EAAOX,MAAMiD,EAAGC,KAKhDvC,EAAOynE,UAAUiB,KAAKzlE,UAAY,WAE9B,OAAIzE,KAAKkyC,gBAELlyC,KAAKwC,WACE,IAGXxC,KAAKsqE,iBAAiBvjE,IAAI/G,KAAKgD,MAAMc,EAAG9D,KAAKgD,MAAMe,GACnD/D,KAAK4qE,iBAAmB5qE,KAAKgB,SAExBhB,KAAK6M,QAAW7M,KAAKqB,OAAOwL,QAMjC7M,KAAKgD,MAAMkyB,MAAMl1B,KAAK8C,KAAK2X,OAAO3W,EAAI9D,KAAKuB,eAAe8B,GAAIrD,KAAK8C,KAAK2X,OAAO1W,EAAI/D,KAAKuB,eAAe+B,IAEnGtD,KAAKkB,UAELlB,KAAKq3C,cAAgBr3C,KAAK8C,KAAKmX,MAAMg1B,wBAGrCjvC,KAAKypE,YAELzpE,KAAKypE,WAAW9kC,SAGhB3kC,KAAKsxC,MAELtxC,KAAKsxC,KAAK7sC,YAGdzE,KAAK6qE,qBAEE,IAvBH7qE,KAAKq3C,eAAiB,GACf,KA0Bf71C,EAAOynE,UAAUiB,KAAK5nE,WAMlBQ,KAAM,KAQN+uB,KAAM,GAUN7d,QAOAq2D,cAUAr1D,EAAG,EAQH2+B,YAAQrtC,EAQRmjE,gBAAYnjE,EAUZsM,IAAK,GAQL5P,MAAO,KAOP0mC,OAAO,EAOP4gC,iBAAkB,KAOlBM,iBAAkB,EAQlBvzB,cAAe,EAQfyzB,OAAO,EAWP54B,gBAAgB,EAMhBlwC,QAAS,KAMT+oE,SAAS,EAaTl+D,QAEI/F,IAAK,WAED,OAAO9G,KAAK+qE,SAIhBhkE,IAAK,SAAUC,GAEPA,GAEAhH,KAAK+qE,SAAU,EAEX/qE,KAAKsxC,MAAQtxC,KAAKsxC,KAAKl+B,OAAS5R,EAAOqwC,QAAQm5B,MAE/ChrE,KAAKsxC,KAAKxD,aAGd9tC,KAAKkB,SAAU,IAIflB,KAAK+qE,SAAU,EAEX/qE,KAAKsxC,MAAQtxC,KAAKsxC,KAAKl+B,OAAS5R,EAAOqwC,QAAQm5B,MAE/ChrE,KAAKsxC,KAAK25B,kBAGdjrE,KAAKkB,SAAU,KAa3B2pE,kBAAmB,WAKf,IAFA,IAAInoE,EAAI,EAEDA,EAAI1C,KAAKyC,SAASE,QACzB,CACI,IAAI2F,EAAQtI,KAAKyC,SAASC,GAE1B4F,EAAM7D,YAEFzE,OAASsI,EAAMjH,QAEfqB,MAaZiiC,OAAQ,aAURmK,WAAY,WAEJ9uC,KAAKkrE,cAELlrE,KAAK4S,IAAI1N,SAGTlF,KAAKqqE,WAAWG,aAEhBhpE,EAAOynE,UAAUuB,YAAY17B,WAAWvqC,KAAKvE,MAG7CA,KAAKqqE,WAAWM,eAEhBnpE,EAAOynE,UAAU0B,cAAc77B,WAAWvqC,KAAKvE,MAGnD,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGosC,eAmB7BttC,EAAOynE,UAAUkC,KAAO,aAExB3pE,EAAOynE,UAAUkC,KAAK7oE,WASlB8oE,SAAU,KAMVC,MAAO,KAmBP99D,KAAM,SAAUmtB,EAAM7G,QAELvtB,IAATutB,IAAsBA,GAAO,GAE7B6G,GAEI7G,GAA0B,OAAlB7zB,KAAKorE,SAEbprE,KAAKorE,SAASl2C,MAAMwF,EAAK52B,EAAG42B,EAAK32B,EAAG22B,EAAK98B,MAAO88B,EAAK78B,QAEhDg2B,GAA0B,OAAlB7zB,KAAKorE,SAElBprE,KAAKorE,SAAW,IAAI5pE,EAAOS,UAAUy4B,EAAK52B,EAAG42B,EAAK32B,EAAG22B,EAAK98B,MAAO88B,EAAK78B,QAItEmC,KAAKorE,SAAW1wC,EAGpB16B,KAAKsrE,eAILtrE,KAAKqrE,MAAQ,KACbrrE,KAAKorE,SAAW,KAEhBprE,KAAKurE,eAWbD,WAAY,WAER,GAAKtrE,KAAKorE,SAAV,CAKA,IAAII,EAAOxrE,KAAKjC,QAAQwP,KAAKzJ,EACzB2nE,EAAOzrE,KAAKjC,QAAQwP,KAAKxJ,EACzB2nE,EAAO1rE,KAAKjC,QAAQwP,KAAK3P,MACzB+tE,EAAO3rE,KAAKjC,QAAQwP,KAAK1P,OAE7BmC,KAAKqrE,MAAQ7pE,EAAOS,UAAU8xB,MAAM/zB,KAAKorE,SAAUprE,KAAKqrE,OACxDrrE,KAAKqrE,MAAMvnE,GAAK9D,KAAK4rE,OAAO9nE,EAC5B9D,KAAKqrE,MAAMtnE,GAAK/D,KAAK4rE,OAAO7nE,EAE5B,IAAI8K,EAAKpL,KAAKuC,IAAIhG,KAAK4rE,OAAO9nE,EAAG9D,KAAKqrE,MAAMvnE,GACxCgL,EAAKrL,KAAKuC,IAAIhG,KAAK4rE,OAAO7nE,EAAG/D,KAAKqrE,MAAMtnE,GACxCoK,EAAK1K,KAAK21B,IAAIp5B,KAAK4rE,OAAOr4C,MAAOvzB,KAAKqrE,MAAM93C,OAAS1kB,EACrDT,EAAK3K,KAAK21B,IAAIp5B,KAAK4rE,OAAOx1C,OAAQp2B,KAAKqrE,MAAMj1C,QAAUtnB,EAE3D9O,KAAKjC,QAAQwP,KAAKzJ,EAAI+K,EACtB7O,KAAKjC,QAAQwP,KAAKxJ,EAAI+K,EACtB9O,KAAKjC,QAAQwP,KAAK3P,MAAQuQ,EAC1BnO,KAAKjC,QAAQwP,KAAK1P,OAASuQ,EAE3BpO,KAAKjC,QAAQiP,MAAMpP,MAAQ6F,KAAK21B,IAAIjrB,EAAInO,KAAKorE,SAASxtE,OACtDoC,KAAKjC,QAAQiP,MAAMnP,OAAS4F,KAAK21B,IAAIhrB,EAAIpO,KAAKorE,SAASvtE,QAEvDmC,KAAKjC,QAAQH,MAAQoC,KAAKjC,QAAQiP,MAAMpP,MACxCoC,KAAKjC,QAAQF,OAASmC,KAAKjC,QAAQiP,MAAMnP,OAEzCmC,KAAKjC,QAAQ+sB,aAEK,WAAd9qB,KAAKyM,MAAsB++D,IAAS38D,GAAM48D,IAAS38D,GAAM48D,IAASv9D,GAAMw9D,IAASv9D,IAEjFpO,KAAKjC,QAAQ0Q,gBAAiB,MAkB1CjN,EAAOynE,UAAU4C,MAAQ,aAEzBrqE,EAAOynE,UAAU4C,MAAMvpE,WAUnBinD,QAEIziD,IAAK,WAED,OAAO9G,KAAKgD,MAAMc,EAAI9D,KAAKsqE,iBAAiBxmE,IAcpDukD,QAEIvhD,IAAK,WAED,OAAO9G,KAAKgD,MAAMe,EAAI/D,KAAKsqE,iBAAiBvmE,IAYpD0lD,QAEI3iD,IAAK,WAED,OAAO9G,KAAKgB,SAAWhB,KAAK4qE,oBAmBxCppE,EAAOynE,UAAU6C,QAAU,aAE3BtqE,EAAOynE,UAAU6C,QAAQxpE,WAQrBk3C,cAAc,EAedh3C,QAAS,SAAUu3C,EAAiBJ,GAEhC,GAAkB,OAAd35C,KAAK8C,OAAiB9C,KAAKw5C,aAA/B,MAEwBlzC,IAApByzC,IAAiCA,GAAkB,QAChCzzC,IAAnBqzC,IAAgCA,GAAiB,GAErD35C,KAAKw5C,cAAe,EAEhBx5C,KAAK2zC,QAEL3zC,KAAK2zC,OAAOo4B,mBAAmB/rE,MAG/BA,KAAKqB,SAEDrB,KAAKqB,kBAAkBG,EAAOiwC,MAE9BzxC,KAAKqB,OAAO0a,OAAO/b,MAInBA,KAAKqB,OAAOoH,YAAYzI,OAI5BA,KAAKgmC,OAELhmC,KAAKgmC,MAAMxjC,UAGXxC,KAAKypE,YAELzpE,KAAKypE,WAAWjnE,UAGhBxC,KAAKsxC,MAELtxC,KAAKsxC,KAAK9uC,UAGVxC,KAAK2zC,QAEL3zC,KAAK2zC,OAAOnxC,UAGhBxC,KAAK8C,KAAKsjC,OAAO4lC,WAAWhsE,MAE5B,IAAI0C,EAAI1C,KAAKyC,SAASE,OAEtB,GAAIo3C,EAEA,KAAOr3C,KAEH1C,KAAKyC,SAASC,GAAGF,QAAQu3C,QAK7B,KAAOr3C,KAEH1C,KAAKyI,YAAYzI,KAAKyC,SAASC,IAInC1C,KAAKqrE,QAELrrE,KAAKqrE,MAAQ,KACbrrE,KAAKorE,SAAW,MAGhBprE,KAAK4rE,SAEL5rE,KAAK4rE,OAAS,MAGdpqE,EAAOyqE,OAASjsE,KAAK4S,eAAepR,EAAOyqE,OAE3CjsE,KAAK4S,IAAIs5D,eAAenwD,OAAO/b,KAAKmsE,YAAansE,MAGjDwB,EAAO4qE,YAAcpsE,KAAKqsE,UAE1BrsE,KAAKqsE,YAGTrsE,KAAKgyC,OAAQ,EACbhyC,KAAK6M,QAAS,EACd7M,KAAKkB,SAAU,EAEflB,KAAKyG,QAAU,KACfzG,KAAKmH,KAAO,KACZnH,KAAK8C,KAAO,KAEZ9C,KAAKgU,QAGLhU,KAAKoB,YAAa,EAEdpB,KAAKsE,oBAELtE,KAAKsE,kBAAoB,KACzBtE,KAAKwE,yBAA2B,MAIpCxE,KAAKmB,QAAU,KACfnB,KAAKqB,OAAS,KACdrB,KAAKia,MAAQ,KACbja,KAAKuB,eAAiB,KACtBvB,KAAK6B,WAAa,KAClB7B,KAAKgC,QAAU,KACfhC,KAAKkC,eAAiB,KACtBlC,KAAKmC,MAAQ,KAEbnC,KAAK4C,uBAGD+2C,GAEA35C,KAAKjC,QAAQyE,SAAQ,GAGzBxC,KAAKw5C,cAAe,EACpBx5C,KAAKkyC,gBAAiB,KAmC9B1wC,EAAO+oE,OAAS,SAAUrnD,GAKtBljB,KAAKqB,OAAS6hB,GAMlB1hB,EAAO+oE,OAAOjoE,WAOVE,QAAS,WAELxC,KAAKssE,QAAU,KAEXtsE,KAAKusE,YAAwBvsE,KAAKusE,WAAWxgC,UAC7C/rC,KAAKwsE,iBAAwBxsE,KAAKwsE,gBAAgBzgC,UAClD/rC,KAAKysE,qBAAwBzsE,KAAKysE,oBAAoB1gC,UACtD/rC,KAAK0sE,WAAwB1sE,KAAK0sE,UAAU3gC,UAC5C/rC,KAAK2sE,YAAwB3sE,KAAK2sE,WAAW5gC,UAC7C/rC,KAAK4sE,gBAAwB5sE,KAAK4sE,eAAe7gC,UACjD/rC,KAAK6sE,gBAAwB7sE,KAAK6sE,eAAe9gC,UAEjD/rC,KAAK8sE,cAAwB9sE,KAAK8sE,aAAa/gC,UAC/C/rC,KAAK+sE,aAAwB/sE,KAAK+sE,YAAYhhC,UAC9C/rC,KAAKgtE,cAAwBhtE,KAAKgtE,aAAajhC,UAC/C/rC,KAAKitE,YAAwBjtE,KAAKitE,WAAWlhC,UAC7C/rC,KAAKktE,cAAwBltE,KAAKktE,aAAanhC,UAC/C/rC,KAAKmtE,eAAwBntE,KAAKmtE,cAAcphC,UAChD/rC,KAAKotE,aAAwBptE,KAAKotE,YAAYrhC,UAE9C/rC,KAAKqtE,mBAAwBrtE,KAAKqtE,kBAAkBthC,UACpD/rC,KAAKstE,sBAAwBttE,KAAKstE,qBAAqBvhC,UACvD/rC,KAAKutE,kBAAwBvtE,KAAKutE,iBAAiBxhC,WAe3DmoB,eAAgB,KAWhBE,mBAAoB,KAWpBvhB,UAAW,KAYX26B,SAAU,KAWVC,UAAW,KAWXC,cAAe,KAWfC,cAAe,KAYfC,YAAa,KAYbC,WAAY,KAaZC,YAAa,KAcbC,UAAW,KAeXC,YAAa,KAiBbvX,aAAc,KAYdwX,WAAY,KAaZC,iBAAkB,KAalBC,oBAAqB,KAarBC,gBAAiB,MAIrB5sE,EAAO+oE,OAAOjoE,UAAUC,YAAcf,EAAO+oE,OAK7C,IAAK,IAAInhB,KAAQ5nD,EAAO+oE,OAAOjoE,UAEtBd,EAAO+oE,OAAOjoE,UAAU8uB,eAAeg4B,IACjB,IAAvBA,EAAKngD,QAAQ,OACqB,OAAlCzH,EAAO+oE,OAAOjoE,UAAU8mD,IAK5B,SAAWA,EAAMilB,GACb,aAGAznE,OAAOuF,eAAe3K,EAAO+oE,OAAOjoE,UAAW8mD,GAC3CtiD,IAAK,WACD,OAAO9G,KAAKquE,KAAaruE,KAAKquE,GAAW,IAAI7sE,EAAO0gC,WAK5D1gC,EAAO+oE,OAAOjoE,UAAU8mD,EAAO,aAAe,WAC1C,OAAOppD,KAAKquE,GAAWruE,KAAKquE,GAASppC,SAAS3/B,MAAMtF,KAAKquE,GAAUh+C,WAAa,MAZxF,CAeG+4B,EAAM,IAAMA,GAgBnB5nD,EAAOynE,UAAU0B,cAAgB,aAQjCnpE,EAAOynE,UAAU0B,cAAc77B,WAAa,WAEpC9uC,KAAK+yC,gBAEL/yC,KAAKY,SAASkD,GAAK9D,KAAK8C,KAAK2X,OAAO7D,KAAK9S,EAAI9D,KAAKgzC,aAAalvC,GAAK9D,KAAK8C,KAAK2X,OAAO3Z,MAAMgD,EAC3F9D,KAAKY,SAASmD,GAAK/D,KAAK8C,KAAK2X,OAAO7D,KAAK7S,EAAI/D,KAAKgzC,aAAajvC,GAAK/D,KAAK8C,KAAK2X,OAAO3Z,MAAMiD,IAKnGvC,EAAOynE,UAAU0B,cAAcroE,WAM3BgsE,gBAAgB,EAkBhBv7B,eAEIjsC,IAAK,WAED,OAAO9G,KAAKsuE,gBAIhBvnE,IAAK,SAAUC,GAEPA,GAEAhH,KAAKsuE,gBAAiB,EACtBtuE,KAAKgzC,aAAajsC,IAAI/G,KAAK8D,EAAG9D,KAAK+D,IAInC/D,KAAKsuE,gBAAiB,IAalCt7B,aAAc,IAAIxxC,EAAOX,OAiB7BW,EAAOynE,UAAUsF,OAAS,aAE1B/sE,EAAOynE,UAAUsF,OAAOjsE,WAUpBksE,OAAQ,EASRC,UAAW,IAWXC,OAAQ,SAAUv4B,GAYd,OAVIn2C,KAAKgyC,QAELhyC,KAAKwuE,QAAUr4B,EAEXn2C,KAAKwuE,QAAU,GAEfxuE,KAAKu2C,QAINv2C,MAYX2uE,UAAW,SAAUx4B,GASjB,OAPAn2C,KAAKwuE,OAASr4B,EAEVn2C,KAAKwuE,OAASxuE,KAAKyuE,YAEnBzuE,KAAKwuE,OAASxuE,KAAKyuE,WAGhBzuE,MAWX4uE,KAAM,SAAUz4B,GAYZ,OAVIn2C,KAAKgyC,QAELhyC,KAAKwuE,QAAUr4B,EAEXn2C,KAAKwuE,OAASxuE,KAAKyuE,YAEnBzuE,KAAKwuE,OAASxuE,KAAKyuE,YAIpBzuE,OAiBfwB,EAAOynE,UAAU4F,SAAW,aAE5BrtE,EAAOynE,UAAU4F,SAASvsE,WAYtBsnE,UAEI9iE,IAAK,WAED,OAAO9G,KAAK8C,KAAKE,MAAMyX,OAAO7D,KAAK0f,WAAWt2B,KAAKgC,YAmB/DR,EAAOynE,UAAU6F,aAAe,aAEhCttE,EAAOynE,UAAU6F,aAAaxsE,WAU1B0jC,MAAO,KAkBP0N,cAEI5sC,IAAK,WAED,OAAQ9G,KAAKgmC,OAAShmC,KAAKgmC,MAAMia,SAIrCl5C,IAAK,SAAUC,GAEPA,EAEmB,OAAfhH,KAAKgmC,OAELhmC,KAAKgmC,MAAQ,IAAIxkC,EAAOgwD,aAAaxxD,MACrCA,KAAKgmC,MAAMh6B,SAENhM,KAAKgmC,QAAUhmC,KAAKgmC,MAAMia,SAE/BjgD,KAAKgmC,MAAMh6B,QAKXhM,KAAKgmC,OAAShmC,KAAKgmC,MAAMia,SAEzBjgD,KAAKgmC,MAAMn6B,UAuB/BrK,EAAOynE,UAAU8F,QAAU,aAQ3BvtE,EAAOynE,UAAU8F,QAAQtqE,UAAY,WAEjC,GAAIzE,KAAKkyC,eAGL,OADAlyC,KAAKwC,WACE,EAIX,GAAIxC,KAAK2pE,UAAY3pE,KAAK6pE,iBAC1B,CAMI,GALA7pE,KAAKgC,QAAQmzB,SAASn1B,KAAK4J,aAE3B5J,KAAKgC,QAAQ8B,GAAK9D,KAAK8C,KAAK2X,OAAO7D,KAAK9S,EACxC9D,KAAKgC,QAAQ+B,GAAK/D,KAAK8C,KAAK2X,OAAO7D,KAAK7S,EAEpC/D,KAAK2pE,SAGL,GAAI3pE,KAAK8C,KAAKE,MAAMyX,OAAO7D,KAAK0f,WAAWt2B,KAAKgC,SAE5ChC,KAAKoB,YAAa,EAClBpB,KAAK8C,KAAKE,MAAMyX,OAAOsnB,mBAMvB,GAFA/hC,KAAKoB,YAAa,EAEdpB,KAAKgvE,sBAGL,OADAhvE,KAAKu2C,QACE,EAKnB,GAAIv2C,KAAK6pE,iBAGL,GAAI7pE,KAAKivE,mBAAqBjvE,KAAK8C,KAAKE,MAAM6B,OAAOyxB,WAAWt2B,KAAKgC,SAEjEhC,KAAKivE,mBAAoB,EACzBjvE,KAAK2zC,OAAOu7B,uBAAuBlvE,WAElC,IAAKA,KAAKivE,oBAAsBjvE,KAAK8C,KAAKE,MAAM6B,OAAOyxB,WAAWt2B,KAAKgC,WAGxEhC,KAAKivE,mBAAoB,EACzBjvE,KAAK2zC,OAAOw7B,uBAAuBnvE,MAE/BA,KAAKovE,iBAGL,OADApvE,KAAKu2C,QACE,EAMvB,OAAO,GAIX/0C,EAAOynE,UAAU8F,QAAQzsE,WAmBrBunE,kBAAkB,EAQlBuF,iBAAiB,EASjBJ,uBAAuB,EAMvBC,mBAAmB,EAQnBI,SAEIvoE,IAAK,WAED,OAAO9G,KAAK8C,KAAKE,MAAM6B,OAAOyxB,WAAWt2B,KAAK4J,gBAmB1DpI,EAAOynE,UAAUqG,SAAW,aAQ5B9tE,EAAOynE,UAAUqG,SAAS7qE,UAAY,WAElC,OAAIzE,KAAKkyC,gBAELlyC,KAAKwC,WACE,KAGPxC,KAAKuvE,SAAW,IAEhBvvE,KAAKuvE,UAAYvvE,KAAK8C,KAAKiiC,KAAKyqC,iBAE5BxvE,KAAKuvE,UAAY,MAEjBvvE,KAAKu2C,QACE,IAQnB/0C,EAAOynE,UAAUqG,SAAShtE,WAatB0vC,OAAO,EAePu9B,SAAU,EAaV74B,OAAQ,SAAU83B,GAkBd,YAhBeloE,IAAXkoE,IAAwBA,EAAS,KAErCxuE,KAAKgyC,OAAQ,EACbhyC,KAAK6M,QAAS,EACd7M,KAAKkB,SAAU,EAEe,mBAAnBlB,KAAK2uE,WAEZ3uE,KAAK2uE,UAAUH,GAGfxuE,KAAK2zC,QAEL3zC,KAAK2zC,OAAO87B,mBAAmBzvE,MAG5BA,MAiBXu2C,KAAM,WAWF,OATAv2C,KAAKgyC,OAAQ,EACbhyC,KAAK6M,QAAS,EACd7M,KAAKkB,SAAU,EAEXlB,KAAK2zC,QAEL3zC,KAAK2zC,OAAO+7B,kBAAkB1vE,MAG3BA,OAiBfwB,EAAOynE,UAAUyB,YAAc,aAE/BlpE,EAAOynE,UAAUyB,YAAYpoE,WAMzB4oE,cAAc,EAMdU,OAAQ,KAyBRpzB,YAAa,SAAU5lC,EAAK5F,EAAO2iE,GAE3B/8D,IAAQpR,EAAO0sB,eAEftb,EAAM5F,EACNA,EAAQ,GAIRA,EAAQA,GAAS,GAGhB2iE,QAAmCrpE,IAAlBqpE,IAAgC3vE,KAAKypE,YAEvDzpE,KAAKypE,WAAW59D,OAGpB7L,KAAK4S,IAAMA,EACX5S,KAAKkrE,cAAe,EACpB,IAAIvxD,EAAQ3Z,KAAK8C,KAAK6W,MAElBiR,GAAW,EACXwzB,GAAYp+C,KAAKjC,QAAQoI,YAAYrI,UAEzC,GAAI0D,EAAOwD,eAAiB4N,aAAepR,EAAOwD,cAE9ChF,KAAK4S,IAAMA,EAAIA,IACf5S,KAAKiN,WAAW2F,QAEf,GAAIpR,EAAOouE,YAAch9D,aAAepR,EAAOouE,WAEhD5vE,KAAKkrE,cAAe,EAEpBlrE,KAAKiN,WAAW2F,EAAI7U,SAIhB6sB,EAFAjR,EAAMk2D,aAAaj9D,EAAIA,IAAKpR,EAAOysC,MAAM/gB,aAE7BltB,KAAKypE,WAAWqG,cAAcn2D,EAAMo2D,aAAan9D,EAAIA,IAAKpR,EAAOysC,MAAM/gB,YAAalgB,IAIpFhN,KAAKypE,WAAWqG,cAAcl9D,EAAIo9D,UAAW,QAG5D,GAAIxuE,EAAOyqE,OAASr5D,aAAepR,EAAOyqE,MAC/C,CACIjsE,KAAKkrE,cAAe,EAGpB,IAAI99D,EAAQwF,EAAI7U,QAAQqP,MACxBpN,KAAKiN,WAAW2F,EAAI7U,SACpBiC,KAAK4qB,SAAShY,EAAI7U,QAAQiP,MAAM+mB,SAChCnhB,EAAIs5D,eAAenzC,IAAI/4B,KAAKmsE,YAAansE,MACzCA,KAAKjC,QAAQqP,MAAQA,OAEpB,GAAI5L,EAAOyuE,SAAWr9D,aAAepR,EAAO0uE,aAI7ClwE,KAAKiN,WAAWzO,KAAK+N,QAAQge,WAAW3X,EAAIiE,cAE3C,GAAIjE,aAAepU,KAAK+N,QAEzBvM,KAAKiN,WAAW2F,OAGpB,CACI,IAAIu9D,EAAMx2D,EAAMy2D,SAASx9D,GAAK,GAE9B5S,KAAK4S,IAAMu9D,EAAIv9D,IACf5S,KAAKiN,WAAW,IAAIzO,KAAK+N,QAAQ4jE,EAAIp2D,OAIjC/Z,KAAKjC,QAAQoI,YAAYgH,WAFjB,cAARyF,EASJgY,GAAY5qB,KAAKypE,WAAWqG,cAAcK,EAAIH,UAAWhjE,GAGzD4d,IAEA5qB,KAAK4rE,OAASpqE,EAAOS,UAAU8xB,MAAM/zB,KAAKjC,QAAQiP,QAGjDoxC,IAEDp+C,KAAKjC,QAAQoI,YAAYrI,UAAY,IAa7C8sB,SAAU,SAAU5d,GAEhBhN,KAAK4rE,OAAS5+D,EAEdhN,KAAKjC,QAAQiP,MAAMlJ,EAAIkJ,EAAMlJ,EAC7B9D,KAAKjC,QAAQiP,MAAMjJ,EAAIiJ,EAAMjJ,EAC7B/D,KAAKjC,QAAQiP,MAAMpP,MAAQoP,EAAMpP,MACjCoC,KAAKjC,QAAQiP,MAAMnP,OAASmP,EAAMnP,OAElCmC,KAAKjC,QAAQwP,KAAKzJ,EAAIkJ,EAAMlJ,EAC5B9D,KAAKjC,QAAQwP,KAAKxJ,EAAIiJ,EAAMjJ,EAC5B/D,KAAKjC,QAAQwP,KAAK3P,MAAQoP,EAAMpP,MAChCoC,KAAKjC,QAAQwP,KAAK1P,OAASmP,EAAMnP,OAE7BmP,EAAMqjE,SAEFrwE,KAAKjC,QAAQgQ,MAEb/N,KAAKjC,QAAQgQ,KAAKjK,EAAIkJ,EAAMsjE,kBAC5BtwE,KAAKjC,QAAQgQ,KAAKhK,EAAIiJ,EAAMujE,kBAC5BvwE,KAAKjC,QAAQgQ,KAAKnQ,MAAQoP,EAAMwjE,YAChCxwE,KAAKjC,QAAQgQ,KAAKlQ,OAASmP,EAAMyjE,aAIjCzwE,KAAKjC,QAAQgQ,MAASjK,EAAGkJ,EAAMsjE,kBAAmBvsE,EAAGiJ,EAAMujE,kBAAmB3yE,MAAOoP,EAAMwjE,YAAa3yE,OAAQmP,EAAMyjE,aAG1HzwE,KAAKjC,QAAQH,MAAQoP,EAAMwjE,YAC3BxwE,KAAKjC,QAAQF,OAASmP,EAAMyjE,YAC5BzwE,KAAKjC,QAAQiP,MAAMpP,MAAQoP,EAAMwjE,YACjCxwE,KAAKjC,QAAQiP,MAAMnP,OAASmP,EAAMyjE,cAE5BzjE,EAAMqjE,SAAWrwE,KAAKjC,QAAQgQ,OAEpC/N,KAAKjC,QAAQgQ,KAAO,MAGpBf,EAAMqB,UAENrO,KAAKjC,QAAQsQ,SAAU,GAGvBrO,KAAKorE,UAELprE,KAAKsrE,aAGTtrE,KAAKjC,QAAQ0Q,gBAAiB,EAE9BzO,KAAKjC,QAAQ+sB,aAET9qB,KAAKikB,gBAELjkB,KAAK0wE,gBAAiB,IAgB9BvE,YAAa,SAAU9qE,EAAQzD,EAAOC,GAElCmC,KAAKjC,QAAQiP,MAAM9G,OAAOtI,EAAOC,GACjCmC,KAAKjC,QAAQ6sB,SAAS5qB,KAAKjC,QAAQiP,QASvCu+D,WAAY,WAEJvrE,KAAK4rE,QAEL5rE,KAAK4qB,SAAS5qB,KAAK4rE,SAkB3B5+D,OAEIlG,IAAK,WACD,OAAO9G,KAAKypE,WAAWz8D,OAG3BjG,IAAK,SAAUC,GACXhH,KAAKypE,WAAWz8D,MAAQhG,IAkBhC2pE,WAEI7pE,IAAK,WACD,OAAO9G,KAAKypE,WAAWkH,WAG3B5pE,IAAK,SAAUC,GACXhH,KAAKypE,WAAWkH,UAAY3pE,KAkBxCxF,EAAOynE,UAAU2H,QAAU,aAE3BpvE,EAAOynE,UAAU2H,QAAQtuE,WAerBuuE,QAAS,SAAUj2D,GAEf,OAAOpZ,EAAOS,UAAUq0B,WAAWt2B,KAAK4J,YAAagR,EAAchR,eAkB3EpI,EAAOynE,UAAUuB,YAAc,aAQ/BhpE,EAAOynE,UAAUuB,YAAY/lE,UAAY,WAErC,OAAIzE,KAAKkyC,gBAELlyC,KAAKwC,WACE,GAGPxC,KAAK8qE,OAAS9qE,KAAK6M,QAEnB7M,KAAKgD,MAAMkyB,MAAMl1B,KAAKqB,OAAOT,SAASkD,EAAI9D,KAAKY,SAASkD,EAAG9D,KAAKqB,OAAOT,SAASmD,EAAI/D,KAAKY,SAASmD,GAClG/D,KAAKuB,eAAe8B,GAAKrD,KAAKgD,MAAMc,EACpC9D,KAAKuB,eAAe+B,GAAKtD,KAAKgD,MAAMe,EAEpC/D,KAAKsqE,iBAAiBvjE,IAAI/G,KAAKgD,MAAMc,EAAG9D,KAAKgD,MAAMe,GACnD/D,KAAK4qE,iBAAmB5qE,KAAKgB,SAEzBhB,KAAKsxC,MAELtxC,KAAKsxC,KAAK7sC,YAGdzE,KAAK8qE,OAAQ,EAEb9qE,KAAK6qE,qBAEE,IAGX7qE,KAAKsqE,iBAAiBvjE,IAAI/G,KAAKgD,MAAMc,EAAG9D,KAAKgD,MAAMe,GACnD/D,KAAK4qE,iBAAmB5qE,KAAKgB,YAExBhB,KAAK+qE,UAAY/qE,KAAKqB,OAAOwL,UAE9B7M,KAAKq3C,eAAiB,GACf,KAaf71C,EAAOynE,UAAUuB,YAAY17B,WAAa,WAElC9uC,KAAK6M,QAAU7M,KAAKsxC,MAEpBtxC,KAAKsxC,KAAKxC,cAKlBttC,EAAOynE,UAAUuB,YAAYloE,WAqBzBgvC,KAAM,KAONxtC,GAEIgD,IAAK,WAED,OAAO9G,KAAKY,SAASkD,GAIzBiD,IAAK,SAAUC,GAEXhH,KAAKY,SAASkD,EAAIkD,EAEdhH,KAAKsxC,OAAStxC,KAAKsxC,KAAKlgC,QAExBpR,KAAKsxC,KAAKw/B,QAAS,KAY/B/sE,GAEI+C,IAAK,WAED,OAAO9G,KAAKY,SAASmD,GAIzBgD,IAAK,SAAUC,GAEXhH,KAAKY,SAASmD,EAAIiD,EAEdhH,KAAKsxC,OAAStxC,KAAKsxC,KAAKlgC,QAExBpR,KAAKsxC,KAAKw/B,QAAS,MAoBnCtvE,EAAOynE,UAAU8H,MAAQ,aAkBzBvvE,EAAOynE,UAAU8H,MAAMzuE,UAAUsjC,MAAQ,SAAU9hC,EAAGC,EAAGyqE,GA+BrD,YA7BeloE,IAAXkoE,IAAwBA,EAAS,GAErCxuE,KAAKgD,MAAM+D,IAAIjD,EAAGC,GAClB/D,KAAKY,SAASmG,IAAIjD,EAAGC,GAErB/D,KAAK8qE,OAAQ,EACb9qE,KAAK6M,QAAS,EACd7M,KAAKkB,SAAU,EACflB,KAAKoB,YAAa,EAEdpB,KAAKqqE,WAAW0E,UAEhB/uE,KAAKivE,mBAAoB,GAGzBjvE,KAAKqqE,WAAWiF,WAEhBtvE,KAAKgyC,OAAQ,EACbhyC,KAAKwuE,OAASA,GAGdxuE,KAAKqqE,WAAWG,aAEZxqE,KAAKsxC,MAELtxC,KAAKsxC,KAAK1L,MAAM9hC,EAAGC,GAAG,GAAO,GAI9B/D,MAeXwB,EAAOynE,UAAU+H,YAAc,aAE/BxvE,EAAOynE,UAAU+H,YAAY1uE,WAMzBgC,kBAAmB,KAMnBE,yBAA0BxE,KAU1BixE,SAAU,KAUVC,SAAU,KASVC,eAAgB,SAAU3tE,GAElBxD,KAAKixE,WAEDztE,EAAGP,EAAIjD,KAAKixE,SAASntE,IAErBN,EAAGP,EAAIjD,KAAKixE,SAASntE,GAGrBN,EAAGJ,EAAIpD,KAAKixE,SAASltE,IAErBP,EAAGJ,EAAIpD,KAAKixE,SAASltE,IAIzB/D,KAAKkxE,WAED1tE,EAAGP,EAAIjD,KAAKkxE,SAASptE,IAErBN,EAAGP,EAAIjD,KAAKkxE,SAASptE,GAGrBN,EAAGJ,EAAIpD,KAAKkxE,SAASntE,IAErBP,EAAGJ,EAAIpD,KAAKkxE,SAASntE,KA+BjCqtE,eAAgB,SAAU9mE,EAAME,EAAMC,EAAMC,QAE3BpE,IAATkE,EAGAA,EAAOC,EAAOC,EAAOJ,OAEPhE,IAATmE,IAGLA,EAAOC,EAAOF,EACdA,EAAOF,GAGE,OAATA,EAEAtK,KAAKixE,SAAW,KAIZjxE,KAAKixE,SAELjxE,KAAKixE,SAASlqE,IAAIuD,EAAME,GAIxBxK,KAAKixE,SAAW,IAAIzvE,EAAOX,MAAMyJ,EAAME,GAIlC,OAATC,EAEAzK,KAAKkxE,SAAW,KAIZlxE,KAAKkxE,SAELlxE,KAAKkxE,SAASnqE,IAAI0D,EAAMC,GAIxB1K,KAAKkxE,SAAW,IAAI1vE,EAAOX,MAAM4J,EAAMC,GAIzB,OAAlB1K,KAAKixE,SAELjxE,KAAKsE,kBAAoB,MAIzBtE,KAAKsE,kBAAoBtE,KAAKmxE,eAC9BnxE,KAAKwE,yBAA2BxE,QAkB5CwB,EAAOynE,UAAUoI,SAAW,aAE5B7vE,EAAOynE,UAAUoI,SAAS/uE,WAWtB87C,UAEIt3C,IAAK,WAED,OAAQ9G,KAAKjC,QAAQoI,YAAYrI,WAIrCiJ,IAAK,SAAUC,GAEPA,EAEIhH,KAAKjC,UAELiC,KAAKjC,QAAQoI,YAAYrI,UAAY,EACrCkC,KAAKjC,QAAQoI,YAAYiL,SAKzBpR,KAAKjC,UAELiC,KAAKjC,QAAQoI,YAAYrI,UAAY,EACrCkC,KAAKjC,QAAQoI,YAAYiL,YAyB7C5P,EAAOi7C,kBAAoB,SAAU35C,GAMjC9C,KAAK8C,KAAOA,EAMZ9C,KAAKgD,MAAQhD,KAAK8C,KAAKE,OAI3BxB,EAAOi7C,kBAAkBn6C,WASrBgvE,SAAU,SAAU14B,GAEhB,OAAO54C,KAAKgD,MAAM+1B,IAAI6f,IAyB1B24B,OAAQ,SAAUr9B,EAAUthC,EAAK5F,EAAO0sC,EAAO83B,GAE3C,IAAID,EAASvxE,KAAK8C,KAAK4rC,QAAQ3V,IAAIv3B,EAAOiwE,QAS1C,OAPID,IAEAD,EAAOC,YAAcA,GAGzBD,EAAOG,cAAcx9B,EAAUthC,EAAK5F,EAAO0sC,GAEpC63B,GAoBX13D,MAAO,SAAU/V,EAAGC,EAAG6O,EAAK5F,EAAO0sC,GAI/B,YAFcpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAEjC02C,EAAM3gB,IAAI,IAAIv3B,EAAOmwE,MAAM3xE,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAK5F,KAmB5DkW,OAAQ,SAAUpf,EAAGC,EAAG6O,EAAK5F,EAAO0sC,GAIhC,YAFcpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAEjC02C,EAAM3gB,IAAI,IAAIv3B,EAAOqE,OAAO7F,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAK5F,KAyB7D4kE,SAAU,SAAU9tE,EAAGC,EAAG6O,EAAKi/D,EAAMn4B,QAEnBpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAExC,IAAI4uB,EAAM,IAAIpwB,EAAO4jD,SAASplD,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAKi/D,GAIpD,OAFAn4B,EAAM3gB,IAAInH,GAEHA,GAaXkgD,MAAO,SAAUl5B,GAEb,OAAO54C,KAAK8C,KAAKsjC,OAAOh+B,OAAOwwC,IAenCc,MAAO,SAAUr4C,EAAQwwB,EAAM6f,EAAYC,EAAYC,GAEnD,OAAO,IAAIpwC,EAAOiwC,MAAMzxC,KAAK8C,KAAMzB,EAAQwwB,EAAM6f,EAAYC,EAAYC,IAiB7EmgC,aAAc,SAAUngC,EAAiBvwC,EAAQwwB,EAAM6f,GAEnD,OAAO,IAAIlwC,EAAOiwC,MAAMzxC,KAAK8C,KAAMzB,EAAQwwB,EAAM6f,GAAY,EAAME,IAevEnmC,YAAa,SAAUpK,EAAQwwB,EAAM6f,GAMjC,YAJeprC,IAAXjF,IAAwBA,EAAS,WACxBiF,IAATurB,IAAsBA,EAAO,cACdvrB,IAAforC,IAA4BA,GAAa,GAEtC,IAAIlwC,EAAOwwE,YAAYhyE,KAAK8C,KAAMzB,EAAQwwB,EAAM6f,IAc3DugC,MAAO,SAAUr/D,EAAKwuB,EAAQmoC,EAAMtP,GAEhC,OAAOj6D,KAAK8C,KAAKojC,MAAMnN,IAAInmB,EAAKwuB,EAAQmoC,EAAMtP,IAclD/zB,MAAO,SAAUtzB,EAAKwuB,EAAQmoC,EAAMtP,GAEhC,OAAOj6D,KAAK8C,KAAKojC,MAAMnN,IAAInmB,EAAKwuB,EAAQmoC,EAAMtP,IAWlDiY,YAAa,SAAUt/D,GAEnB,OAAO5S,KAAK8C,KAAKojC,MAAMisC,UAAUv/D,IAiBrCw/D,WAAY,SAAUtuE,EAAGC,EAAGnG,EAAOC,EAAQ+U,EAAK5F,EAAO0sC,GAInD,YAFcpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAEjC02C,EAAM3gB,IAAI,IAAIv3B,EAAO6jD,WAAWrlD,KAAK8C,KAAMgB,EAAGC,EAAGnG,EAAOC,EAAQ+U,EAAK5F,KAkBhFqlE,KAAM,SAAUvuE,EAAGC,EAAG6O,EAAK5F,EAAOoxB,EAAQsb,GAItC,YAFcpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAEjC02C,EAAM3gB,IAAI,IAAIv3B,EAAO8wE,KAAKtyE,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAK5F,EAAOoxB,KAelEm0C,KAAM,SAAUzuE,EAAGC,EAAGwuE,EAAMt3D,EAAOy+B,GAI/B,YAFcpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAEjC02C,EAAM3gB,IAAI,IAAIv3B,EAAOgxE,KAAKxyE,KAAK8C,KAAMgB,EAAGC,EAAGwuE,EAAMt3D,KAoB5D+qC,OAAQ,SAAUliD,EAAGC,EAAG6O,EAAKuhC,EAAUtL,EAAiB4pC,EAAWC,EAAUC,EAAWC,EAASl5B,GAI7F,YAFcpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAEjC02C,EAAM3gB,IAAI,IAAIv3B,EAAOqxE,OAAO7yE,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAKuhC,EAAUtL,EAAiB4pC,EAAWC,EAAUC,EAAWC,KAaxHx0D,SAAU,SAAUta,EAAGC,EAAG21C,GAItB,YAFcpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAEjC02C,EAAM3gB,IAAI,IAAIv3B,EAAOkiC,SAAS1jC,KAAK8C,KAAMgB,EAAGC,KAiBvD+uE,QAAS,SAAUhvE,EAAGC,EAAGgvE,GAErB,OAAO/yE,KAAK8C,KAAKujC,UAAUtN,IAAI,IAAIv3B,EAAOw7C,UAAUg2B,OAAOC,QAAQjzE,KAAK8C,KAAMgB,EAAGC,EAAGgvE,KA0BxFG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAInyE,EAAOoyE,UAAU5zE,KAAK8C,KAAMqwE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IAgCnIE,WAAY,SAAU/vE,EAAGC,EAAGovE,EAAMZ,EAAM7wD,EAAMg4B,GAI1C,YAFcpzC,IAAVozC,IAAuBA,EAAQ15C,KAAKgD,OAEjC02C,EAAM3gB,IAAI,IAAIv3B,EAAO4qE,WAAWpsE,KAAK8C,KAAMgB,EAAGC,EAAGovE,EAAMZ,EAAM7wD,KAqBxEoyD,QAAS,SAAUlhE,EAAKmhE,EAAWC,EAAYp2E,EAAOC,GAElD,OAAO,IAAI2D,EAAOyuE,QAAQjwE,KAAK8C,KAAM8P,EAAKmhE,EAAWC,EAAYp2E,EAAOC,IAc5EkH,cAAe,SAAUnH,EAAOC,EAAQ+U,EAAKqhE,QAE7B3tE,IAARsM,GAA6B,KAARA,IAAcA,EAAM5S,KAAK8C,KAAKoiC,IAAIgvC,aACxC5tE,IAAf2tE,IAA4BA,GAAa,GAE7C,IAAIl2E,EAAU,IAAIyD,EAAOwD,cAAchF,KAAK8C,KAAMlF,EAAOC,EAAQ+U,GAOjE,OALIqhE,GAEAj0E,KAAK8C,KAAK6W,MAAMw6D,iBAAiBvhE,EAAK7U,GAGnCA,GAcXq2E,MAAO,SAAUxhE,EAAKyhE,GAElB,OAAO,IAAI7yE,EAAOyqE,MAAMjsE,KAAK8C,KAAM8P,EAAKyhE,IAgB5CC,WAAY,SAAU12E,EAAOC,EAAQ+U,EAAKqhE,QAEnB3tE,IAAf2tE,IAA4BA,GAAa,QACjC3tE,IAARsM,GAA6B,KAARA,IAAcA,EAAM5S,KAAK8C,KAAKoiC,IAAIgvC,QAE3D,IAAIn2E,EAAU,IAAIyD,EAAOouE,WAAW5vE,KAAK8C,KAAM8P,EAAKhV,EAAOC,GAO3D,OALIo2E,GAEAj0E,KAAK8C,KAAK6W,MAAM46D,cAAc3hE,EAAK7U,GAGhCA,GAYXmoB,OAAQ,SAAUA,GAEd,IAAIgK,EAAO7oB,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,UAAW,GAMjD,OAJInK,EAAS,IAAI1kB,EAAOohB,OAAOsD,GAAQlmB,KAAK8C,OAErCwO,KAAKhM,MAAM4gB,EAAQgK,GAEnBhK,GAcX2oB,OAAQ,SAAUA,GAEd,OAAO7uC,KAAK8C,KAAK4rC,QAAQ3V,IAAI8V,KAMrCrtC,EAAOi7C,kBAAkBn6C,UAAUC,YAAcf,EAAOi7C,kBAgBxDj7C,EAAOk7C,kBAAoB,SAAU55C,GAMjC9C,KAAK8C,KAAOA,EAMZ9C,KAAKgD,MAAQhD,KAAK8C,KAAKE,OAI3BxB,EAAOk7C,kBAAkBp6C,WAerBuX,MAAO,SAAU/V,EAAGC,EAAG6O,EAAK5F,GAExB,OAAO,IAAIxL,EAAOmwE,MAAM3xE,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAK5F,IAclDkW,OAAQ,SAAUpf,EAAGC,EAAG6O,EAAK5F,GAEzB,OAAO,IAAIxL,EAAOqE,OAAO7F,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAK5F,IAanD8kE,MAAO,SAAUlgD,GAEb,OAAO,IAAIpwB,EAAOgzE,MAAM5iD,EAAK5xB,KAAK8C,KAAM9C,KAAK8C,KAAKsjC,SAetDsT,MAAO,SAAUr4C,EAAQwwB,EAAM6f,EAAYC,EAAYC,GAEnD,OAAO,IAAIpwC,EAAOiwC,MAAMzxC,KAAK8C,KAAMzB,EAAQwwB,EAAM6f,EAAYC,EAAYC,IAa7EnmC,YAAa,SAAUpK,EAAQwwB,EAAM6f,GAKjC,YAHaprC,IAATurB,IAAsBA,EAAO,cACdvrB,IAAforC,IAA4BA,GAAa,GAEtC,IAAIlwC,EAAOwwE,YAAYhyE,KAAK8C,KAAMzB,EAAQwwB,EAAM6f,IAc3DugC,MAAO,SAAUr/D,EAAKwuB,EAAQmoC,EAAMtP,GAEhC,OAAOj6D,KAAK8C,KAAKojC,MAAMnN,IAAInmB,EAAKwuB,EAAQmoC,EAAMtP,IAWlDiY,YAAa,SAAUt/D,GAEnB,OAAO5S,KAAK8C,KAAKojC,MAAMisC,UAAUv/D,IAcrCszB,MAAO,SAAUtzB,EAAKwuB,EAAQmoC,EAAMtP,GAEhC,OAAOj6D,KAAK8C,KAAKojC,MAAMnN,IAAInmB,EAAKwuB,EAAQmoC,EAAMtP,IAgBlDmY,WAAY,SAAUtuE,EAAGC,EAAGnG,EAAOC,EAAQ+U,EAAK5F,GAE5C,OAAO,IAAIxL,EAAO6jD,WAAWrlD,KAAK8C,KAAMgB,EAAGC,EAAGnG,EAAOC,EAAQ+U,EAAK5F,IAgBtEqlE,KAAM,SAAUvuE,EAAGC,EAAG6O,EAAK5F,EAAOoxB,GAE9B,OAAO,IAAI58B,EAAO8wE,KAAKtyE,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAK5F,EAAOoxB,IAcxDm0C,KAAM,SAAUzuE,EAAGC,EAAGwuE,EAAMt3D,GAExB,OAAO,IAAIzZ,EAAOgxE,KAAKxyE,KAAK8C,KAAMgB,EAAGC,EAAGwuE,EAAMt3D,IAmBlD+qC,OAAQ,SAAUliD,EAAGC,EAAG6O,EAAKuhC,EAAUtL,EAAiB4pC,EAAWC,EAAUC,EAAWC,GAEpF,OAAO,IAAIpxE,EAAOqxE,OAAO7yE,KAAK8C,KAAMgB,EAAGC,EAAG6O,EAAKuhC,EAAUtL,EAAiB4pC,EAAWC,EAAUC,EAAWC,IAY9Gx0D,SAAU,SAAUta,EAAGC,GAEnB,OAAO,IAAIvC,EAAOkiC,SAAS1jC,KAAK8C,KAAMgB,EAAGC,IAiB7C+uE,QAAS,SAAUhvE,EAAGC,EAAGgvE,GAErB,OAAO,IAAIvxE,EAAOw7C,UAAUg2B,OAAOC,QAAQjzE,KAAK8C,KAAMgB,EAAGC,EAAGgvE,IA0BhEG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,OAAO,IAAInyE,EAAOoyE,UAAU5zE,KAAK8C,KAAMqwE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IAgCnIE,WAAY,SAAU/vE,EAAGC,EAAGovE,EAAMZ,EAAM7wD,EAAM4yB,GAE1C,OAAO,IAAI9yC,EAAO4qE,WAAWpsE,KAAK8C,KAAMgB,EAAGC,EAAGovE,EAAMZ,EAAM7wD,EAAM4yB,IAoBpEw/B,QAAS,SAAUlhE,EAAKmhE,EAAWC,EAAYp2E,EAAOC,GAElD,OAAO,IAAI2D,EAAOyuE,QAAQjwE,KAAK8C,KAAM8P,EAAKmhE,EAAWC,EAAYp2E,EAAOC,IAc5EkH,cAAe,SAAUnH,EAAOC,EAAQ+U,EAAKqhE,QAE7B3tE,IAARsM,GAA6B,KAARA,IAAcA,EAAM5S,KAAK8C,KAAKoiC,IAAIgvC,aACxC5tE,IAAf2tE,IAA4BA,GAAa,GAE7C,IAAIl2E,EAAU,IAAIyD,EAAOwD,cAAchF,KAAK8C,KAAMlF,EAAOC,EAAQ+U,GAOjE,OALIqhE,GAEAj0E,KAAK8C,KAAK6W,MAAMw6D,iBAAiBvhE,EAAK7U,GAGnCA,GAgBXu2E,WAAY,SAAU12E,EAAOC,EAAQ+U,EAAKqhE,QAEnB3tE,IAAf2tE,IAA4BA,GAAa,QACjC3tE,IAARsM,GAA6B,KAARA,IAAcA,EAAM5S,KAAK8C,KAAKoiC,IAAIgvC,QAE3D,IAAIn2E,EAAU,IAAIyD,EAAOouE,WAAW5vE,KAAK8C,KAAM8P,EAAKhV,EAAOC,GAO3D,OALIo2E,GAEAj0E,KAAK8C,KAAK6W,MAAM46D,cAAc3hE,EAAK7U,GAGhCA,GAYXmoB,OAAQ,SAAUA,GAEd,IAAIgK,EAAO7oB,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,UAAW,GAMjD,OAJInK,EAAS,IAAI1kB,EAAOohB,OAAOsD,GAAQlmB,KAAK8C,OAErCwO,KAAKhM,MAAM4gB,EAAQgK,GAEnBhK,IAMf1kB,EAAOk7C,kBAAkBp6C,UAAUC,YAAcf,EAAOk7C,kBA6CxDl7C,EAAOqE,OAAS,SAAU/C,EAAMgB,EAAGC,EAAG6O,EAAK5F,GAEvClJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT6O,EAAMA,GAAO,KACb5F,EAAQA,GAAS,KAMjBhN,KAAKoT,KAAO5R,EAAO6qB,OAMnBrsB,KAAK+xC,YAAcvwC,EAAO6qB,OAE1B7tB,KAAKqH,OAAOtB,KAAKvE,KAAMwB,EAAOysC,MAAM3mB,SAEpC9lB,EAAOynE,UAAUiB,KAAK54D,KAAK/M,KAAKvE,KAAM8C,EAAMgB,EAAGC,EAAG6O,EAAK5F,IAI3DxL,EAAOqE,OAAOvD,UAAYsE,OAAOwB,OAAO5J,KAAKqH,OAAOvD,WACpDd,EAAOqE,OAAOvD,UAAUC,YAAcf,EAAOqE,OAE7CrE,EAAOynE,UAAUiB,KAAKE,QAAQ7lE,KAAK/C,EAAOqE,OAAOvD,WAC7C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJd,EAAOqE,OAAOvD,UAAUmyE,iBAAmBjzE,EAAOynE,UAAUuB,YAAY/lE,UACxEjD,EAAOqE,OAAOvD,UAAUoyE,kBAAoBlzE,EAAOynE,UAAUqG,SAAS7qE,UACtEjD,EAAOqE,OAAOvD,UAAUqyE,iBAAmBnzE,EAAOynE,UAAU8F,QAAQtqE,UACpEjD,EAAOqE,OAAOvD,UAAUsyE,cAAgBpzE,EAAOynE,UAAUiB,KAAKzlE,UAS9DjD,EAAOqE,OAAOvD,UAAUmC,UAAY,WAEhC,SAAKzE,KAAKy0E,oBAAuBz0E,KAAK00E,qBAAwB10E,KAAK20E,qBAK5D30E,KAAK40E,iBAwChBpzE,EAAOmwE,MAAQ,SAAU7uE,EAAMgB,EAAGC,EAAG6O,EAAK5F,GAEtClJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT6O,EAAMA,GAAO,KACb5F,EAAQA,GAAS,KAMjBhN,KAAKoT,KAAO5R,EAAO+qB,MAEnB/tB,KAAKqH,OAAOtB,KAAKvE,KAAMwB,EAAOysC,MAAM3mB,SAEpC9lB,EAAOynE,UAAUiB,KAAK54D,KAAK/M,KAAKvE,KAAM8C,EAAMgB,EAAGC,EAAG6O,EAAK5F,IAI3DxL,EAAOmwE,MAAMrvE,UAAYsE,OAAOwB,OAAO5J,KAAKqH,OAAOvD,WACnDd,EAAOmwE,MAAMrvE,UAAUC,YAAcf,EAAOmwE,MAE5CnwE,EAAOynE,UAAUiB,KAAKE,QAAQ7lE,KAAK/C,EAAOmwE,MAAMrvE,WAC5C,QACA,YACA,WACA,SACA,aACA,OACA,UACA,gBACA,eACA,WACA,cACA,UACA,QACA,cACA,aAGJd,EAAOmwE,MAAMrvE,UAAUoyE,kBAAoBlzE,EAAOynE,UAAUqG,SAAS7qE,UACrEjD,EAAOmwE,MAAMrvE,UAAUqyE,iBAAmBnzE,EAAOynE,UAAU8F,QAAQtqE,UACnEjD,EAAOmwE,MAAMrvE,UAAUsyE,cAAgBpzE,EAAOynE,UAAUiB,KAAKzlE,UAQ7DjD,EAAOmwE,MAAMrvE,UAAUmC,UAAY,WAE/B,SAAKzE,KAAK20E,qBAAuB30E,KAAK00E,sBAK/B10E,KAAK40E,iBAsChBpzE,EAAOqxE,OAAS,SAAU/vE,EAAMgB,EAAGC,EAAG6O,EAAKuhC,EAAUtL,EAAiB4pC,EAAWC,EAAUC,EAAWC,GAElG9uE,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT6O,EAAMA,GAAO,KACbuhC,EAAWA,GAAY,KACvBtL,EAAkBA,GAAmB7oC,KAErCwB,EAAOmwE,MAAMptE,KAAKvE,KAAM8C,EAAMgB,EAAGC,EAAG6O,EAAK8/D,GAOzC1yE,KAAKoT,KAAO5R,EAAO8qB,OAMnBtsB,KAAK+xC,YAAcvwC,EAAO6qB,OAO1BrsB,KAAK60E,aAAe,KAOpB70E,KAAK80E,YAAc,KAOnB90E,KAAK+0E,aAAe,KAOpB/0E,KAAKg1E,WAAa,KAOlBh1E,KAAKi1E,YAAc,KAOnBj1E,KAAKk1E,WAAa,KAOlBl1E,KAAKm1E,YAAc,KAOnBn1E,KAAKo1E,UAAY,KAOjBp1E,KAAKq1E,kBAAoB,GAOzBr1E,KAAKs1E,iBAAmB,GAOxBt1E,KAAKu1E,kBAAoB,GAOzBv1E,KAAKw1E,gBAAkB,GAMvBx1E,KAAK4tE,YAAc,IAAIpsE,EAAO0gC,OAM9BliC,KAAK6tE,WAAa,IAAIrsE,EAAO0gC,OAM7BliC,KAAK8tE,YAAc,IAAItsE,EAAO0gC,OAM9BliC,KAAK+tE,UAAY,IAAIvsE,EAAO0gC,OAS5BliC,KAAKy1E,iBAAkB,EASvBz1E,KAAK01E,yBAA2Bl0E,EAAOyhD,YAAYkB,QAOnDnkD,KAAK21E,cAAe,EAUpB31E,KAAK41E,UAAW,EAEhB51E,KAAK0zC,cAAe,EAEpB1zC,KAAKgmC,MAAMh6B,MAAM,GAAG,GAEpBhM,KAAKgmC,MAAMyrB,eAAgB,EAE3BzxD,KAAK61E,UAAUpD,EAAWC,EAAUC,EAAWC,GAE9B,OAAbz+B,GAEAn0C,KAAK+tE,UAAUh1C,IAAIob,EAAUtL,GAIjC7oC,KAAK2zC,OAAOi6B,YAAY70C,IAAI/4B,KAAK81E,mBAAoB91E,MACrDA,KAAK2zC,OAAOk6B,WAAW90C,IAAI/4B,KAAK+1E,kBAAmB/1E,MACnDA,KAAK2zC,OAAOm6B,YAAY/0C,IAAI/4B,KAAKg2E,mBAAoBh2E,MACrDA,KAAK2zC,OAAOo6B,UAAUh1C,IAAI/4B,KAAKi2E,iBAAkBj2E,OAIrDwB,EAAOqxE,OAAOvwE,UAAYsE,OAAOwB,OAAO5G,EAAOmwE,MAAMrvE,WACrDd,EAAOqxE,OAAOvwE,UAAUC,YAAcf,EAAOqxE,OAk+uCzC,OAr9uCJrxE,EAAOqxE,OAAOvwE,UAAU4zE,YAAc,WAElCl2E,KAAK61E,UAAU,KAAM,KAAM,KAAM,OAarCr0E,EAAOqxE,OAAOvwE,UAAU6zE,cAAgB,SAAUhwC,EAAOn5B,EAAOopE,GAE5D,IAAIC,EAAW,MAAQlwC,EAAQ,QAEjB,OAAVn5B,GAEAhN,KAAKq2E,GAAYrpE,EAEbopE,GAEAp2E,KAAKs2E,iBAAiBnwC,IAK1BnmC,KAAKq2E,GAAY,MAazB70E,EAAOqxE,OAAOvwE,UAAUg0E,iBAAmB,SAAUnwC,GAEjD,GAAInmC,KAAK21E,aAEL,OAAO,EAGX,IACI3oE,EAAQhN,KADG,MAAQmmC,EAAQ,SAG/B,MAAqB,iBAAVn5B,GAEPhN,KAAK2wE,UAAY3jE,GACV,GAEe,iBAAVA,IAEZhN,KAAKgN,MAAQA,GACN,IAqBfxL,EAAOqxE,OAAOvwE,UAAUuzE,UAAY,SAAUpD,EAAWC,EAAUC,EAAWC,GAE1E5yE,KAAKm2E,cA9FQ,OA8FkB1D,EAAWzyE,KAAKgmC,MAAMgvB,eACrDh1D,KAAKm2E,cA9FO,MA8FkBzD,GAAW1yE,KAAKgmC,MAAMgvB,eACpDh1D,KAAKm2E,cA9FQ,OA8FkBxD,EAAW3yE,KAAKgmC,MAAM4uB,eACrD50D,KAAKm2E,cA9FM,KA8FkBvD,EAAS5yE,KAAKgmC,MAAM6uB,cAarDrzD,EAAOqxE,OAAOvwE,UAAUi0E,cAAgB,SAAUpwC,EAAOD,EAAOswC,GAE5D,IAAIC,EAAW,KAAOtwC,EAAQ,QAC1BuwC,EAAY,KAAOvwC,EAAQ,cAE3BD,aAAiB1kC,EAAOm1E,OAASzwC,aAAiB1kC,EAAOo1E,aAEzD52E,KAAKy2E,GAAYvwC,EACjBlmC,KAAK02E,GAA+B,iBAAXF,EAAsBA,EAAS,KAIxDx2E,KAAKy2E,GAAY,KACjBz2E,KAAK02E,GAAa,KAa1Bl1E,EAAOqxE,OAAOvwE,UAAUu0E,eAAiB,SAAU1wC,GAE/C,IACID,EAAQlmC,KADG,KAAOmmC,EAAQ,SAG9B,GAAID,EACJ,CACI,IACIswC,EAASx2E,KADG,KAAOmmC,EAAQ,eAI/B,OADAD,EAAMmjC,KAAKmN,IACJ,EAIP,OAAO,GAsBfh1E,EAAOqxE,OAAOvwE,UAAUw0E,UAAY,SAAUC,EAAWC,EAAYC,EAAWC,EAAYC,EAAUC,EAAWC,EAASC,GAEtHt3E,KAAKu2E,cA/KQ,OA+KkBQ,EAAWC,GAC1Ch3E,KAAKu2E,cA/KO,MA+KkBY,EAAUC,GACxCp3E,KAAKu2E,cA/KQ,OA+KkBU,EAAWC,GAC1Cl3E,KAAKu2E,cA/KM,KA+KkBc,EAASC,IAY1C91E,EAAOqxE,OAAOvwE,UAAUi1E,aAAe,SAAUrxC,EAAOswC,GAEpDx2E,KAAKu2E,cAhMQ,OAgMkBrwC,EAAOswC,IAY1Ch1E,EAAOqxE,OAAOvwE,UAAUk1E,YAAc,SAAUtxC,EAAOswC,GAEnDx2E,KAAKu2E,cA7MO,MA6MkBrwC,EAAOswC,IAYzCh1E,EAAOqxE,OAAOvwE,UAAUm1E,aAAe,SAAUvxC,EAAOswC,GAEpDx2E,KAAKu2E,cA1NQ,OA0NkBrwC,EAAOswC,IAY1Ch1E,EAAOqxE,OAAOvwE,UAAUo1E,WAAa,SAAUxxC,EAAOswC,GAElDx2E,KAAKu2E,cAvOM,KAuOkBrwC,EAAOswC,IAYxCh1E,EAAOqxE,OAAOvwE,UAAUwzE,mBAAqB,SAAU5yD,EAAQyqB,GAEvDA,EAAQ8d,iBACPzrD,KAAK01E,yBAA2B/nC,EAAQ+d,eAAiB/d,EAAQ+d,cAMtE1rD,KAAKs2E,iBA/PQ,QAiQTt2E,KAAKy1E,kBAAoB9nC,EAAQqf,UAKrChtD,KAAK62E,eAtQQ,QAwQT72E,KAAK4tE,aAEL5tE,KAAK4tE,YAAY3oC,SAASjlC,KAAM2tC,MAaxCnsC,EAAOqxE,OAAOvwE,UAAUyzE,kBAAoB,SAAU7yD,EAAQyqB,GAE1D3tC,KAAKs2E,iBAxRO,OA0RZt2E,KAAK62E,eA1RO,OA4RR72E,KAAK6tE,YAEL7tE,KAAK6tE,WAAW5oC,SAASjlC,KAAM2tC,IAYvCnsC,EAAOqxE,OAAOvwE,UAAU0zE,mBAAqB,SAAU9yD,EAAQyqB,GAE3D3tC,KAAKs2E,iBA3SQ,QA6Sbt2E,KAAK62E,eA7SQ,QA+ST72E,KAAK8tE,aAEL9tE,KAAK8tE,YAAY7oC,SAASjlC,KAAM2tC,IAYxCnsC,EAAOqxE,OAAOvwE,UAAU2zE,iBAAmB,SAAU/yD,EAAQyqB,EAASkmB,GAElE7zD,KAAK62E,eA9TM,MAiUP72E,KAAK+tE,WAEL/tE,KAAK+tE,UAAU9oC,SAASjlC,KAAM2tC,EAASkmB,GAGvC7zD,KAAK21E,gBAKa,IAAlB31E,KAAK41E,WAAsB51E,KAAK41E,SAAWjoC,EAAQ+d,eAAiB/d,EAAQ+d,YAE5E1rD,KAAKs2E,iBA/UG,OAmVQt2E,KAAKs2E,iBAjVd,QAqVCziB,EAEA7zD,KAAKs2E,iBA1VJ,QA8VDt2E,KAAKs2E,iBA7VL,UA0XhB90E,EAAOwwE,YAAc,SAAUlvE,EAAMzB,EAAQwwB,EAAM6f,QAEhCprC,IAAXjF,GAAmC,OAAXA,IAAmBA,EAASyB,EAAKE,OAE7DxB,EAAOiwC,MAAMltC,KAAKvE,KAAM8C,EAAMzB,EAAQwwB,EAAM6f,GAM5C1xC,KAAKoT,KAAO5R,EAAO8rB,YAMnBttB,KAAK23E,gBAAkB,KAMvB33E,KAAK43E,OAAQ,GAIjBp2E,EAAOwwE,YAAY1vE,UAAYsE,OAAOwB,OAAO5G,EAAOiwC,MAAMnvC,WAE1Dd,EAAOwwE,YAAY1vE,UAAUC,YAAcf,EAAOwwE,YAUlDxwE,EAAOwwE,YAAY1vE,UAAUwD,aAAe,SAAUH,IAE7C3F,KAAKkB,SAAWlB,KAAKiB,OAAS,IAAMjB,KAAKyC,SAASE,SAKlD3C,KAAK43E,QAEN53E,KAAK23E,gBAAkB,IAAIn5E,KAAKinB,qBAAqB9f,EAAchI,IAEnEqC,KAAK43E,OAAQ,GAGb53E,KAAK23E,gBAAgBh6E,KAAOgI,EAAchI,IAE1CqC,KAAK23E,gBAAgB9+D,WAAWlT,EAAchI,IAGlDgI,EAAc8F,YAAYI,OAE1BlG,EAAc0R,cAAcqI,UAAU/Z,EAAc0R,cAAcyJ,YAElE9gB,KAAK23E,gBAAgB58D,MAAM/a,KAAM2F,GACjC3F,KAAK23E,gBAAgBzyE,OAAOlF,MAE5B2F,EAAc8F,YAAYO,UAY9BxK,EAAOwwE,YAAY1vE,UAAUyD,cAAgB,SAAUJ,GAEnD,GAAK3F,KAAKkB,WAAWlB,KAAKiB,OAAS,IAAMjB,KAAKyC,SAASE,OAAvD,CAKA,IAAI8K,EAAU9H,EAAc8H,QAE5BA,EAAQG,YAAc5N,KAAKsB,WAE3BtB,KAAK2G,+BAML,IAAK,IAJDqhB,EAAYhoB,KAAKuB,eAEjBs2E,GAAY,EAEPn1E,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAC1C,CACI,IAAI4F,EAAQtI,KAAKyC,SAASC,GAE1B,GAAK4F,EAAMpH,QAAX,CAKA,IAAInD,EAAUuK,EAAMvK,QAChBiP,EAAQjP,EAAQiP,MAIpB,GAFAS,EAAQG,YAAc5N,KAAKsB,WAAagH,EAAMrH,MAE1CqH,EAAMtH,UAAsB,EAAVyC,KAAKqxB,KAAY,EAI/B+iD,IAEApqE,EAAQe,aAAawZ,EAAU/kB,EAAG+kB,EAAU9kB,EAAG8kB,EAAU7kB,EAAG6kB,EAAU5kB,EAAG4kB,EAAU3kB,GAAI2kB,EAAU1kB,IACjGu0E,GAAY,GAGhBpqE,EAAQmB,UACJ7Q,EAAQoI,YAAY6I,OACpBhC,EAAMlJ,EACNkJ,EAAMjJ,EACNiJ,EAAMpP,MACNoP,EAAMnP,OACJyK,EAAM5B,OAAQ,IAAMsG,EAAMpP,MAAQ0K,EAAMxH,MAAMgD,GAAKwE,EAAM1H,SAASkD,EAAI,GAAM6B,EAAcsI,OAAU,EACpG3F,EAAM5B,OAAQ,IAAMsG,EAAMnP,OAASyK,EAAMxH,MAAMiD,GAAKuE,EAAM1H,SAASmD,EAAI,GAAM4B,EAAcuI,OAAU,EACvGlB,EAAMpP,MAAQ0K,EAAMxH,MAAMgD,EAC1BkJ,EAAMnP,OAASyK,EAAMxH,MAAMiD,OAGnC,CACS8zE,IAEDA,GAAY,GAGhBvvE,EAAM3B,+BAEN,IAAImxE,EAAiBxvE,EAAM/G,eACvB8B,EAAMy0E,EAAez0E,GAAKsC,EAAchB,WAAcgB,EAAcsI,OACpE3K,EAAMw0E,EAAex0E,GAAKqC,EAAchB,WAAcgB,EAAcuI,OAIpEvI,EAAc4I,YAEdd,EAAQe,aAAaspE,EAAe70E,EAAG60E,EAAe50E,EAAG40E,EAAe30E,EAAG20E,EAAe10E,EAAQ,EAALC,EAAa,EAALC,GAIrGmK,EAAQe,aAAaspE,EAAe70E,EAAG60E,EAAe50E,EAAG40E,EAAe30E,EAAG20E,EAAe10E,EAAGC,EAAIC,GAGrGmK,EAAQmB,UACJ7Q,EAAQoI,YAAY6I,OACpBhC,EAAMlJ,EACNkJ,EAAMjJ,EACNiJ,EAAMpP,MACNoP,EAAMnP,OACJyK,EAAM5B,OAAQ,GAAMsG,EAAMpP,MAAS,GAAO,EAC1C0K,EAAM5B,OAAQ,GAAMsG,EAAMnP,OAAU,GAAO,EAC7CmP,EAAMpP,MACNoP,EAAMnP,aA6BtB2D,EAAOouE,WAAa,SAAU9sE,EAAM8P,EAAKhV,EAAOC,EAAQk6E,QAEtCzxE,IAAV1I,GAAiC,IAAVA,IAAeA,EAAQ,UACnC0I,IAAXzI,GAAmC,IAAXA,IAAgBA,EAAS,UACpCyI,IAAbyxE,IAA0BA,GAAW,GAKzC/3E,KAAK8C,KAAOA,EAKZ9C,KAAK4S,IAAMA,EAKX5S,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAMdmC,KAAK6W,OAASrV,EAAO6nB,OAAOjhB,OAAOpI,KAAMpC,EAAOC,EAAQ,KAAMk6E,GAM9D/3E,KAAKyN,QAAUzN,KAAK6W,OAAOsB,WAAW,MAAQlX,OAAO,IAKrDjB,KAAKg4E,IAAMh4E,KAAKyN,QAKhBzN,KAAK6N,eAAkB/K,EAAKknC,aAAexoC,EAAO2nB,OAAUrmB,EAAK8B,SAASe,cAAckI,eAAiBrM,EAAO6nB,OAAOC,mBAAmBtpB,KAAKyN,SAO/IzN,KAAKi4E,UAAYj4E,KAAKyN,QAAQqb,aAAa,EAAG,EAAGlrB,EAAOC,GAOxDmC,KAAKgU,KAAO,KAERhU,KAAKi4E,YAELj4E,KAAKgU,KAAOhU,KAAKi4E,UAAUjkE,MAM/BhU,KAAK+oB,OAAS,KAKV/oB,KAAKgU,OAEDhU,KAAKi4E,UAAUjkE,KAAK6G,QAEpB7a,KAAK6a,OAAS7a,KAAKi4E,UAAUjkE,KAAK6G,OAClC7a,KAAK+oB,OAAS,IAAI5G,YAAYniB,KAAK6a,SAI/B7K,OAAoB,aAEpBhQ,KAAK6a,OAAS,IAAIkH,YAAY/hB,KAAKi4E,UAAUjkE,KAAKrR,QAClD3C,KAAK+oB,OAAS,IAAI5G,YAAYniB,KAAK6a,SAInC7a,KAAK+oB,OAAS/oB,KAAKi4E,UAAUjkE,MASzChU,KAAKmG,YAAc,IAAI3H,KAAKurB,YAAY/pB,KAAK6W,OAAQ,KAAM7W,KAAK8C,KAAK6B,YAMrE3E,KAAKjC,QAAU,IAAIS,KAAK+N,QAAQvM,KAAKmG,aAKrCnG,KAAKgwE,UAAY,IAAIxuE,EAAO02E,UAM5Bl4E,KAAKm4E,aAAen4E,KAAKgwE,UAAUoI,SAAS,IAAI52E,EAAO62E,MAAM,EAAG,EAAG,EAAGz6E,EAAOC,EAAQ,eAErFmC,KAAKjC,QAAQiP,MAAQhN,KAAKm4E,aAM1Bn4E,KAAKoT,KAAO5R,EAAO0rB,WAKnBltB,KAAKs4E,sBAAuB,EAK5Bt4E,KAAKoR,OAAQ,EAGbpR,KAAKu4E,IAAMv4E,KAAKua,MAMhBva,KAAKw4E,OAAS,KAMdx4E,KAAKy4E,KAAO,IAAIj3E,EAAOX,MAMvBb,KAAK04E,MAAQ,IAAIl3E,EAAOX,MAMxBb,KAAK24E,OAAS,IAAIn3E,EAAOX,MAMzBb,KAAK44E,QAAU,EAMf54E,KAAK64E,QAAWC,KAAM,EAAGvxC,QAAS,GAMlCvnC,KAAK+4E,QAAU,IAAIv3E,EAAOX,MAM1Bb,KAAKg5E,OAAS,EAMdh5E,KAAKi5E,OAAS,EAMdj5E,KAAKk5E,OAAS,EAMdl5E,KAAKm5E,QAAU,IAAI33E,EAAOizB,OAM1Bz0B,KAAKo5E,iBAAc9yE,GAIvB9E,EAAOouE,WAAWttE,WAadoiD,KAAM,SAAU5gD,EAAGC,EAAGg2B,GAYlB,OAVU,IAANj2B,GAEA9D,KAAKq5E,MAAMv1E,EAAGi2B,GAGR,IAANh2B,GAEA/D,KAAKs5E,MAAMv1E,EAAGg2B,GAGX/5B,MAcXq5E,MAAO,SAAU/jD,EAAUyE,QAEVzzB,IAATyzB,IAAsBA,GAAO,QAERzzB,IAArBtG,KAAKo5E,cAELp5E,KAAKo5E,YAAc53E,EAAOsa,WAAW1T,OAAOpI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAGvE,IACIm6E,EADIh4E,KAAKo5E,YACDjhE,WAAW,MACnBgM,EAAInkB,KAAKnC,OACT4R,EAAMzP,KAAK6W,OAIf,GAFAmhE,EAAIpwD,UAAU,EAAG,EAAG5nB,KAAKpC,MAAOoC,KAAKnC,QAEjCy3B,EAAW,EACf,CACIA,EAAW7xB,KAAKgzB,IAAInB,GAGhBrgB,EAAIjV,KAAKpC,MAAQ03B,EAGjByE,GAEAi+C,EAAIppE,UAAUa,EAAK,EAAG,EAAG6lB,EAAUnR,EAAGlP,EAAG,EAAGqgB,EAAUnR,GAI1D6zD,EAAIppE,UAAUa,EAAK6lB,EAAU,EAAGrgB,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,OAGnD,CAEI,IAAIlP,EAAIjV,KAAKpC,MAAQ03B,EAGjByE,GAEAi+C,EAAIppE,UAAUa,EAAKwF,EAAG,EAAGqgB,EAAUnR,EAAG,EAAG,EAAGmR,EAAUnR,GAI1D6zD,EAAIppE,UAAUa,EAAK,EAAG,EAAGwF,EAAGkP,EAAGmR,EAAU,EAAGrgB,EAAGkP,GAKnD,OAFAnkB,KAAKua,QAEEva,KAAK6zB,KAAK7zB,KAAKo5E,cAc1BE,MAAO,SAAUhkD,EAAUyE,QAEVzzB,IAATyzB,IAAsBA,GAAO,QAERzzB,IAArBtG,KAAKo5E,cAELp5E,KAAKo5E,YAAc53E,EAAOsa,WAAW1T,OAAOpI,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAGvE,IACIm6E,EADIh4E,KAAKo5E,YACDjhE,WAAW,MACnBlD,EAAIjV,KAAKpC,MACT6R,EAAMzP,KAAK6W,OAIf,GAFAmhE,EAAIpwD,UAAU,EAAG,EAAG5nB,KAAKpC,MAAOoC,KAAKnC,QAEjCy3B,EAAW,EACf,CACIA,EAAW7xB,KAAKgzB,IAAInB,GAGhBnR,EAAInkB,KAAKnC,OAASy3B,EAGlByE,GAEAi+C,EAAIppE,UAAUa,EAAK,EAAG,EAAGwF,EAAGqgB,EAAU,EAAGnR,EAAGlP,EAAGqgB,GAInD0iD,EAAIppE,UAAUa,EAAK,EAAG6lB,EAAUrgB,EAAGkP,EAAG,EAAG,EAAGlP,EAAGkP,OAGnD,CAEI,IAAIA,EAAInkB,KAAKnC,OAASy3B,EAGlByE,GAEAi+C,EAAIppE,UAAUa,EAAK,EAAG0U,EAAGlP,EAAGqgB,EAAU,EAAG,EAAGrgB,EAAGqgB,GAInD0iD,EAAIppE,UAAUa,EAAK,EAAG,EAAGwF,EAAGkP,EAAG,EAAGmR,EAAUrgB,EAAGkP,GAKnD,OAFAnkB,KAAKua,QAEEva,KAAK6zB,KAAK7zB,KAAKo5E,cAY1BrgD,IAAK,SAAU6f,GAEX,GAAIvxC,MAAMC,QAAQsxC,GAEd,IAAK,IAAIl2C,EAAI,EAAGA,EAAIk2C,EAAOj2C,OAAQD,IAE3Bk2C,EAAOl2C,GAAgB,aAEvBk2C,EAAOl2C,GAAG81C,YAAYx4C,WAM9B44C,EAAOJ,YAAYx4C,MAGvB,OAAOA,MAcXimC,KAAM,SAAUj3B,GAOZ,GALsB,iBAAXA,IAEPA,EAAShP,KAAK8C,KAAK6W,MAAMy2D,SAASphE,IAGlCA,EAcJ,OAZIhP,KAAKkG,OAAO8I,EAAOpR,MAAOoR,EAAOnR,QACjCmC,KAAKu4E,MAOTv4E,KAAKu5E,KAAKvqE,GAEVhP,KAAK2kC,SAEE3kC,MA0BXua,MAAO,SAAUzW,EAAGC,EAAGnG,EAAOC,GAW1B,YATUyI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV1I,IAAuBA,EAAQoC,KAAKpC,YACzB0I,IAAXzI,IAAwBA,EAASmC,KAAKnC,QAE1CmC,KAAKyN,QAAQma,UAAU9jB,EAAGC,EAAGnG,EAAOC,GAEpCmC,KAAKoR,OAAQ,EAENpR,MAcXulD,KAAM,SAAUthD,EAAGqW,EAAGpX,EAAGD,GAQrB,YANUqD,IAANrD,IAAmBA,EAAI,GAE3BjD,KAAKyN,QAAQ8a,UAAY,QAAUtkB,EAAI,IAAMqW,EAAI,IAAMpX,EAAI,IAAMD,EAAI,IACrEjD,KAAKyN,QAAQib,SAAS,EAAG,EAAG1oB,KAAKpC,MAAOoC,KAAKnC,QAC7CmC,KAAKoR,OAAQ,EAENpR,MAgDX0E,gBAAiB,SAAUkO,EAAKuhC,EAAUtL,GAEtC,IAAIlvB,EAAQ3Z,KAAK8C,KAAK6W,MAClBE,EAAQ,IAAI83D,MAgBhB,GAdIx9B,IAEAt6B,EAAM2/D,OAAS,WACX,IAAI5nD,EAAMjY,EAAM8/D,SAAS7mE,EAAK,GAAIiH,GAC9B9b,EAAU,IAAIS,KAAK+N,QAAQqlB,EAAI7X,MAEnCo6B,EAAS5vC,KAAKskC,GAAmB,KAAM9qC,GAEvC8b,EAAM2/D,OAAS,OAIvB3/D,EAAMpK,IAAMzP,KAAK6W,OAAO6iE,UAAU,cAE7BvlC,EACL,CACI,IAAIviB,EAAMjY,EAAM8/D,SAAS7mE,EAAK,GAAIiH,GAElC,OAAO,IAAIrb,KAAK+N,QAAQqlB,EAAI7X,MAGhC,OAAO,MAYX7T,OAAQ,SAAUtI,EAAOC,GAgCrB,OA9BID,IAAUoC,KAAKpC,OAASC,IAAWmC,KAAKnC,SAExCmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAK6W,OAAOjZ,MAAQA,EACpBoC,KAAK6W,OAAOhZ,OAASA,OAEIyI,IAArBtG,KAAKo5E,cAELp5E,KAAKo5E,YAAYx7E,MAAQA,EACzBoC,KAAKo5E,YAAYv7E,OAASA,GAG9BmC,KAAKmG,YAAYvI,MAAQA,EACzBoC,KAAKmG,YAAYtI,OAASA,EAE1BmC,KAAKm4E,aAAav6E,MAAQA,EAC1BoC,KAAKm4E,aAAat6E,OAASA,EAE3BmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQwP,KAAK3P,MAAQA,EAC1BoC,KAAKjC,QAAQwP,KAAK1P,OAASA,EAE3BmC,KAAK2kC,SACL3kC,KAAKoR,OAAQ,GAGVpR,MAkBX2kC,OAAQ,SAAU7gC,EAAGC,EAAGnG,EAAOC,GA4B3B,YA1BUyI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV1I,IAAuBA,EAAQ6F,KAAKuC,IAAI,EAAGhG,KAAKpC,aACrC0I,IAAXzI,IAAwBA,EAAS4F,KAAKuC,IAAI,EAAGhG,KAAKnC,SAEtDmC,KAAKi4E,UAAYj4E,KAAKyN,QAAQqb,aAAahlB,EAAGC,EAAGnG,EAAOC,GACxDmC,KAAKgU,KAAOhU,KAAKi4E,UAAUjkE,KAEvBhU,KAAKi4E,UAAUjkE,KAAK6G,QAEpB7a,KAAK6a,OAAS7a,KAAKi4E,UAAUjkE,KAAK6G,OAClC7a,KAAK+oB,OAAS,IAAI5G,YAAYniB,KAAK6a,SAI/B7K,OAAoB,aAEpBhQ,KAAK6a,OAAS,IAAIkH,YAAY/hB,KAAKi4E,UAAUjkE,KAAKrR,QAClD3C,KAAK+oB,OAAS,IAAI5G,YAAYniB,KAAK6a,SAInC7a,KAAK+oB,OAAS/oB,KAAKi4E,UAAUjkE,KAI9BhU,MAuBX25E,gBAAiB,SAAUxlC,EAAUtL,EAAiB/kC,EAAGC,EAAGnG,EAAOC,QAErDyI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV1I,IAAuBA,EAAQoC,KAAKpC,YACzB0I,IAAXzI,IAAwBA,EAASmC,KAAKnC,QAQ1C,IAAK,IANDoX,EAAInR,EAAIlG,EACRumB,EAAIpgB,EAAIlG,EACR+7E,EAAQp4E,EAAOue,MAAM85D,cACrBnhD,GAAWz0B,EAAG,EAAGqW,EAAG,EAAGpX,EAAG,EAAGD,EAAG,GAChCmO,GAAQ,EAEH9N,EAAKS,EAAGT,EAAK6gB,EAAG7gB,IAErB,IAAK,IAAID,EAAKS,EAAGT,EAAK4R,EAAG5R,IAErB7B,EAAOue,MAAM+5D,YAAY95E,KAAK+5E,WAAW12E,EAAIC,GAAKs2E,IAInC,KAFflhD,EAASyb,EAAS5vC,KAAKskC,EAAiB+wC,EAAOv2E,EAAIC,KAEhB,OAAXo1B,QAA8BpyB,IAAXoyB,IAEvC14B,KAAKg6E,WAAW32E,EAAIC,EAAIo1B,EAAOz0B,EAAGy0B,EAAOpe,EAAGoe,EAAOx1B,EAAGw1B,EAAOz1B,GAAG,GAChEmO,GAAQ,GAWpB,OANIA,IAEApR,KAAKyN,QAAQwb,aAAajpB,KAAKi4E,UAAW,EAAG,GAC7Cj4E,KAAKoR,OAAQ,GAGVpR,MAoBXi6E,aAAc,SAAU9lC,EAAUtL,EAAiB/kC,EAAGC,EAAGnG,EAAOC,QAElDyI,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV1I,IAAuBA,EAAQoC,KAAKpC,YACzB0I,IAAXzI,IAAwBA,EAASmC,KAAKnC,QAQ1C,IAAK,IANDoX,EAAInR,EAAIlG,EACRumB,EAAIpgB,EAAIlG,EACR+7E,EAAQ,EACRlhD,EAAS,EACTtnB,GAAQ,EAEH9N,EAAKS,EAAGT,EAAK6gB,EAAG7gB,IAErB,IAAK,IAAID,EAAKS,EAAGT,EAAK4R,EAAG5R,IAErBu2E,EAAQ55E,KAAK+5E,WAAW12E,EAAIC,IAC5Bo1B,EAASyb,EAAS5vC,KAAKskC,EAAiB+wC,EAAOv2E,EAAIC,MAEpCs2E,IAEX55E,KAAK+oB,OAAOzlB,EAAKtD,KAAKpC,MAAQyF,GAAMq1B,EACpCtnB,GAAQ,GAWpB,OANIA,IAEApR,KAAKyN,QAAQwb,aAAajpB,KAAKi4E,UAAW,EAAG,GAC7Cj4E,KAAKoR,OAAQ,GAGVpR,MAoBXk6E,WAAY,SAAUC,EAAIC,EAAIlgD,EAAIF,EAAIqgD,EAAIC,EAAIngD,EAAIF,EAAIsgD,GAElD,IAAI5gD,EAAK,EACLC,EAAK,EACL3kB,EAAIjV,KAAKpC,MACTumB,EAAInkB,KAAKnC,OACTmR,EAASxN,EAAOue,MAAMy6D,UAAUL,EAAIC,EAAIlgD,EAAIF,QAEjC1zB,IAAXi0E,GAAwBA,aAAkB/4E,EAAOS,YAEjD03B,EAAK4gD,EAAOz2E,EACZ81B,EAAK2gD,EAAOx2E,EACZkR,EAAIslE,EAAO38E,MACXumB,EAAIo2D,EAAO18E,QAGf,IAAK,IAAIkG,EAAI,EAAGA,EAAIogB,EAAGpgB,IAEnB,IAAK,IAAID,EAAI,EAAGA,EAAImR,EAAGnR,IAEf9D,KAAK+5E,WAAWpgD,EAAK71B,EAAG81B,EAAK71B,KAAOiL,GAEpChP,KAAKg6E,WAAWrgD,EAAK71B,EAAG81B,EAAK71B,EAAGs2E,EAAIC,EAAIngD,EAAIF,GAAI,GAQ5D,OAHAj6B,KAAKyN,QAAQwb,aAAajpB,KAAKi4E,UAAW,EAAG,GAC7Cj4E,KAAKoR,OAAQ,EAENpR,MAcXy6E,OAAQ,SAAUt2D,EAAG/f,EAAG2yB,EAAGwjD,GAEvB,IAAIG,EAASv2D,GAAW,IAANA,EACdw2D,EAASv2E,GAAW,IAANA,EACdw2E,EAAS7jD,GAAW,IAANA,EAElB,GAAK2jD,GAAWC,GAAWC,EAA3B,MAKet0E,IAAXi0E,IAEAA,EAAS,IAAI/4E,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAOoC,KAAKnC,SAKzD,IAAK,IAFD+7E,EAAQp4E,EAAOue,MAAM85D,cAEhB91E,EAAIw2E,EAAOx2E,EAAGA,EAAIw2E,EAAOnkD,OAAQryB,IAEtC,IAAK,IAAID,EAAIy2E,EAAOz2E,EAAGA,EAAIy2E,EAAOhnD,MAAOzvB,IAErCtC,EAAOue,MAAM+5D,YAAY95E,KAAK+5E,WAAWj2E,EAAGC,GAAI61E,GAAO,GAEnDc,IAEAd,EAAMz1D,EAAIA,GAGVw2D,IAEAf,EAAMx1E,EAAIA,GAGVw2E,IAEAhB,EAAM7iD,EAAIA,GAGdv1B,EAAOue,MAAM86D,SAASjB,EAAMz1D,EAAGy1D,EAAMx1E,EAAGw1E,EAAM7iD,EAAG6iD,GACjD55E,KAAKg6E,WAAWl2E,EAAGC,EAAG61E,EAAM31E,EAAG21E,EAAMt/D,EAAGs/D,EAAM12E,EAAG02E,EAAM32E,GAAG,GAOlE,OAHAjD,KAAKyN,QAAQwb,aAAajpB,KAAKi4E,UAAW,EAAG,GAC7Cj4E,KAAKoR,OAAQ,EAENpR,OAgBX86E,SAAU,SAAU32D,EAAG/f,EAAG2yB,EAAGwjD,GAMzB,QAJUj0E,IAAN6d,GAAyB,OAANA,IAAcA,GAAI,QAC/B7d,IAANlC,GAAyB,OAANA,IAAcA,GAAI,QAC/BkC,IAANywB,GAAyB,OAANA,IAAcA,GAAI,GAEpC5S,GAAM/f,GAAM2yB,EAAjB,MAKezwB,IAAXi0E,IAEAA,EAAS,IAAI/4E,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAOoC,KAAKnC,SAKzD,IAAK,IAFD+7E,EAAQp4E,EAAOue,MAAM85D,cAEhB91E,EAAIw2E,EAAOx2E,EAAGA,EAAIw2E,EAAOnkD,OAAQryB,IAEtC,IAAK,IAAID,EAAIy2E,EAAOz2E,EAAGA,EAAIy2E,EAAOhnD,MAAOzvB,IAErCtC,EAAOue,MAAM+5D,YAAY95E,KAAK+5E,WAAWj2E,EAAGC,GAAI61E,GAAO,GAEnDz1D,IAEAy1D,EAAMz1D,EAAInkB,KAAK8C,KAAKuiC,KAAKtL,KAAK6/C,EAAMz1D,EAAIA,EAAG,EAAG,IAG9C/f,IAEAw1E,EAAMx1E,EAAIpE,KAAK8C,KAAKuiC,KAAK9I,MAAMq9C,EAAMx1E,EAAIA,EAAG,EAAG,IAG/C2yB,IAEA6iD,EAAM7iD,EAAI/2B,KAAK8C,KAAKuiC,KAAK9I,MAAMq9C,EAAM7iD,EAAIA,EAAG,EAAG,IAGnDv1B,EAAOue,MAAM86D,SAASjB,EAAMz1D,EAAGy1D,EAAMx1E,EAAGw1E,EAAM7iD,EAAG6iD,GACjD55E,KAAKg6E,WAAWl2E,EAAGC,EAAG61E,EAAM31E,EAAG21E,EAAMt/D,EAAGs/D,EAAM12E,EAAG02E,EAAM32E,GAAG,GAOlE,OAHAjD,KAAKyN,QAAQwb,aAAajpB,KAAKi4E,UAAW,EAAG,GAC7Cj4E,KAAKoR,OAAQ,EAENpR,OAiBXg6E,WAAY,SAAUl2E,EAAGC,EAAGg3E,EAAKC,EAAOC,EAAMh6E,EAAOi6E,GAsBjD,YApBkB50E,IAAd40E,IAA2BA,GAAY,GAEvCp3E,GAAK,GAAKA,GAAK9D,KAAKpC,OAASmG,GAAK,GAAKA,GAAK/D,KAAKnC,SAE7C2D,EAAOs5C,OAAOqgC,cAEdn7E,KAAK+oB,OAAOhlB,EAAI/D,KAAKpC,MAAQkG,GAAM7C,GAAS,GAAOg6E,GAAQ,GAAOD,GAAS,EAAKD,EAIhF/6E,KAAK+oB,OAAOhlB,EAAI/D,KAAKpC,MAAQkG,GAAMi3E,GAAO,GAAOC,GAAS,GAAOC,GAAQ,EAAKh6E,EAG9Ei6E,IAEAl7E,KAAKyN,QAAQwb,aAAajpB,KAAKi4E,UAAW,EAAG,GAC7Cj4E,KAAKoR,OAAQ,IAIdpR,MAgBXo7E,SAAU,SAAUt3E,EAAGC,EAAGg3E,EAAKC,EAAOC,EAAMC,GAExC,OAAOl7E,KAAKg6E,WAAWl2E,EAAGC,EAAGg3E,EAAKC,EAAOC,EAAM,IAAKC,IAexDG,SAAU,SAAUv3E,EAAGC,EAAGgxB,GAEjBA,IAEDA,EAAMvzB,EAAOue,MAAM85D,eAGvB,IAAIrxE,KAAW1E,EAAKC,EAAI/D,KAAKpC,OAS7B,OAPA4K,GAAS,EAETusB,EAAI9wB,EAAIjE,KAAKgU,KAAKxL,GAClBusB,EAAIza,EAAIta,KAAKgU,OAAOxL,GACpBusB,EAAI7xB,EAAIlD,KAAKgU,OAAOxL,GACpBusB,EAAI9xB,EAAIjD,KAAKgU,OAAOxL,GAEbusB,GAeXglD,WAAY,SAAUj2E,EAAGC,GAErB,GAAID,GAAK,GAAKA,GAAK9D,KAAKpC,OAASmG,GAAK,GAAKA,GAAK/D,KAAKnC,OAEjD,OAAOmC,KAAK+oB,OAAOhlB,EAAI/D,KAAKpC,MAAQkG,IAkB5Cw3E,YAAa,SAAUx3E,EAAGC,EAAGgxB,EAAKwmD,EAAKC,GAEnC,OAAOh6E,EAAOue,MAAM+5D,YAAY95E,KAAK+5E,WAAWj2E,EAAGC,GAAIgxB,EAAKwmD,EAAKC,IAWrEC,UAAW,SAAU/gD,GAEjB,OAAO16B,KAAKyN,QAAQqb,aAAa4R,EAAK52B,EAAG42B,EAAK32B,EAAG22B,EAAK98B,MAAO88B,EAAK78B,SAmBtE69E,cAAe,SAAUr3C,QAEH/9B,IAAd+9B,IAA2BA,EAAY,GAE3C,IAAIu1C,EAAQp4E,EAAOue,MAAM85D,cAErB/1E,EAAI,EACJC,EAAI,EACJ65C,EAAI,EACJ+9B,GAAO,EAEO,IAAdt3C,GAEAuZ,GAAK,EACL75C,EAAI/D,KAAKnC,QAEU,IAAdwmC,IAELuZ,GAAK,EACL95C,EAAI9D,KAAKpC,OAGb,GAEI4D,EAAOue,MAAM+5D,YAAY95E,KAAK+5E,WAAWj2E,EAAGC,GAAI61E,GAE9B,IAAdv1C,GAAiC,IAAdA,IAGnBvgC,IAEU9D,KAAKpC,QAEXkG,EAAI,IACJC,GAAK65C,IAEI59C,KAAKnC,QAAUkG,GAAK,KAEzB43E,GAAO,IAII,IAAdt3C,GAAiC,IAAdA,KAGxBtgC,IAEU/D,KAAKnC,SAEXkG,EAAI,IACJD,GAAK85C,IAEI59C,KAAKpC,OAASkG,GAAK,KAExB63E,GAAO,UAKJ,IAAZ/B,EAAM32E,IAAY04E,GAKzB,OAHA/B,EAAM91E,EAAIA,EACV81E,EAAM71E,EAAIA,EAEH61E,GAYXhwE,UAAW,SAAU8wB,GAOjB,YALap0B,IAATo0B,IAAsBA,EAAO,IAAIl5B,EAAOS,WAE5Cy4B,EAAK52B,EAAI9D,KAAK07E,cAAc,GAAG53E,EAG3B42B,EAAK52B,IAAM9D,KAAKpC,MAET88B,EAAKxF,MAAM,EAAG,EAAG,EAAG,IAG/BwF,EAAK32B,EAAI/D,KAAK07E,cAAc,GAAG33E,EAC/B22B,EAAK98B,MAASoC,KAAK07E,cAAc,GAAG53E,EAAI42B,EAAK52B,EAAK,EAClD42B,EAAK78B,OAAUmC,KAAK07E,cAAc,GAAG33E,EAAI22B,EAAK32B,EAAK,EAE5C22B,IAgBXoT,WAAY,SAAUhqC,EAAGC,EAAGgqC,EAASC,EAASxpB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,EAEnB,IAAI7K,EAAQ7Z,KAAK8C,KAAKi2B,IAAIlf,MAAM/V,EAAGC,EAAG/D,MAKtC,OAHA6Z,EAAMnT,OAAOK,IAAIgnC,EAASC,GAC1Bn0B,EAAM/Y,MAAMiG,IAAIyd,EAAQE,GAEjB7K,GAuCXga,KAAM,SAAU7kB,EAAQlL,EAAGC,EAAGnG,EAAOC,EAAQwF,EAAIC,EAAIs4E,EAAUC,EAAWvjD,EAAQyV,EAASC,EAASxpB,EAAQE,EAAQzjB,EAAO4G,EAAWg6B,GAWlI,QATev7B,IAAX0I,GAAmC,OAAXA,IAAmBA,EAAShP,MAEpDgP,aAAkBxN,EAAOwD,gBAEzBgK,EAASA,EAAO8sE,aAGpB97E,KAAKw4E,OAASxpE,EAEVA,aAAkBxN,EAAOqE,QAAUmJ,aAAkBxN,EAAOmwE,OAAS3iE,aAAkBxN,EAAOgxE,MAAQxjE,aAAkBxQ,KAAKqH,OAG7H7F,KAAKy4E,KAAK1xE,IAAIiI,EAAOjR,QAAQwP,KAAKzJ,EAAGkL,EAAOjR,QAAQwP,KAAKxJ,GACzD/D,KAAK04E,MAAM3xE,IAAIiI,EAAOjR,QAAQwP,KAAK3P,MAAOoR,EAAOjR,QAAQwP,KAAK1P,QAC9DmC,KAAK24E,OAAO5xE,IAAIiI,EAAOlO,MAAMgD,EAAGkL,EAAOlO,MAAMiD,GAC7C/D,KAAK+4E,QAAQhyE,IAAIiI,EAAOtI,OAAO5C,EAAGkL,EAAOtI,OAAO3C,GAChD/D,KAAK44E,QAAU5pE,EAAOhO,SACtBhB,KAAK64E,OAAOtxC,QAAUv4B,EAAO/N,MAEzB+N,EAAOjR,mBAAmByD,EAAOwD,cAEjChF,KAAKw4E,OAASxpE,EAAOjR,QAAQ+9E,YAI7B97E,KAAKw4E,OAASxpE,EAAOjR,QAAQoI,YAAY6I,YAGlC1I,IAAPjD,GAA2B,OAAPA,IAAeA,EAAK2L,EAAOlL,QACxCwC,IAAPhD,GAA2B,OAAPA,IAAeA,EAAK0L,EAAOjL,GAE/CiL,EAAOjR,QAAQgQ,OAGf1K,GAAM2L,EAAOjR,QAAQgQ,KAAKjK,EAAIkL,EAAOtI,OAAO5C,EAAIkL,EAAOjR,QAAQgQ,KAAKnQ,MACpE0F,GAAM0L,EAAOjR,QAAQgQ,KAAKhK,EAAIiL,EAAOtI,OAAO3C,EAAIiL,EAAOjR,QAAQgQ,KAAKlQ,QAGpD,WAAhBmR,EAAOvC,OAEHuC,EAAOtC,aAAesC,EAAOvC,OAE7BuC,EAAOtC,WAAasC,EAAOvC,KAC3BuC,EAAOrC,cAAgBnO,KAAKkQ,aAAaC,iBAAiBK,EAAQA,EAAOvC,OAG7EzM,KAAKw4E,OAASxpE,EAAOrC,cACrB3M,KAAKy4E,KAAK1xE,IAAI,QAItB,CAQI,GANA/G,KAAKy4E,KAAK1xE,IAAI,GACd/G,KAAK24E,OAAO5xE,IAAI,GAChB/G,KAAK+4E,QAAQhyE,IAAI,GACjB/G,KAAK44E,QAAU,EACf54E,KAAK64E,OAAOtxC,QAAU,EAElBv4B,aAAkBxN,EAAOouE,WAEzB5vE,KAAKw4E,OAASxpE,EAAO6H,YAEpB,GAAsB,iBAAX7H,EAChB,CAGI,GAAe,QAFfA,EAAShP,KAAK8C,KAAK6W,MAAMy2D,SAASphE,IAI9B,OAIAhP,KAAKw4E,OAASxpE,EAItBhP,KAAK04E,MAAM3xE,IAAI/G,KAAKw4E,OAAO56E,MAAOoC,KAAKw4E,OAAO36E,QA6DlD,QAzDUyI,IAANxC,GAAyB,OAANA,IAAcA,EAAI,QAC/BwC,IAANvC,GAAyB,OAANA,IAAcA,EAAI,GAGrCnG,IAEAoC,KAAK04E,MAAM50E,EAAIlG,GAGfC,IAEAmC,KAAK04E,MAAM30E,EAAIlG,QAIRyI,IAAPjD,GAA2B,OAAPA,IAAeA,EAAKS,QACjCwC,IAAPhD,GAA2B,OAAPA,IAAeA,EAAKS,QAC3BuC,IAAbs1E,GAAuC,OAAbA,IAAqBA,EAAW57E,KAAK04E,MAAM50E,QACvDwC,IAAdu1E,GAAyC,OAAdA,IAAsBA,EAAY77E,KAAK04E,MAAM30E,GAGtD,iBAAXu0B,IAEPt4B,KAAK44E,QAAUtgD,GAII,iBAAZyV,IAEP/tC,KAAK+4E,QAAQj1E,EAAIiqC,GAGE,iBAAZC,IAEPhuC,KAAK+4E,QAAQh1E,EAAIiqC,GAIC,iBAAXxpB,IAEPxkB,KAAK24E,OAAO70E,EAAI0gB,GAGE,iBAAXE,IAEP1kB,KAAK24E,OAAO50E,EAAI2gB,GAIC,iBAAVzjB,IAEPjB,KAAK64E,OAAOtxC,QAAUtmC,QAGRqF,IAAduB,IAA2BA,EAAY,WAC3BvB,IAAZu7B,IAAyBA,GAAU,KAEnC7hC,KAAK64E,OAAOtxC,SAAW,GAAuB,IAAlBvnC,KAAK24E,OAAO70E,GAA6B,IAAlB9D,KAAK24E,OAAO50E,GAA4B,IAAjB/D,KAAK04E,MAAM50E,GAA4B,IAAjB9D,KAAK04E,MAAM30E,GAA/G,CAMA,IAAIi0E,EAAMh4E,KAAKyN,QAoCf,OAlCAzN,KAAK64E,OAAOC,KAAOd,EAAIpqE,YAEvBoqE,EAAIlwD,OAEJkwD,EAAIpqE,YAAc5N,KAAK64E,OAAOtxC,QAE1B1/B,IAEA7H,KAAK+7E,GAAKl0E,GAGVg6B,IAEAx+B,GAAM,EACNC,GAAM,GAIV00E,EAAIr8C,UAAUt4B,EAAIC,GAElB00E,EAAIl3E,MAAMd,KAAK24E,OAAO70E,EAAG9D,KAAK24E,OAAO50E,GAErCi0E,EAAI1/C,OAAOt4B,KAAK44E,SAEhBZ,EAAIppE,UAAU5O,KAAKw4E,OAAQx4E,KAAKy4E,KAAK30E,EAAIA,EAAG9D,KAAKy4E,KAAK10E,EAAIA,EAAG/D,KAAK04E,MAAM50E,EAAG9D,KAAK04E,MAAM30E,GAAI63E,EAAW57E,KAAK+4E,QAAQj1E,GAAI+3E,EAAY77E,KAAK+4E,QAAQh1E,EAAG63E,EAAUC,GAI5J7D,EAAI5vD,UAEJ4vD,EAAIpqE,YAAc5N,KAAK64E,OAAOC,KAE9B94E,KAAKoR,OAAQ,EAENpR,OAiBXg8E,cAAe,SAAUhtE,EAAQnH,EAAWg6B,GAKxC,QAHkBv7B,IAAduB,IAA2BA,EAAY,WAC3BvB,IAAZu7B,IAAyBA,GAAU,IAElC7yB,EAAOoiB,eAAe,oBAAsBpiB,EAAO/H,cAAsC,IAAtB+H,EAAO1N,WAE3E,OAAOtB,KAGX,IAAIwD,EAAKwL,EAAOzN,eAKhB,GAHAvB,KAAKy4E,KAAK1xE,IAAIiI,EAAOjR,QAAQwP,KAAKzJ,EAAGkL,EAAOjR,QAAQwP,KAAKxJ,GACzD/D,KAAK04E,MAAM3xE,IAAIiI,EAAOjR,QAAQwP,KAAK3P,MAAOoR,EAAOjR,QAAQwP,KAAK1P,QAEjD,IAAT2F,EAAGP,GAAoB,IAATO,EAAGJ,GAA4B,IAAjBpD,KAAK04E,MAAM50E,GAA4B,IAAjB9D,KAAK04E,MAAM30E,EAG7D,OAAO/D,KAGPgP,EAAOjR,mBAAmByD,EAAOwD,cAEjChF,KAAKw4E,OAASxpE,EAAOjR,QAAQ+9E,YAI7B97E,KAAKw4E,OAASxpE,EAAOjR,QAAQoI,YAAY6I,OAG7C,IAAI3L,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAER0L,EAAOjR,QAAQgQ,OAGf1K,GAAM2L,EAAOjR,QAAQgQ,KAAKjK,EAAIkL,EAAOtI,OAAO5C,EAAIkL,EAAOjR,QAAQgQ,KAAKnQ,MACpE0F,GAAM0L,EAAOjR,QAAQgQ,KAAKhK,EAAIiL,EAAOtI,OAAO3C,EAAIiL,EAAOjR,QAAQgQ,KAAKlQ,QAGpD,WAAhBmR,EAAOvC,OAEHuC,EAAOtC,aAAesC,EAAOvC,OAE7BuC,EAAOtC,WAAasC,EAAOvC,KAC3BuC,EAAOrC,cAAgBnO,KAAKkQ,aAAaC,iBAAiBK,EAAQA,EAAOvC,OAG7EzM,KAAKw4E,OAASxpE,EAAOrC,cACrB3M,KAAKy4E,KAAK1xE,IAAI,IAGd86B,IAEAx+B,GAAM,EACNC,GAAM,GAGV,IAAI00E,EAAMh4E,KAAKyN,QAiCf,OA/BAzN,KAAK64E,OAAOC,KAAOd,EAAIpqE,YAEvBoqE,EAAIlwD,OAEJkwD,EAAIpqE,YAAc5N,KAAK64E,OAAOtxC,QAE1B1/B,IAEA7H,KAAK+7E,GAAKl0E,GAGdmwE,EAAIh4E,KAAK6N,gBAAmBmB,EAAOjR,QAAQoI,YAAYrI,YAAcU,KAAKC,WAAWC,OAErFs5E,EAAIxpE,aAAahL,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGC,EAAIC,GAE7C00E,EAAIppE,UAAU5O,KAAKw4E,OACfx4E,KAAKy4E,KAAK30E,EACV9D,KAAKy4E,KAAK10E,EACV/D,KAAK04E,MAAM50E,EACX9D,KAAK04E,MAAM30E,GACV/D,KAAK04E,MAAM50E,EAAIkL,EAAOtI,OAAO5C,GAC7B9D,KAAK04E,MAAM30E,EAAIiL,EAAOtI,OAAO3C,EAC9B/D,KAAK04E,MAAM50E,EACX9D,KAAK04E,MAAM30E,GAEfi0E,EAAI5vD,UAEJ4vD,EAAIpqE,YAAc5N,KAAK64E,OAAOC,KAE9B94E,KAAKoR,OAAQ,EAENpR,MAiBXi8E,SAAU,SAAUjtE,EAAQ+vB,EAAMj7B,EAAGC,EAAG9C,EAAO4G,EAAWg6B,GAEtD,OAAO7hC,KAAK6zB,KAAK7kB,EAAQ+vB,EAAKj7B,EAAGi7B,EAAKh7B,EAAGg7B,EAAKnhC,MAAOmhC,EAAKlhC,OAAQiG,EAAGC,EAAGg7B,EAAKnhC,MAAOmhC,EAAKlhC,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGoD,EAAO4G,EAAWg6B,IAyBtI03C,KAAM,SAAUvqE,EAAQlL,EAAGC,EAAGnG,EAAOC,EAAQgK,EAAWg6B,GAGpD,OAAO7hC,KAAK6zB,KAAK7kB,EAAQ,KAAM,KAAM,KAAM,KAAMlL,EAAGC,EAAGnG,EAAOC,EAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAMgK,EAAWg6B,IAwBzHq6C,UAAW,SAAUxiC,EAAO7xC,EAAWg6B,GAOnC,OALI6X,EAAMxB,MAAQ,GAEdwB,EAAMlC,cAAcx3C,KAAKm8E,eAAgBn8E,KAAM6H,EAAWg6B,GAGvD7hC,MAaXm8E,eAAgB,SAAU7zE,EAAOT,EAAWg6B,GAOxC,GALIv5B,EAAM8oB,eAAe,YAErBpxB,KAAKg8E,cAAc1zE,EAAOT,EAAWg6B,GAGrCv5B,EAAM8K,OAAS5R,EAAOorB,OAAStkB,EAAMuE,OAErC7M,KAAKk8E,UAAU5zE,EAAOT,EAAWg6B,QAIjC,GAAIv5B,EAAM8oB,eAAe,aAAe9oB,EAAM7F,SAASE,OAAS,EAE5D,IAAK,IAAID,EAAI,EAAGA,EAAI4F,EAAM7F,SAASE,OAAQD,IAEnC4F,EAAM7F,SAASC,GAAGmK,QAElB7M,KAAKg8E,cAAc1zE,EAAM7F,SAASC,GAAImF,EAAWg6B,IA+BrEu6C,SAAU,SAAU/6E,EAAQwG,EAAWg6B,GAEnC,IAA4B,IAAxBxgC,EAAO4F,cAAgD,IAAtB5F,EAAOC,YAAqBD,EAAO+vB,eAAe,YAA+B,IAAlB/vB,EAAOwL,OAEvG,OAAO7M,KAGX,GAAIqB,EAAO+R,OAAS5R,EAAOorB,OAASvrB,EAAO+R,OAAS5R,EAAOwrB,SAAW3rB,EAAO+R,OAAS5R,EAAOmrB,WAEzF,GAAItrB,EAAO+R,OAAS5R,EAAOgrB,SAC3B,CACI,IAAI3nB,EAASxD,EAAOuI,YACpB5J,KAAKg4E,IAAIlwD,OACT9nB,KAAKg4E,IAAIr8C,UAAU92B,EAAOf,EAAGe,EAAOd,GACpCvF,KAAKypB,eAAeo0D,eAAeh7E,EAAQrB,KAAKg4E,KAChDh4E,KAAKg4E,IAAI5vD,eAITpoB,KAAK6zB,KAAKxyB,EAAQ,KAAM,KAAM,KAAM,KAAMA,EAAOK,cAAcoC,EAAGzC,EAAOK,cAAcqC,EAAG,KAAM,KAAM1C,EAAOO,cAAe,KAAM,KAAMP,EAAOM,WAAWmC,EAAGzC,EAAOM,WAAWoC,EAAG1C,EAAOC,WAAYuG,EAAWg6B,GAIxN,GAAIxgC,EAAOoB,SAEP,IAAK,IAAIC,EAAI,EAAGA,EAAIrB,EAAOoB,SAASE,OAAQD,IAExC1C,KAAKo8E,SAAS/6E,EAAOoB,SAASC,GAAImF,EAAWg6B,GAIrD,OAAO7hC,MAgBXs8E,OAAQ,SAAUrmE,EAAOsmE,EAAMz4E,EAAGC,GAE9B,IAAIi0E,EAAMh4E,KAAKyN,QAcf,YAZcnH,IAAV2P,GAAiC,OAAVA,EAEvB+hE,EAAIwE,YAAc,iBAIlBxE,EAAIwE,YAAcvmE,EAClB+hE,EAAIyE,WAAaF,GAAQ,EACzBvE,EAAI0E,cAAgB54E,GAAK,GACzBk0E,EAAI2E,cAAgB54E,GAAK,IAGtB/D,MAcX48E,UAAW,SAAU5tE,EAAQ7H,EAAM01E,EAAYC,GAoB3C,YAlBiBx2E,IAAbw2E,GAAuC,OAAbA,EAE1B98E,KAAKu5E,KAAKpyE,GAAM41E,kBAIhB/8E,KAAKu5E,KAAKpyE,EAAM21E,EAASh5E,EAAGg5E,EAAS/4E,EAAG+4E,EAASl/E,MAAOk/E,EAASj/E,QAAQk/E,uBAG1Dz2E,IAAfu2E,GAA2C,OAAfA,EAE5B78E,KAAKu5E,KAAKvqE,GAAQguE,aAIlBh9E,KAAKu5E,KAAKvqE,EAAQ6tE,EAAW/4E,EAAG+4E,EAAW94E,EAAG84E,EAAWj/E,MAAOi/E,EAAWh/E,QAAQm/E,aAGhFh9E,MA0BXi9E,QAAS,SAAUC,EAAaj5E,EAAGqW,EAAGpX,EAAGD,EAAGiD,EAAQm0E,EAAIC,EAAIngD,GA2BxD,YAzBU7zB,IAANrD,IAAmBA,EAAI,UACZqD,IAAXJ,IAAwBA,GAAS,QAC1BI,IAAP+zE,IAAoBA,EAAKp2E,QAClBqC,IAAPg0E,IAAoBA,EAAKhgE,QAClBhU,IAAP6zB,IAAoBA,EAAKj3B,GAEzBgD,GAEAg3E,EAAYh3E,OAAOlG,KAAKpC,MAAOoC,KAAKnC,QAGxCmC,KAAK25E,gBACD,SAAUC,EAAO91E,EAAGC,GAMhB,OAJI61E,EAAM31E,IAAMA,GAAK21E,EAAMt/D,IAAMA,GAAKs/D,EAAM12E,IAAMA,GAE9Cg6E,EAAYlD,WAAWl2E,EAAGC,EAAGs2E,EAAIC,EAAIngD,EAAIl3B,GAAG,IAEzC,GAEXjD,MAEJk9E,EAAYzvE,QAAQwb,aAAai0D,EAAYjF,UAAW,EAAG,GAC3DiF,EAAY9rE,OAAQ,EAEb8rE,GAeXxiD,KAAM,SAAU52B,EAAGC,EAAGnG,EAAOC,EAAQ0qB,GASjC,YAPyB,IAAdA,IAEPvoB,KAAKyN,QAAQ8a,UAAYA,GAG7BvoB,KAAKyN,QAAQib,SAAS5kB,EAAGC,EAAGnG,EAAOC,GAE5BmC,MAkBXuyE,KAAM,SAAUA,EAAMzuE,EAAGC,EAAGovE,EAAMl9D,EAAOqmE,QAE3Bh2E,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACduC,IAAT6sE,IAAsBA,EAAO,qBACnB7sE,IAAV2P,IAAuBA,EAAQ,yBACpB3P,IAAXg2E,IAAwBA,GAAS,GAErC,IAAItE,EAAMh4E,KAAKyN,QACX0vE,EAAWnF,EAAI7E,KAenB,OAbA6E,EAAI7E,KAAOA,EAEPmJ,IAEAtE,EAAIzvD,UAAY,aAChByvD,EAAIoF,SAAS7K,EAAMzuE,EAAI,EAAGC,EAAI,IAGlCi0E,EAAIzvD,UAAYtS,EAChB+hE,EAAIoF,SAAS7K,EAAMzuE,EAAGC,GAEtBi0E,EAAI7E,KAAOgK,EAEJn9E,MAcXqgD,OAAQ,SAAUv8C,EAAGC,EAAGkxB,EAAQ1M,GAE5B,IAAIyvD,EAAMh4E,KAAKyN,QAaf,YAXkBnH,IAAdiiB,IAEAyvD,EAAIzvD,UAAYA,GAGpByvD,EAAIqF,YACJrF,EAAIsF,IAAIx5E,EAAGC,EAAGkxB,EAAQ,EAAa,EAAVxxB,KAAKqxB,IAAQ,GACtCkjD,EAAIuF,YAEJvF,EAAIzyB,OAEGvlD,MAgBXw4B,KAAM,SAAUxtB,EAAIC,EAAIC,EAAIC,EAAI8K,EAAOrY,QAErB0I,IAAV2P,IAAuBA,EAAQ,aACrB3P,IAAV1I,IAAuBA,EAAQ,GAEnC,IAAIo6E,EAAMh4E,KAAKyN,QAaf,OAXAuqE,EAAIqF,YAEJrF,EAAIwF,OAAOxyE,EAAIC,GACf+sE,EAAIyF,OAAOvyE,EAAIC,GAEf6sE,EAAI0F,UAAY9/E,EAChBo6E,EAAI2F,YAAc1nE,EAClB+hE,EAAI4F,SAEJ5F,EAAIuF,YAEGv9E,MAcX69E,QAAS,SAAUz/C,EAAQ7V,EAAWm1D,EAAWC,QAIzBr3E,IAAhBq3E,IAA6BA,EAAc,aAC7Br3E,IAAdo3E,IAA2BA,EAAY,GAE3C,IAAI1F,EAAMh4E,KAAKyN,QAEX8a,IAEAyvD,EAAIzvD,UAAYA,GAGhBm1D,IAEA1F,EAAI0F,UAAYA,EAChB1F,EAAI2F,YAAcA,GAGtB3F,EAAIqF,YAEJrF,EAAIwF,OAAOp/C,EAAO,GAAGt6B,EAAGs6B,EAAO,GAAGr6B,GAElC,IAAK,IAAIrB,EAAI,EAAGmuB,EAAMuN,EAAOz7B,OAAQD,EAAImuB,EAAKnuB,IAC9C,CACI,IAAIwzB,EAAQkI,EAAO17B,GACnBs1E,EAAIyF,OAAOvnD,EAAMpyB,EAAGoyB,EAAMnyB,GAQ9B,OALAi0E,EAAIuF,YAEAh1D,GAAayvD,EAAIzyB,OACjBm4B,GAAa1F,EAAI4F,SAEd59E,MAaX89E,YAAa,SAAUtlD,EAAM3e,EAAOtF,GAIhC,QAFejO,IAAXiO,IAAwBA,EAAS,YAEhB,iBAAVsF,IAEPA,EAAQ7Z,KAAK8C,KAAK6W,MAAMy2D,SAASv2D,IAFrC,CAUA,IAAIjc,EAAQ46B,EAAK71B,OAEF,cAAX4R,GAA0B3W,EAAQic,EAAMjc,QAExCA,EAAQic,EAAMjc,OAGlB,IAAIo6E,EAAMh4E,KAAKyN,QAgBf,OAdAuqE,EAAIzvD,UAAYyvD,EAAI+F,cAAclkE,EAAOtF,GAEzCvU,KAAKm5E,QAAU,IAAI33E,EAAOizB,OAAO+D,EAAKxsB,MAAMlI,EAAG00B,EAAKxsB,MAAMjI,EAAG8V,EAAMhc,QAEnEmC,KAAKm5E,QAAQ1jD,mBAAmB+C,EAAK9C,MAAQ,oBAAoB,EAAO11B,KAAKy4E,MAE7ET,EAAIlwD,OACJkwD,EAAIr8C,UAAU37B,KAAKy4E,KAAK30E,EAAG9D,KAAKy4E,KAAK10E,GACrCi0E,EAAI1/C,OAAOE,EAAK9C,OAChBsiD,EAAItvD,SAAS,EAAG,EAAG9qB,EAAOic,EAAMhc,QAChCm6E,EAAI5vD,UAEJpoB,KAAKoR,OAAQ,EAENpR,OAYXkF,OAAQ,WAQJ,OANKlF,KAAKs4E,sBAAwBt4E,KAAKoR,QAEnCpR,KAAKmG,YAAYiL,QACjBpR,KAAKoR,OAAQ,GAGVpR,MASXwC,QAAS,WAELxC,KAAKgwE,UAAUxtE,UAEfxC,KAAKjC,QAAQyE,SAAQ,GAErBhB,EAAOsa,WAAWC,OAAO/b,OAU7Bg9E,WAAY,WAGR,OADAh9E,KAAK+7E,GAAK,cACH/7E,MAUXg+E,gBAAiB,WAGb,OADAh+E,KAAK+7E,GAAK,cACH/7E,MAUXi+E,cAAe,WAGX,OADAj+E,KAAK+7E,GAAK,YACH/7E,MAUXk+E,eAAgB,WAGZ,OADAl+E,KAAK+7E,GAAK,aACH/7E,MAUX+8E,gBAAiB,WAGb,OADA/8E,KAAK+7E,GAAK,cACH/7E,MAUXm+E,qBAAsB,WAGlB,OADAn+E,KAAK+7E,GAAK,mBACH/7E,MAUXo+E,mBAAoB,WAGhB,OADAp+E,KAAK+7E,GAAK,iBACH/7E,MAUXq+E,oBAAqB,WAGjB,OADAr+E,KAAK+7E,GAAK,kBACH/7E,MAUXs+E,qBAAsB,WAGlB,OADAt+E,KAAK+7E,GAAK,mBACH/7E,MAUXu+E,SAAU,WAGN,OADAv+E,KAAK+7E,GAAK,MACH/7E,MAUXw+E,SAAU,WAGN,OADAx+E,KAAK+7E,GAAK,UACH/7E,MAUXy+E,cAAe,WAGX,OADAz+E,KAAK+7E,GAAK,WACH/7E,MAUX0+E,YAAa,WAGT,OADA1+E,KAAK+7E,GAAK,SACH/7E,MAUX2+E,aAAc,WAGV,OADA3+E,KAAK+7E,GAAK,UACH/7E,MAUX4+E,YAAa,WAGT,OADA5+E,KAAK+7E,GAAK,SACH/7E,MAUX6+E,aAAc,WAGV,OADA7+E,KAAK+7E,GAAK,UACH/7E,MAUX8+E,gBAAiB,WAGb,OADA9+E,KAAK+7E,GAAK,cACH/7E,MAUX++E,eAAgB,WAGZ,OADA/+E,KAAK+7E,GAAK,aACH/7E,MAUXg/E,eAAgB,WAGZ,OADAh/E,KAAK+7E,GAAK,aACH/7E,MAUXi/E,eAAgB,WAGZ,OADAj/E,KAAK+7E,GAAK,aACH/7E,MAUXk/E,gBAAiB,WAGb,OADAl/E,KAAK+7E,GAAK,aACH/7E,MAUXm/E,eAAgB,WAGZ,OADAn/E,KAAK+7E,GAAK,YACH/7E,MAUXo/E,SAAU,WAGN,OADAp/E,KAAK+7E,GAAK,MACH/7E,MAUXq/E,gBAAiB,WAGb,OADAr/E,KAAK+7E,GAAK,aACH/7E,MAUXs/E,WAAY,WAGR,OADAt/E,KAAK+7E,GAAK,QACH/7E,MAUXu/E,gBAAiB,WAGb,OADAv/E,KAAK+7E,GAAK,aACH/7E,MAgBXw/E,eAAgB,SAASxwE,EAAQlL,EAAGC,GAEhCiL,EAAO21B,SACP,IAAK,IAAW86C,EAAP/8E,EAAI,EAAiBA,EAAIsM,EAAOnR,OAAQ6E,IAAK,CAClD+8E,GAAgB17E,EAAIrB,GAAK1C,KAAKpC,MAAQkG,EACtC,IAAK,IAAI2D,EAAI,EAAGA,EAAIuH,EAAOpR,MAAO6J,IAC9BzH,KAAK+oB,OAAO02D,EAAeh4E,GAAKuH,EAAO+Z,OAAOrmB,EAAIsM,EAAOpR,MAAQ6J,GAGzE,OAAOzH,OAUf4G,OAAOuF,eAAe3K,EAAOouE,WAAWttE,UAAW,YAE/CwE,IAAK,WAEDtF,EAAO6nB,OAAOq2D,oBAAoB1/E,KAAKyN,UAI3C1G,IAAK,SAAUC,GAEXxF,EAAO6nB,OAAOs2D,oBAAoB3/E,KAAKyN,QAASzG,MAUxDJ,OAAOuF,eAAe3K,EAAOouE,WAAWttE,UAAW,MAE/CwE,IAAK,WAED,OAAO9G,KAAKyN,QAAQC,0BAIxB3G,IAAK,SAAUC,GAEXhH,KAAKyN,QAAQC,yBAA2B1G,KAkBhDxF,EAAOouE,WAAWgQ,aAAe,SAAUC,EAAYC,EAAYt7D,EAAQE,EAAQq7D,EAAOC,GAStF,MAP0B,iBAAfH,IAA2BA,EAAa,GACzB,iBAAfC,IAA2BA,EAAa,GAC7B,iBAAXt7D,IAAuBA,EAAS,GACrB,iBAAXE,IAAuBA,EAAS,GACtB,iBAAVq7D,IAAsBA,EAAQ,GACpB,iBAAVC,IAAsBA,EAAQ,IAEhCrmD,GAAInV,EAAQoV,GAAIlV,EAAQF,OAAQA,EAAQE,OAAQA,EAAQq7D,MAAOA,EAAOC,MAAOA,EAAOH,WAAYA,EAAYC,WAAYA,EAAYz8E,GAAIw8E,EAAYv8E,GAAIw8E,IAIrKt+E,EAAOouE,WAAWttE,UAAUC,YAAcf,EAAOouE,WAuBjDpuE,EAAOy+E,UAEPz+E,EAAOy+E,OAAOC,YAAc,SAAUlsE,EAAMmsE,EAAaC,GAErDA,EAAMA,GAAO,EAEb,IAAIC,EAAWF,GAAeA,EAAYx9E,OACtC29E,EAAWD,EAAWF,EAAY,GAAKC,EAAMpsE,EAAKrR,OAClD49E,EAAY/+E,EAAOy+E,OAAOO,WAAWxsE,EAAM,EAAGssE,EAAUF,GAAK,GAC7DK,KAEJ,IAAKF,EAAW,OAAOE,EAEvB,IAAIn2E,EAAME,EAAMC,EAAMC,EAAM5G,EAAGC,EAAG2d,EAKlC,GAHI2+D,IAAUE,EAAY/+E,EAAOy+E,OAAOS,eAAe1sE,EAAMmsE,EAAaI,EAAWH,IAGjFpsE,EAAKrR,OAAS,GAAKy9E,EAAK,CACxB91E,EAAOG,EAAOuJ,EAAK,GACnBxJ,EAAOE,EAAOsJ,EAAK,GAEnB,IAAK,IAAItR,EAAI09E,EAAK19E,EAAI49E,EAAU59E,GAAK09E,EACjCt8E,EAAIkQ,EAAKtR,GACTqB,EAAIiQ,EAAKtR,EAAI,GACToB,EAAIwG,IAAMA,EAAOxG,GACjBC,EAAIyG,IAAMA,EAAOzG,GACjBD,EAAI2G,IAAMA,EAAO3G,GACjBC,EAAI2G,IAAMA,EAAO3G,GAIzB2d,EAAOje,KAAKuC,IAAIyE,EAAOH,EAAMI,EAAOF,GAKxC,OAFAhJ,EAAOy+E,OAAOU,aAAaJ,EAAWE,EAAWL,EAAK91E,EAAME,EAAMkX,GAE3D++D,GAKXj/E,EAAOy+E,OAAOO,WAAa,SAAUxsE,EAAMhI,EAAOgP,EAAKolE,EAAKQ,GACxD,IACIl+E,EAAG+E,EAAGo5E,EADNC,EAAM,EAIV,IAAKp+E,EAAIsJ,EAAOvE,EAAIuT,EAAMolE,EAAK19E,EAAIsY,EAAKtY,GAAK09E,EACzCU,IAAQ9sE,EAAKvM,GAAKuM,EAAKtR,KAAOsR,EAAKtR,EAAI,GAAKsR,EAAKvM,EAAI,IACrDA,EAAI/E,EAIR,GAAIk+E,IAAeE,EAAM,EACrB,IAAKp+E,EAAIsJ,EAAOtJ,EAAIsY,EAAKtY,GAAK09E,EAAKS,EAAOr/E,EAAOy+E,OAAOc,WAAWr+E,EAAGsR,EAAKtR,GAAIsR,EAAKtR,EAAI,GAAIm+E,QAE5F,IAAKn+E,EAAIsY,EAAMolE,EAAK19E,GAAKsJ,EAAOtJ,GAAK09E,EAAKS,EAAOr/E,EAAOy+E,OAAOc,WAAWr+E,EAAGsR,EAAKtR,GAAIsR,EAAKtR,EAAI,GAAIm+E,GAGvG,OAAOA,GAKXr/E,EAAOy+E,OAAOe,aAAe,SAAUh1E,EAAOgP,GAC1C,IAAKhP,EAAO,OAAOA,EACdgP,IAAKA,EAAMhP,GAEhB,IACIi1E,EADAl+E,EAAIiJ,EAER,GAGI,GAFAi1E,GAAQ,EAEHl+E,EAAEm+E,UAAY1/E,EAAOy+E,OAAO5pD,OAAOtzB,EAAGA,EAAE4xC,OAAmD,IAA1CnzC,EAAOy+E,OAAOlhD,KAAKh8B,EAAE+1E,KAAM/1E,EAAGA,EAAE4xC,MAOlF5xC,EAAIA,EAAE4xC,SAP0F,CAGhG,GAFAnzC,EAAOy+E,OAAOkB,WAAWp+E,IACzBA,EAAIiY,EAAMjY,EAAE+1E,QACF/1E,EAAE4xC,KAAM,OAAO,KACzBssC,GAAQ,SAKPA,GAASl+E,IAAMiY,GAExB,OAAOA,GAKXxZ,EAAOy+E,OAAOU,aAAe,SAAUS,EAAKX,EAAWL,EAAK91E,EAAME,EAAMkX,EAAM2/D,GAC1E,GAAKD,EAAL,EAGKC,GAAQ3/D,GAAMlgB,EAAOy+E,OAAOqB,WAAWF,EAAK92E,EAAME,EAAMkX,GAM7D,IAJA,IACIo3D,EAAMnkC,EADN9oC,EAAOu1E,EAIJA,EAAItI,OAASsI,EAAIzsC,MAIpB,GAHAmkC,EAAOsI,EAAItI,KACXnkC,EAAOysC,EAAIzsC,KAEPjzB,EAAOlgB,EAAOy+E,OAAOsB,YAAYH,EAAK92E,EAAME,EAAMkX,GAAQlgB,EAAOy+E,OAAOuB,MAAMJ,GAE9EX,EAAU/4E,KAAKoxE,EAAKp2E,EAAI09E,GACxBK,EAAU/4E,KAAK05E,EAAI1+E,EAAI09E,GACvBK,EAAU/4E,KAAKitC,EAAKjyC,EAAI09E,GAExB5+E,EAAOy+E,OAAOkB,WAAWC,GAGzBA,EAAMzsC,EAAKA,KACX9oC,EAAO8oC,EAAKA,UAQhB,IAHAysC,EAAMzsC,KAGM9oC,EAAM,CAETw1E,EAIe,IAATA,GACPD,EAAM5/E,EAAOy+E,OAAOwB,uBAAuBL,EAAKX,EAAWL,GAC3D5+E,EAAOy+E,OAAOU,aAAaS,EAAKX,EAAWL,EAAK91E,EAAME,EAAMkX,EAAM,IAGlD,IAAT2/D,GACP7/E,EAAOy+E,OAAOyB,YAAYN,EAAKX,EAAWL,EAAK91E,EAAME,EAAMkX,GAT3DlgB,EAAOy+E,OAAOU,aAAan/E,EAAOy+E,OAAOe,aAAaI,GAAMX,EAAWL,EAAK91E,EAAME,EAAMkX,EAAM,GAYlG,SAOZlgB,EAAOy+E,OAAOuB,MAAQ,SAAUJ,GAC5B,IAAIn+E,EAAIm+E,EAAItI,KACR51E,EAAIk+E,EACJj+E,EAAIi+E,EAAIzsC,KAEZ,GAAInzC,EAAOy+E,OAAOlhD,KAAK97B,EAAGC,EAAGC,IAAM,EAAG,OAAO,EAK7C,IAFA,IAAIJ,EAAIq+E,EAAIzsC,KAAKA,KAEV5xC,IAAMq+E,EAAItI,MAAM,CACnB,GAAIt3E,EAAOy+E,OAAO0B,gBAAgB1+E,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnEvC,EAAOy+E,OAAOlhD,KAAKh8B,EAAE+1E,KAAM/1E,EAAGA,EAAE4xC,OAAS,EAAG,OAAO,EACvD5xC,EAAIA,EAAE4xC,KAGV,OAAO,GAGXnzC,EAAOy+E,OAAOsB,YAAc,SAAUH,EAAK92E,EAAME,EAAMkX,GACnD,IAAIze,EAAIm+E,EAAItI,KACR51E,EAAIk+E,EACJj+E,EAAIi+E,EAAIzsC,KAEZ,GAAInzC,EAAOy+E,OAAOlhD,KAAK97B,EAAGC,EAAGC,IAAM,EAAG,OAAO,EAe7C,IAZA,IAAIy+E,EAAQ3+E,EAAEa,EAAIZ,EAAEY,EAAKb,EAAEa,EAAIX,EAAEW,EAAIb,EAAEa,EAAIX,EAAEW,EAAMZ,EAAEY,EAAIX,EAAEW,EAAIZ,EAAEY,EAAIX,EAAEW,EACnE+9E,EAAQ5+E,EAAEc,EAAIb,EAAEa,EAAKd,EAAEc,EAAIZ,EAAEY,EAAId,EAAEc,EAAIZ,EAAEY,EAAMb,EAAEa,EAAIZ,EAAEY,EAAIb,EAAEa,EAAIZ,EAAEY,EACnE+9E,EAAQ7+E,EAAEa,EAAIZ,EAAEY,EAAKb,EAAEa,EAAIX,EAAEW,EAAIb,EAAEa,EAAIX,EAAEW,EAAMZ,EAAEY,EAAIX,EAAEW,EAAIZ,EAAEY,EAAIX,EAAEW,EACnEi+E,EAAQ9+E,EAAEc,EAAIb,EAAEa,EAAKd,EAAEc,EAAIZ,EAAEY,EAAId,EAAEc,EAAIZ,EAAEY,EAAMb,EAAEa,EAAIZ,EAAEY,EAAIb,EAAEa,EAAIZ,EAAEY,EAGnEi+E,EAAOxgF,EAAOy+E,OAAOgC,OAAOL,EAAOC,EAAOv3E,EAAME,EAAMkX,GACtDwgE,EAAO1gF,EAAOy+E,OAAOgC,OAAOH,EAAOC,EAAOz3E,EAAME,EAAMkX,GAGtD3e,EAAIq+E,EAAIe,MAELp/E,GAAKA,EAAEiS,GAAKktE,GAAM,CACrB,GAAIn/E,IAAMq+E,EAAItI,MAAQ/1E,IAAMq+E,EAAIzsC,MAC5BnzC,EAAOy+E,OAAO0B,gBAAgB1+E,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnEvC,EAAOy+E,OAAOlhD,KAAKh8B,EAAE+1E,KAAM/1E,EAAGA,EAAE4xC,OAAS,EAAG,OAAO,EACvD5xC,EAAIA,EAAEo/E,MAMV,IAFAp/E,EAAIq+E,EAAIgB,MAEDr/E,GAAKA,EAAEiS,GAAKgtE,GAAM,CACrB,GAAIj/E,IAAMq+E,EAAItI,MAAQ/1E,IAAMq+E,EAAIzsC,MAC5BnzC,EAAOy+E,OAAO0B,gBAAgB1+E,EAAEa,EAAGb,EAAEc,EAAGb,EAAEY,EAAGZ,EAAEa,EAAGZ,EAAEW,EAAGX,EAAEY,EAAGhB,EAAEe,EAAGf,EAAEgB,IACnEvC,EAAOy+E,OAAOlhD,KAAKh8B,EAAE+1E,KAAM/1E,EAAGA,EAAE4xC,OAAS,EAAG,OAAO,EACvD5xC,EAAIA,EAAEq/E,MAGV,OAAO,GAKX5gF,EAAOy+E,OAAOwB,uBAAyB,SAAUz1E,EAAOy0E,EAAWL,GAC/D,IAAIr9E,EAAIiJ,EACR,EAAG,CACC,IAAI/I,EAAIF,EAAE+1E,KACN51E,EAAIH,EAAE4xC,KAAKA,KAGXnzC,EAAOy+E,OAAO3pD,WAAWrzB,EAAGF,EAAGA,EAAE4xC,KAAMzxC,IAAM1B,EAAOy+E,OAAOoC,cAAcp/E,EAAGC,IAAM1B,EAAOy+E,OAAOoC,cAAcn/E,EAAGD,KAEjHw9E,EAAU/4E,KAAKzE,EAAEP,EAAI09E,GACrBK,EAAU/4E,KAAK3E,EAAEL,EAAI09E,GACrBK,EAAU/4E,KAAKxE,EAAER,EAAI09E,GAGrB5+E,EAAOy+E,OAAOkB,WAAWp+E,GACzBvB,EAAOy+E,OAAOkB,WAAWp+E,EAAE4xC,MAE3B5xC,EAAIiJ,EAAQ9I,GAEhBH,EAAIA,EAAE4xC,WACD5xC,IAAMiJ,GAEf,OAAOjJ,GAKXvB,EAAOy+E,OAAOyB,YAAc,SAAU11E,EAAOy0E,EAAWL,EAAK91E,EAAME,EAAMkX,GAErE,IAAIze,EAAI+I,EACR,EAAG,CAEC,IADA,IAAI9I,EAAID,EAAE0xC,KAAKA,KACRzxC,IAAMD,EAAE61E,MAAM,CACjB,GAAI71E,EAAEP,IAAMQ,EAAER,GAAKlB,EAAOy+E,OAAOqC,gBAAgBr/E,EAAGC,GAAI,CAEpD,IAAIC,EAAI3B,EAAOy+E,OAAOsC,aAAat/E,EAAGC,GAStC,OANAD,EAAIzB,EAAOy+E,OAAOe,aAAa/9E,EAAGA,EAAE0xC,MACpCxxC,EAAI3B,EAAOy+E,OAAOe,aAAa79E,EAAGA,EAAEwxC,MAGpCnzC,EAAOy+E,OAAOU,aAAa19E,EAAGw9E,EAAWL,EAAK91E,EAAME,EAAMkX,QAC1DlgB,EAAOy+E,OAAOU,aAAax9E,EAAGs9E,EAAWL,EAAK91E,EAAME,EAAMkX,GAG9Dxe,EAAIA,EAAEyxC,KAEV1xC,EAAIA,EAAE0xC,WACD1xC,IAAM+I,IAKnBxK,EAAOy+E,OAAOS,eAAiB,SAAU1sE,EAAMmsE,EAAaI,EAAWH,GACnE,IACI19E,EAAGmuB,EAAK7kB,EAAOgP,EAAKq+B,EADpBmpC,KAGJ,IAAK9/E,EAAI,EAAGmuB,EAAMsvD,EAAYx9E,OAAQD,EAAImuB,EAAKnuB,IAC3CsJ,EAAQm0E,EAAYz9E,GAAK09E,EACzBplE,EAAMtY,EAAImuB,EAAM,EAAIsvD,EAAYz9E,EAAI,GAAK09E,EAAMpsE,EAAKrR,QACpD02C,EAAO73C,EAAOy+E,OAAOO,WAAWxsE,EAAMhI,EAAOgP,EAAKolE,GAAK,MAC1C/mC,EAAK1E,OAAM0E,EAAK6nC,SAAU,GACvCsB,EAAM96E,KAAKlG,EAAOy+E,OAAOwC,YAAYppC,IAMzC,IAHAmpC,EAAM5jD,KAAK8jD,UAGNhgF,EAAI,EAAGA,EAAI8/E,EAAM7/E,OAAQD,IAC1BlB,EAAOy+E,OAAO0C,cAAcH,EAAM9/E,GAAI69E,GACtCA,EAAY/+E,EAAOy+E,OAAOe,aAAaT,EAAWA,EAAU5rC,MAGhE,OAAO4rC,GAGX/+E,EAAOy+E,OAAOyC,SAAW,SAAUz/E,EAAGC,GAClC,OAAOD,EAAEa,EAAIZ,EAAEY,GAKnBtC,EAAOy+E,OAAO0C,cAAgB,SAAUC,EAAMrC,GAE1C,GADAA,EAAY/+E,EAAOy+E,OAAO4C,eAAeD,EAAMrC,GAChC,CACX,IAAIr9E,EAAI1B,EAAOy+E,OAAOsC,aAAahC,EAAWqC,GAC9CphF,EAAOy+E,OAAOe,aAAa99E,EAAGA,EAAEyxC,QAMxCnzC,EAAOy+E,OAAO4C,eAAiB,SAAUD,EAAMrC,GAC3C,IAIIrpD,EAJAn0B,EAAIw9E,EACJuC,EAAKF,EAAK9+E,EACVi/E,EAAKH,EAAK7+E,EACVi/E,GAAMz4E,EAAAA,EAKV,EAAG,CACC,GAAIw4E,GAAMhgF,EAAEgB,GAAKg/E,GAAMhgF,EAAE4xC,KAAK5wC,EAAG,CAC7B,IAAID,EAAIf,EAAEe,GAAKi/E,EAAKhgF,EAAEgB,IAAMhB,EAAE4xC,KAAK7wC,EAAIf,EAAEe,IAAMf,EAAE4xC,KAAK5wC,EAAIhB,EAAEgB,GACxDD,GAAKg/E,GAAMh/E,EAAIk/E,IACfA,EAAKl/E,EACLozB,EAAIn0B,EAAEe,EAAIf,EAAE4xC,KAAK7wC,EAAIf,EAAIA,EAAE4xC,MAGnC5xC,EAAIA,EAAE4xC,WACD5xC,IAAMw9E,GAEf,IAAKrpD,EAAG,OAAO,KAEf,GAAI0rD,EAAK9+E,IAAMozB,EAAEpzB,EAAG,OAAOozB,EAAE4hD,KAM7B,IAEImK,EAFAp3E,EAAOqrB,EACPgsD,EAAS34E,EAAAA,EAKb,IAFAxH,EAAIm0B,EAAEyd,KAEC5xC,IAAM8I,GACLi3E,GAAM//E,EAAEe,GAAKf,EAAEe,GAAKozB,EAAEpzB,GACtBtC,EAAOy+E,OAAO0B,gBAAgBoB,EAAK7rD,EAAEnzB,EAAI++E,EAAKE,EAAID,EAAI7rD,EAAEpzB,EAAGozB,EAAEnzB,EAAGg/E,EAAK7rD,EAAEnzB,EAAIi/E,EAAKF,EAAIC,EAAIhgF,EAAEe,EAAGf,EAAEgB,MAE/Fk/E,EAAMx/E,KAAKgzB,IAAIssD,EAAKhgF,EAAEgB,IAAM++E,EAAK//E,EAAEe,IAExBo/E,GAAWD,IAAQC,GAAUngF,EAAEe,EAAIozB,EAAEpzB,IAAOtC,EAAOy+E,OAAOoC,cAAct/E,EAAG6/E,KAClF1rD,EAAIn0B,EACJmgF,EAASD,GAIjBlgF,EAAIA,EAAE4xC,KAGV,OAAOzd,GAKX11B,EAAOy+E,OAAOqB,WAAa,SAAUt1E,EAAO1B,EAAME,EAAMkX,GACpD,IAAI3e,EAAIiJ,EACR,GACgB,OAARjJ,EAAEiS,IAAYjS,EAAEiS,EAAIxT,EAAOy+E,OAAOgC,OAAOl/E,EAAEe,EAAGf,EAAEgB,EAAGuG,EAAME,EAAMkX,IACnE3e,EAAEq/E,MAAQr/E,EAAE+1E,KACZ/1E,EAAEo/E,MAAQp/E,EAAE4xC,KACZ5xC,EAAIA,EAAE4xC,WACD5xC,IAAMiJ,GAEfjJ,EAAEq/E,MAAMD,MAAQ,KAChBp/E,EAAEq/E,MAAQ,KAEV5gF,EAAOy+E,OAAOkD,WAAWpgF,IAM7BvB,EAAOy+E,OAAOkD,WAAa,SAAU9pC,GACjC,IAAI32C,EAAGK,EAAGqgF,EAAG90E,EAAG+0E,EAAMC,EAAWC,EAAOC,EACpCC,EAAS,EAEb,EAAG,CAMC,IALA1gF,EAAIs2C,EACJA,EAAO,KACPgqC,EAAO,KACPC,EAAY,EAELvgF,GAAG,CAIN,IAHAugF,IACAF,EAAIrgF,EACJwgF,EAAQ,EACH7gF,EAAI,EAAGA,EAAI+gF,IACZF,IACAH,EAAIA,EAAEjB,OAFcz/E,KAQxB,IAFA8gF,EAAQC,EAEDF,EAAQ,GAAMC,EAAQ,GAAKJ,GAEhB,IAAVG,GACAj1E,EAAI80E,EACJA,EAAIA,EAAEjB,MACNqB,KACiB,IAAVA,GAAgBJ,EAIhBrgF,EAAEiS,GAAKouE,EAAEpuE,GAChB1G,EAAIvL,EACJA,EAAIA,EAAEo/E,MACNoB,MAEAj1E,EAAI80E,EACJA,EAAIA,EAAEjB,MACNqB,MAVAl1E,EAAIvL,EACJA,EAAIA,EAAEo/E,MACNoB,KAWAF,EAAMA,EAAKlB,MAAQ7zE,EAClB+qC,EAAO/qC,EAEZA,EAAE8zE,MAAQiB,EACVA,EAAO/0E,EAGXvL,EAAIqgF,EAGRC,EAAKlB,MAAQ,KACbsB,GAAU,QAELH,EAAY,GAErB,OAAOjqC,GAKX73C,EAAOy+E,OAAOgC,OAAS,SAAUn+E,EAAGC,EAAGuG,EAAME,EAAMkX,GAe/C,OAbA5d,EAAI,OAASA,EAAIwG,GAAQoX,EACzB3d,EAAI,OAASA,EAAIyG,GAAQkX,EAEzB5d,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAEfC,EAAqB,UAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,WAAhBA,EAAKA,GAAK,GACfA,EAAqB,YAAhBA,EAAKA,GAAK,GAERD,EAAKC,GAAK,GAKrBvC,EAAOy+E,OAAOwC,YAAc,SAAUz2E,GAClC,IAAIjJ,EAAIiJ,EACJ03E,EAAW13E,EACf,GACQjJ,EAAEe,EAAI4/E,EAAS5/E,IAAG4/E,EAAW3gF,GACjCA,EAAIA,EAAE4xC,WACD5xC,IAAMiJ,GAEf,OAAO03E,GAKXliF,EAAOy+E,OAAO0B,gBAAkB,SAAUgC,EAAIC,EAAIC,EAAIC,EAAIj1E,EAAIC,EAAIikB,EAAIujC,GAClE,OAAQznD,EAAKkkB,IAAO6wD,EAAKttB,IAAOqtB,EAAK5wD,IAAOjkB,EAAKwnD,IAAO,IACnDqtB,EAAK5wD,IAAO+wD,EAAKxtB,IAAOutB,EAAK9wD,IAAO6wD,EAAKttB,IAAO,IAChDutB,EAAK9wD,IAAOjkB,EAAKwnD,IAAOznD,EAAKkkB,IAAO+wD,EAAKxtB,IAAO,GAKzD90D,EAAOy+E,OAAOqC,gBAAkB,SAAUr/E,EAAGC,GACzC,OAAO1B,EAAOy+E,OAAO5pD,OAAOpzB,EAAGC,IAAMD,EAAE0xC,KAAKjyC,IAAMQ,EAAER,GAAKO,EAAE61E,KAAKp2E,IAAMQ,EAAER,IAAMlB,EAAOy+E,OAAO8D,kBAAkB9gF,EAAGC,IAC7G1B,EAAOy+E,OAAOoC,cAAcp/E,EAAGC,IAAM1B,EAAOy+E,OAAOoC,cAAcn/E,EAAGD,IAAMzB,EAAOy+E,OAAO+D,aAAa/gF,EAAGC,IAKhH1B,EAAOy+E,OAAOlhD,KAAO,SAAUh8B,EAAGqgF,EAAGn/E,GACjC,OAAQm/E,EAAEr/E,EAAIhB,EAAEgB,IAAME,EAAEH,EAAIs/E,EAAEt/E,IAAMs/E,EAAEt/E,EAAIf,EAAEe,IAAMG,EAAEF,EAAIq/E,EAAEr/E,IAK9DvC,EAAOy+E,OAAO5pD,OAAS,SAAUiB,EAAIuI,GACjC,OAAOvI,EAAGxzB,IAAM+7B,EAAG/7B,GAAKwzB,EAAGvzB,IAAM87B,EAAG97B,GAKxCvC,EAAOy+E,OAAO3pD,WAAa,SAAUgB,EAAI2sD,EAAIpkD,EAAIqkD,GAC7C,OAAO1iF,EAAOy+E,OAAOlhD,KAAKzH,EAAI2sD,EAAIpkD,GAAM,GAAMr+B,EAAOy+E,OAAOlhD,KAAKzH,EAAI2sD,EAAIC,GAAM,GAC3E1iF,EAAOy+E,OAAOlhD,KAAKc,EAAIqkD,EAAI5sD,GAAM,GAAM91B,EAAOy+E,OAAOlhD,KAAKc,EAAIqkD,EAAID,GAAM,GAKhFziF,EAAOy+E,OAAO8D,kBAAoB,SAAU9gF,EAAGC,GAC3C,IAAIH,EAAIE,EACR,EAAG,CACC,GAAIF,EAAEL,IAAMO,EAAEP,GAAKK,EAAE4xC,KAAKjyC,IAAMO,EAAEP,GAAKK,EAAEL,IAAMQ,EAAER,GAAKK,EAAE4xC,KAAKjyC,IAAMQ,EAAER,GACjElB,EAAOy+E,OAAO3pD,WAAWvzB,EAAGA,EAAE4xC,KAAM1xC,EAAGC,GAAI,OAAO,EACtDH,EAAIA,EAAE4xC,WACD5xC,IAAME,GAEf,OAAO,GAKXzB,EAAOy+E,OAAOoC,cAAgB,SAAUp/E,EAAGC,GACvC,OAAO1B,EAAOy+E,OAAOlhD,KAAK97B,EAAE61E,KAAM71E,EAAGA,EAAE0xC,MAAQ,EAC3CnzC,EAAOy+E,OAAOlhD,KAAK97B,EAAGC,EAAGD,EAAE0xC,OAAS,GAAKnzC,EAAOy+E,OAAOlhD,KAAK97B,EAAGA,EAAE61E,KAAM51E,IAAM,EAC7E1B,EAAOy+E,OAAOlhD,KAAK97B,EAAGC,EAAGD,EAAE61E,MAAQ,GAAKt3E,EAAOy+E,OAAOlhD,KAAK97B,EAAGA,EAAE0xC,KAAMzxC,GAAK,GAKnF1B,EAAOy+E,OAAO+D,aAAe,SAAU/gF,EAAGC,GACtC,IAAIH,EAAIE,EACJo8B,GAAS,EACTtM,GAAM9vB,EAAEa,EAAIZ,EAAEY,GAAK,EACnBwyD,GAAMrzD,EAAEc,EAAIb,EAAEa,GAAK,EACvB,GACUhB,EAAEgB,EAAIuyD,GAASvzD,EAAE4xC,KAAK5wC,EAAIuyD,GAASvjC,GAAMhwB,EAAE4xC,KAAK7wC,EAAIf,EAAEe,IAAMwyD,EAAKvzD,EAAEgB,IAAMhB,EAAE4xC,KAAK5wC,EAAIhB,EAAEgB,GAAKhB,EAAEe,IAC/Fu7B,GAAUA,GACdt8B,EAAIA,EAAE4xC,WACD5xC,IAAME,GAEf,OAAOo8B,GAMX79B,EAAOy+E,OAAOsC,aAAe,SAAUt/E,EAAGC,GACtC,IAAI+2B,EAAK,IAAIz4B,EAAOy+E,OAAOkE,KAAKlhF,EAAEP,EAAGO,EAAEa,EAAGb,EAAEc,GACxCo2B,EAAK,IAAI34B,EAAOy+E,OAAOkE,KAAKjhF,EAAER,EAAGQ,EAAEY,EAAGZ,EAAEa,GACxCqgF,EAAKnhF,EAAE0xC,KACP0vC,EAAKnhF,EAAE41E,KAcX,OAZA71E,EAAE0xC,KAAOzxC,EACTA,EAAE41E,KAAO71E,EAETg3B,EAAG0a,KAAOyvC,EACVA,EAAGtL,KAAO7+C,EAEVE,EAAGwa,KAAO1a,EACVA,EAAG6+C,KAAO3+C,EAEVkqD,EAAG1vC,KAAOxa,EACVA,EAAG2+C,KAAOuL,EAEHlqD,GAKX34B,EAAOy+E,OAAOc,WAAa,SAAUr+E,EAAGoB,EAAGC,EAAG88E,GAC1C,IAAI99E,EAAI,IAAIvB,EAAOy+E,OAAOkE,KAAKzhF,EAAGoB,EAAGC,GAYrC,OAVK88E,GAKD99E,EAAE4xC,KAAOksC,EAAKlsC,KACd5xC,EAAE+1E,KAAO+H,EACTA,EAAKlsC,KAAKmkC,KAAO/1E,EACjB89E,EAAKlsC,KAAO5xC,IAPZA,EAAE+1E,KAAO/1E,EACTA,EAAE4xC,KAAO5xC,GAQNA,GAGXvB,EAAOy+E,OAAOkB,WAAa,SAAUp+E,GACjCA,EAAE4xC,KAAKmkC,KAAO/1E,EAAE+1E,KAChB/1E,EAAE+1E,KAAKnkC,KAAO5xC,EAAE4xC,KAEZ5xC,EAAEq/E,QAAOr/E,EAAEq/E,MAAMD,MAAQp/E,EAAEo/E,OAC3Bp/E,EAAEo/E,QAAOp/E,EAAEo/E,MAAMC,MAAQr/E,EAAEq/E,QAGnC5gF,EAAOy+E,OAAOkE,KAAO,SAAUzhF,EAAGoB,EAAGC,GAEjC/D,KAAK0C,EAAIA,EAGT1C,KAAK8D,EAAIA,EACT9D,KAAK+D,EAAIA,EAGT/D,KAAK84E,KAAO,KACZ94E,KAAK20C,KAAO,KAGZ30C,KAAKgV,EAAI,KAGThV,KAAKoiF,MAAQ,KACbpiF,KAAKmiF,MAAQ,KAGbniF,KAAKkhF,SAAU,GAgBnB1iF,KAAKof,cAAgB,aASrBpf,KAAKof,cAAc0mE,mBAAqB,EAWxC9lF,KAAKof,cAAcy+D,eAAiB,SAASj+D,EAAUzY,GAEnD,IAII0Y,EAJA1gB,EAAKgI,EAAchI,GACnBwZ,EAAaxR,EAAcwR,WAC3BC,EAASzR,EAAcyR,OACvBxK,EAASjH,EAAc0R,cAAckJ,gBAGtCnC,EAAShN,OAER5S,KAAKof,cAAcC,eAAeO,EAAUzgB,GAGhD,IAAIqgD,EAAQ5/B,EAASN,OAAOngB,EAAGmW,IAG/B,GAAIkqC,EAOJ,IAAK,IAAIt7C,EAAI,EAAGA,EAAIs7C,EAAMhqC,KAAKrR,OAAQD,IAET,IAAvBs7C,EAAMhqC,KAAKtR,GAAGsc,MAEbX,EAAY2/B,EAAMhqC,KAAKtR,GAEvBiD,EAAc+R,eAAeqG,YAAYK,EAAUC,EAAW1Y,GAG9DhI,EAAGshB,aAAathB,EAAGuhB,aAAc,EAAGvhB,EAAGwhB,eAAmD,GAAjCd,EAAU7L,QAAQ7P,OAAS,IAEpFgD,EAAc+R,eAAesG,WAAWI,EAAUC,EAAW1Y,KAI7D0Y,EAAY2/B,EAAMhqC,KAAKtR,GAGvBiD,EAAc0R,cAAcqI,UAAW9S,GACvCA,EAASjH,EAAc0R,cAAckJ,gBACrC5iB,EAAGgW,iBAAiB/G,EAAOgJ,mBAAmB,EAAOwI,EAAS7c,eAAeqe,SAAQ,IAErFjiB,EAAGgiB,UAAU/S,EAAO+H,MAAO,GAE3BhX,EAAGkiB,UAAUjT,EAAOoF,iBAAkBmF,EAAWrT,GAAIqT,EAAWpT,GAChEpG,EAAGkiB,UAAUjT,EAAOqF,cAAemF,EAAOtT,GAAIsT,EAAOrT,GAErDpG,EAAGmiB,WAAWlT,EAAOmJ,UAAWvU,EAAOue,MAAMC,cAAc5B,EAAS3R,OAEpE9O,EAAGgiB,UAAU/S,EAAO3L,MAAOmd,EAAS9c,YAGpC3D,EAAGsiB,WAAWtiB,EAAGuiB,aAAc7B,EAAUxD,QAEzCld,EAAGwiB,oBAAoBvT,EAAOuF,gBAAiB,EAAGxU,EAAGyiB,OAAO,EAAO,GAAO,GAC1EziB,EAAGwiB,oBAAoBvT,EAAO0F,eAAgB,EAAG3U,EAAGyiB,OAAO,EAAM,GAAO,GAGxEziB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBhC,EAAUiC,aACjD3iB,EAAGshB,aAAathB,EAAG4hB,eAAiBlB,EAAU7L,QAAQ7P,OAAQhF,EAAGwhB,eAAgB,KAc7F3gB,KAAKof,cAAcC,eAAiB,SAASO,EAAUzgB,GAGnD,IAAIqgD,EAAQ5/B,EAASN,OAAOngB,EAAGmW,IAE3BkqC,IAAMA,EAAQ5/B,EAASN,OAAOngB,EAAGmW,KAAOywE,UAAU,EAAGvwE,QAASrW,GAAGA,IAGrEygB,EAAShN,OAAQ,EAEjB,IAAI1O,EAGJ,GAAG0b,EAASomE,WACZ,CAII,IAHApmE,EAASomE,YAAa,EAGjB9hF,EAAI,EAAGA,EAAIs7C,EAAMhqC,KAAKrR,OAAQD,IACnC,CACI,IAAI4iD,EAAetH,EAAMhqC,KAAKtR,GAC9B4iD,EAAa1f,QACbpnC,KAAKof,cAAc6mE,iBAAiB/8E,KAAM49C,GAI9CtH,EAAMhqC,QACNgqC,EAAMumC,UAAY,EAGtB,IAAIlmE,EAKJ,IAAK3b,EAAIs7C,EAAMumC,UAAW7hF,EAAI0b,EAASknC,aAAa3iD,OAAQD,IAC5D,CACI,IAAIsR,EAAOoK,EAASknC,aAAa5iD,GAE7BsR,EAAKZ,OAAS5R,EAAOyrB,SAGrBjZ,EAAKoqB,OAASpqB,EAAKwxC,MAAMpnB,OAAOrO,QAC7B/b,EAAKwxC,MAAMvmB,SAGPjrB,EAAKoqB,OAAO,KAAOpqB,EAAKoqB,OAAOpqB,EAAKoqB,OAAOz7B,OAAO,IAAMqR,EAAKoqB,OAAO,KAAOpqB,EAAKoqB,OAAOpqB,EAAKoqB,OAAOz7B,OAAO,IAEzGqR,EAAKoqB,OAAO12B,KAAKsM,EAAKoqB,OAAO,GAAIpqB,EAAKoqB,OAAO,KAKlDpqB,EAAKuxC,MAEDvxC,EAAKoqB,OAAOz7B,QAAUnE,KAAKof,cAAc0mE,qBAErCtwE,EAAKoqB,OAAOz7B,OAAiD,EAAxCnE,KAAKof,cAAc0mE,oBAEvCjmE,EAAY7f,KAAKof,cAAc8mE,WAAW1mC,EAAO,GAExBx/C,KAAKof,cAAc+mE,UAAU3wE,EAAMqK,KAMxDA,EAAY7f,KAAKof,cAAc8mE,WAAW1mC,EAAO,GACjDx/C,KAAKof,cAAcgnE,iBAAiB5wE,EAAMqK,MAM9CA,EAAY7f,KAAKof,cAAc8mE,WAAW1mC,EAAO,GACjDx/C,KAAKof,cAAcgnE,iBAAiB5wE,EAAMqK,KAKnDrK,EAAK0pE,UAAY,IAEhBr/D,EAAY7f,KAAKof,cAAc8mE,WAAW1mC,EAAO,GACjDx/C,KAAKof,cAAcinE,UAAU7wE,EAAMqK,MAMvCA,EAAY7f,KAAKof,cAAc8mE,WAAW1mC,EAAO,GAE7ChqC,EAAKZ,OAAS5R,EAAOmsB,UAErBnvB,KAAKof,cAAcknE,eAAe9wE,EAAMqK,GAEnCrK,EAAKZ,OAAS5R,EAAOksB,QAAU1Z,EAAKZ,OAAS5R,EAAO6rB,QAEzD7uB,KAAKof,cAAcmnE,YAAY/wE,EAAMqK,GAEhCrK,EAAKZ,OAAS5R,EAAOusB,kBAE1BvvB,KAAKof,cAAconE,sBAAsBhxE,EAAMqK,IAIvD2/B,EAAMumC,YAIV,IAAK7hF,EAAI,EAAGA,EAAIs7C,EAAMhqC,KAAKrR,OAAQD,KAE/B2b,EAAY2/B,EAAMhqC,KAAKtR,IACV0O,OAAMiN,EAAU4mE,UAWrCzmF,KAAKof,cAAc8mE,WAAa,SAAS1mC,EAAO5qC,GAE5C,IAAIiL,EAsBJ,OApBI2/B,EAAMhqC,KAAKrR,QAQX0b,EAAY2/B,EAAMhqC,KAAKgqC,EAAMhqC,KAAKrR,OAAO,IAE5Bqc,OAAS5L,GAAiB,IAATA,KAE1BiL,EAAY7f,KAAKof,cAAc6mE,iBAAiBjkE,OAAS,IAAIhiB,KAAK0mF,kBAAkBlnC,EAAMrgD,KAChFqhB,KAAO5L,EACjB4qC,EAAMhqC,KAAKtM,KAAK2W,MAZpBA,EAAY7f,KAAKof,cAAc6mE,iBAAiBjkE,OAAS,IAAIhiB,KAAK0mF,kBAAkBlnC,EAAMrgD,KAChFqhB,KAAO5L,EACjB4qC,EAAMhqC,KAAKtM,KAAK2W,IAcpBA,EAAUjN,OAAQ,EAEXiN,GAYX7f,KAAKof,cAAcknE,eAAiB,SAASx/B,EAAcjnC,GAKvD,IAAI8mE,EAAW7/B,EAAaE,MACxB1hD,EAAIqhF,EAASrhF,EACbC,EAAIohF,EAASphF,EACbnG,EAAQunF,EAASvnF,MACjBC,EAASsnF,EAAStnF,OAEtB,GAAGynD,EAAaC,KAChB,CACI,IAAItvC,EAAQzU,EAAOue,MAAMC,cAAcslC,EAAa8/B,WAChDnkF,EAAQqkD,EAAa+/B,UAErBphF,EAAIgS,EAAM,GAAKhV,EACfqZ,EAAIrE,EAAM,GAAKhV,EACfiC,EAAI+S,EAAM,GAAKhV,EAEfqkF,EAAQjnE,EAAU+f,OAClB5rB,EAAU6L,EAAU7L,QAEpB+yE,EAAUD,EAAM3iF,OAAS,EAG7B2iF,EAAM59E,KAAK5D,EAAGC,GACduhF,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpBqkF,EAAM59E,KAAK5D,EAAIlG,EAAOmG,GACtBuhF,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpBqkF,EAAM59E,KAAK5D,EAAIC,EAAIlG,GACnBynF,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpBqkF,EAAM59E,KAAK5D,EAAIlG,EAAOmG,EAAIlG,GAC1BynF,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAGpBuR,EAAQ9K,KAAK69E,EAASA,EAASA,EAAU,EAAGA,EAAU,EAAGA,EAAU,EAAGA,EAAU,GAGpF,GAAIjgC,EAAao4B,UACjB,CACI,IAAI8H,EAAalgC,EAAalnB,OAE9BknB,EAAalnB,QAAUt6B,EAAGC,EAChBD,EAAIlG,EAAOmG,EACXD,EAAIlG,EAAOmG,EAAIlG,EACfiG,EAAGC,EAAIlG,EACPiG,EAAGC,GAGbvF,KAAKof,cAAcinE,UAAUv/B,EAAcjnC,GAE3CinC,EAAalnB,OAASonD,IAa9BhnF,KAAKof,cAAconE,sBAAwB,SAAS1/B,EAAcjnC,GAE9D,IAAIonE,EAAYngC,EAAaE,MACzB1hD,EAAI2hF,EAAU3hF,EACdC,EAAI0hF,EAAU1hF,EACdnG,EAAQ6nF,EAAU7nF,MAClBC,EAAS4nF,EAAU5nF,OAEnBo3B,EAASwwD,EAAUxwD,OAEnBywD,KAOJ,GANAA,EAAUh+E,KAAK5D,EAAGC,EAAIkxB,GACtBywD,EAAYA,EAAUt1D,OAAO5xB,KAAKof,cAAc+nE,qBAAqB7hF,EAAGC,EAAIlG,EAASo3B,EAAQnxB,EAAGC,EAAIlG,EAAQiG,EAAImxB,EAAQlxB,EAAIlG,IAC5H6nF,EAAYA,EAAUt1D,OAAO5xB,KAAKof,cAAc+nE,qBAAqB7hF,EAAIlG,EAAQq3B,EAAQlxB,EAAIlG,EAAQiG,EAAIlG,EAAOmG,EAAIlG,EAAQiG,EAAIlG,EAAOmG,EAAIlG,EAASo3B,IACpJywD,EAAYA,EAAUt1D,OAAO5xB,KAAKof,cAAc+nE,qBAAqB7hF,EAAIlG,EAAOmG,EAAIkxB,EAAQnxB,EAAIlG,EAAOmG,EAAGD,EAAIlG,EAAQq3B,EAAQlxB,IAC9H2hF,EAAYA,EAAUt1D,OAAO5xB,KAAKof,cAAc+nE,qBAAqB7hF,EAAImxB,EAAQlxB,EAAGD,EAAGC,EAAGD,EAAGC,EAAIkxB,IAE7FqwB,EAAaC,KAAM,CACnB,IAAItvC,EAAQzU,EAAOue,MAAMC,cAAcslC,EAAa8/B,WAChDnkF,EAAQqkD,EAAa+/B,UAErBphF,EAAIgS,EAAM,GAAKhV,EACfqZ,EAAIrE,EAAM,GAAKhV,EACfiC,EAAI+S,EAAM,GAAKhV,EAEfqkF,EAAQjnE,EAAU+f,OAClB5rB,EAAU6L,EAAU7L,QAEpBozE,EAASN,EAAM3iF,OAAS,EAExB89E,EAAYj/E,EAAOy+E,OAAOC,YAAYwF,EAAW,KAAM,GAEvDhjF,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAI+9E,EAAU99E,OAAQD,GAAG,EAEjC8P,EAAQ9K,KAAK+4E,EAAU/9E,GAAKkjF,GAC5BpzE,EAAQ9K,KAAK+4E,EAAU/9E,GAAKkjF,GAC5BpzE,EAAQ9K,KAAK+4E,EAAU/9E,EAAE,GAAKkjF,GAC9BpzE,EAAQ9K,KAAK+4E,EAAU/9E,EAAE,GAAKkjF,GAC9BpzE,EAAQ9K,KAAK+4E,EAAU/9E,EAAE,GAAKkjF,GAIlC,IAAKljF,EAAI,EAAGA,EAAIgjF,EAAU/iF,OAAQD,IAE9B4iF,EAAM59E,KAAKg+E,EAAUhjF,GAAIgjF,IAAYhjF,GAAIuB,EAAGqW,EAAGpX,EAAGjC,GAI1D,GAAIqkD,EAAao4B,UAAW,CACxB,IAAI8H,EAAalgC,EAAalnB,OAE9BknB,EAAalnB,OAASsnD,EAEtBlnF,KAAKof,cAAcinE,UAAUv/B,EAAcjnC,GAE3CinC,EAAalnB,OAASonD,IAmB9BhnF,KAAKof,cAAc+nE,qBAAuB,SAASE,EAAOC,EAAOC,EAAKC,EAAKC,EAAKC,GAW5E,SAASC,EAAMC,EAAKC,EAAIC,GAGpB,OAAOF,GAFIC,EAAKD,GAEKE,EAIzB,IAAK,IAhBDC,EACAC,EACAC,EACAC,EACA5iF,EACAC,EAEAq6B,KAQA32B,EAAI,EACC/E,EAAI,EAAGA,GAVR,GAUgBA,IAKpB6jF,EAAKJ,EAAON,EAAQE,EAHpBt+E,EAAI/E,EAZA,IAgBJ8jF,EAAKL,EAAOL,EAAQE,EAAMv+E,GAC1Bg/E,EAAKN,EAAOJ,EAAME,EAAMx+E,GACxBi/E,EAAKP,EAAOH,EAAME,EAAMz+E,GAGxB3D,EAAIqiF,EAAOI,EAAKE,EAAKh/E,GACrB1D,EAAIoiF,EAAOK,EAAKE,EAAKj/E,GAErB22B,EAAO12B,KAAK5D,EAAGC,GAEnB,OAAOq6B,GAYX5/B,KAAKof,cAAcmnE,YAAc,SAASz/B,EAAcjnC,GAGpD,IAGIzgB,EACAC,EAJA8oF,EAAarhC,EAAaE,MAC1B1hD,EAAI6iF,EAAW7iF,EACfC,EAAI4iF,EAAW5iF,EAKfuhD,EAAalyC,OAAS5R,EAAOksB,QAE7B9vB,EAAQ+oF,EAAW1xD,OACnBp3B,EAAS8oF,EAAW1xD,SAIpBr3B,EAAQ+oF,EAAW/oF,MACnBC,EAAS8oF,EAAW9oF,QAGxB,IACI+oF,EAAiB,EAAVnjF,KAAKqxB,GADA,GAGZpyB,EAAI,EAER,GAAG4iD,EAAaC,KAChB,CACI,IAAItvC,EAAQzU,EAAOue,MAAMC,cAAcslC,EAAa8/B,WAChDnkF,EAAQqkD,EAAa+/B,UAErBphF,EAAIgS,EAAM,GAAKhV,EACfqZ,EAAIrE,EAAM,GAAKhV,EACfiC,EAAI+S,EAAM,GAAKhV,EAEfqkF,EAAQjnE,EAAU+f,OAClB5rB,EAAU6L,EAAU7L,QAEpBozE,EAASN,EAAM3iF,OAAS,EAI5B,IAFA6P,EAAQ9K,KAAKk+E,GAERljF,EAAI,EAAGA,EAAImkF,GAAgBnkF,IAE5B4iF,EAAM59E,KAAK5D,EAAEC,EAAGE,EAAGqW,EAAGpX,EAAGjC,GAEzBqkF,EAAM59E,KAAK5D,EAAIL,KAAKG,IAAIgjF,EAAMlkF,GAAK9E,EACxBmG,EAAIN,KAAKI,IAAI+iF,EAAMlkF,GAAK7E,EACxBoG,EAAGqW,EAAGpX,EAAGjC,GAEpBuR,EAAQ9K,KAAKk+E,IAAUA,KAG3BpzE,EAAQ9K,KAAKk+E,EAAO,GAGxB,GAAGtgC,EAAao4B,UAChB,CACI,IAAI8H,EAAalgC,EAAalnB,OAI9B,IAFAknB,EAAalnB,UAER17B,EAAI,EAAGA,EAAImkF,GAAenkF,IAE3B4iD,EAAalnB,OAAO12B,KAAK5D,EAAIL,KAAKG,IAAIgjF,EAAMlkF,GAAK9E,EACxBmG,EAAIN,KAAKI,IAAI+iF,EAAMlkF,GAAK7E,GAGrDW,KAAKof,cAAcinE,UAAUv/B,EAAcjnC,GAE3CinC,EAAalnB,OAASonD,IAa9BhnF,KAAKof,cAAcinE,UAAY,SAASv/B,EAAcjnC,GAGlD,IAAI3b,EAAI,EACJ07B,EAASknB,EAAalnB,OAC1B,GAAqB,IAAlBA,EAAOz7B,OAAV,CAGA,GAAG2iD,EAAao4B,UAAU,EAEtB,IAAKh7E,EAAI,EAAGA,EAAI07B,EAAOz7B,OAAQD,IAC3B07B,EAAO17B,IAAM,GAKrB,IAAIokF,EAAa,IAAItoF,KAAKqC,MAAOu9B,EAAO,GAAIA,EAAO,IAC/C2oD,EAAY,IAAIvoF,KAAKqC,MAAOu9B,EAAOA,EAAOz7B,OAAS,GAAIy7B,EAAOA,EAAOz7B,OAAS,IAGlF,GAAGmkF,EAAWhjF,IAAMijF,EAAUjjF,GAAKgjF,EAAW/iF,IAAMgjF,EAAUhjF,EAC9D,EAEIq6B,EAASA,EAAOrO,SAETvP,MACP4d,EAAO5d,MAIP,IAAIwmE,GAFJD,EAAY,IAAIvoF,KAAKqC,MAAOu9B,EAAOA,EAAOz7B,OAAS,GAAIy7B,EAAOA,EAAOz7B,OAAS,KAEpDmB,EAAkC,IAA7BgjF,EAAWhjF,EAAIijF,EAAUjjF,GACpDmjF,EAAYF,EAAUhjF,EAAkC,IAA7B+iF,EAAW/iF,EAAIgjF,EAAUhjF,GAExDq6B,EAAO8oD,QAAQF,EAAWC,GAC1B7oD,EAAO12B,KAAKs/E,EAAWC,GAG3B,IAgBIl0D,EAAIujC,EAAI6wB,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EACjCC,EAAOC,EAAOC,EAAQC,EAAQC,EAAQC,EACtC9tD,EAAIE,EAAIE,EAAIH,EAAIE,EAAIE,EACpBC,EAAcytD,EAnBdzC,EAAQjnE,EAAU+f,OAClB5rB,EAAU6L,EAAU7L,QACpB7P,EAASy7B,EAAOz7B,OAAS,EACzBqlF,EAAa5pD,EAAOz7B,OACpBslF,EAAa3C,EAAM3iF,OAAO,EAG1B/E,EAAQ0nD,EAAao4B,UAAY,EAGjCznE,EAAQzU,EAAOue,MAAMC,cAAcslC,EAAa4iC,WAChDjnF,EAAQqkD,EAAa6iC,UACrBlkF,EAAIgS,EAAM,GAAKhV,EACfqZ,EAAIrE,EAAM,GAAKhV,EACfiC,EAAI+S,EAAM,GAAKhV,EA8BnB,IAvBAkmF,EAAM/oD,EAAO,GACbgpD,EAAMhpD,EAAO,GAEbipD,EAAMjpD,EAAO,GAGbqpD,IAAUL,GAFVE,EAAMlpD,EAAO,KAGbspD,EAASP,EAAME,EAIfI,GAFAM,EAAOtkF,KAAKS,KAAKujF,EAAMA,EAAQC,EAAMA,GAGrCA,GAASK,EACTN,GAAS7pF,EACT8pF,GAAS9pF,EAGT0nF,EAAM59E,KAAKy/E,EAAMM,EAAQL,EAAMM,EACnBzjF,EAAGqW,EAAGpX,EAAGjC,GAErBqkF,EAAM59E,KAAKy/E,EAAMM,EAAQL,EAAMM,EACnBzjF,EAAGqW,EAAGpX,EAAGjC,GAEhByB,EAAI,EAAGA,EAAIC,EAAO,EAAGD,IAEtBykF,EAAM/oD,EAAa,GAAL17B,EAAE,IAChB0kF,EAAMhpD,EAAa,GAAL17B,EAAE,GAAO,GAEvB2kF,EAAMjpD,EAAW,EAAJ,GACbkpD,EAAMlpD,EAAW,EAAJ,EAAQ,GAErBmpD,EAAMnpD,EAAa,GAAL17B,EAAE,IAChB8kF,EAAMppD,EAAa,GAAL17B,EAAE,GAAO,GAEvB+kF,IAAUL,EAAME,GAChBI,EAAQP,EAAME,EAGdI,GADAM,EAAOtkF,KAAKS,KAAKujF,EAAMA,EAAQC,EAAMA,GAErCA,GAASK,EACTN,GAAS7pF,EACT8pF,GAAS9pF,EAET+pF,IAAWL,EAAME,GACjBI,EAASP,EAAME,EAGfI,GADAI,EAAOtkF,KAAKS,KAAKyjF,EAAOA,EAASC,EAAOA,GAExCA,GAAUG,EAMV3tD,IAAOqtD,EAAQN,KAASO,EAAQJ,KAASG,EAAQJ,KAASK,EAAQN,GAGlE/sD,KARAstD,GAAU/pF,GAQM2pF,MAPhBK,GAAUhqF,GAOwB0pF,KAASK,EAASN,KAASO,EAASJ,GAEtEltD,GAPAN,GAAO0tD,EAAQN,IAASM,EAAQJ,KAIhCntD,GAAOwtD,EAASN,IAASM,EAASJ,KADlCttD,GAAO2tD,EAASJ,IAASI,EAASN,KAFlCptD,GAAOutD,EAAQJ,IAASI,EAAQN,IAQ7B1jF,KAAKgzB,IAAI6D,GAAS,IAGjBA,GAAO,KACPgrD,EAAM59E,KAAK2/E,EAAMI,EAAQH,EAAMI,EAC3BzjF,EAAGqW,EAAGpX,EAAGjC,GAEbqkF,EAAM59E,KAAK2/E,EAAMI,EAAQH,EAAMI,EAC3BzjF,EAAGqW,EAAGpX,EAAGjC,MAKjB8xB,GAAMmH,EAAGG,EAAKF,EAAGC,GAAIE,GAIR+sD,IAAQt0D,EAAIs0D,KAHzB/wB,GAAMr8B,EAAGG,EAAKJ,EAAGK,GAAIC,GAGgBgtD,IAAQhxB,EAAIgxB,GAGtC,OAEPO,EAASJ,EAAQE,EACjBG,EAASJ,EAAQE,EAGjBC,GADAE,EAAOtkF,KAAKS,KAAK2jF,EAAOA,EAASC,EAAOA,GAExCA,GAAUC,EACVF,GAAUjqF,EACVkqF,GAAUlqF,EAEV0nF,EAAM59E,KAAK2/E,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpBqkF,EAAM59E,KAAK2/E,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpBqkF,EAAM59E,KAAK2/E,EAAMQ,EAAQP,EAAKQ,GAC9BxC,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpB+mF,MAKA1C,EAAM59E,KAAKqrB,EAAKujC,GAChBgvB,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpBqkF,EAAM59E,KAAK2/E,GAAOt0D,EAAGs0D,GAAMC,GAAOhxB,EAAKgxB,IACvChC,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,IA2B5B,IAvBAkmF,EAAM/oD,EAAkB,GAAVz7B,EAAO,IACrBykF,EAAMhpD,EAAkB,GAAVz7B,EAAO,GAAO,GAE5B0kF,EAAMjpD,EAAkB,GAAVz7B,EAAO,IAGrB8kF,IAAUL,GAFVE,EAAMlpD,EAAkB,GAAVz7B,EAAO,GAAO,KAG5B+kF,EAAQP,EAAME,EAGdI,GADAM,EAAOtkF,KAAKS,KAAKujF,EAAMA,EAAQC,EAAMA,GAErCA,GAASK,EACTN,GAAS7pF,EACT8pF,GAAS9pF,EAET0nF,EAAM59E,KAAK2/E,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpBqkF,EAAM59E,KAAK2/E,EAAMI,EAAQH,EAAMI,GAC/BpC,EAAM59E,KAAKzD,EAAGqW,EAAGpX,EAAGjC,GAEpBuR,EAAQ9K,KAAKugF,GAERvlF,EAAI,EAAGA,EAAIslF,EAAYtlF,IAExB8P,EAAQ9K,KAAKugF,KAGjBz1E,EAAQ9K,KAAKugF,EAAW,KAY5BzpF,KAAKof,cAAcgnE,iBAAmB,SAASt/B,EAAcjnC,GAGzD,IAAI+f,EAASknB,EAAalnB,OAAOrO,QACjC,KAAGqO,EAAOz7B,OAAS,GAAnB,CAGA,IAAI6P,EAAU6L,EAAU7L,QACxB6L,EAAU+f,OAASA,EACnB/f,EAAUpd,MAAQqkD,EAAa+/B,UAC/BhnE,EAAUpI,MAAQzU,EAAOue,MAAMC,cAAcslC,EAAa8/B,WAc1D,IAAK,IAHDthF,EAAEC,EANFuG,EAAOC,EAAAA,EACPE,GAAQF,EAAAA,EAERC,EAAOD,EAAAA,EACPG,GAAQH,EAAAA,EAKH7H,EAAI,EAAGA,EAAI07B,EAAOz7B,OAAQD,GAAG,EAElCoB,EAAIs6B,EAAO17B,GACXqB,EAAIq6B,EAAO17B,EAAE,GAEb4H,EAAOxG,EAAIwG,EAAOxG,EAAIwG,EACtBG,EAAO3G,EAAI2G,EAAO3G,EAAI2G,EAEtBD,EAAOzG,EAAIyG,EAAOzG,EAAIyG,EACtBE,EAAO3G,EAAI2G,EAAO3G,EAAI2G,EAI1B0zB,EAAO12B,KAAK4C,EAAME,EACNC,EAAMD,EACNC,EAAMC,EACNJ,EAAMI,GAKlB,IAAI/H,EAASy7B,EAAOz7B,OAAS,EAC7B,IAAKD,EAAI,EAAGA,EAAIC,EAAQD,IAEpB8P,EAAQ9K,KAAMhF,KActBlE,KAAKof,cAAc+mE,UAAY,SAASr/B,EAAcjnC,GAElD,IAAI+f,EAASknB,EAAalnB,OAE1B,KAAGA,EAAOz7B,OAAS,GAAnB,CAEA,IAAI2iF,EAAQjnE,EAAU+f,OAClB5rB,EAAU6L,EAAU7L,QAEpB7P,EAASy7B,EAAOz7B,OAAS,EAGzBsT,EAAQzU,EAAOue,MAAMC,cAAcslC,EAAa8/B,WAChDnkF,EAAQqkD,EAAa+/B,UACrBphF,EAAIgS,EAAM,GAAKhV,EACfqZ,EAAIrE,EAAM,GAAKhV,EACfiC,EAAI+S,EAAM,GAAKhV,EAEfw/E,EAAYj/E,EAAOy+E,OAAOC,YAAY9hD,EAAQ,KAAM,GAExD,IAAIqiD,EAAU,OAAO,EAErB,IAAI8E,EAAUD,EAAM3iF,OAAS,EAEzBD,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAI+9E,EAAU99E,OAAQD,GAAG,EAEjC8P,EAAQ9K,KAAK+4E,EAAU/9E,GAAK6iF,GAC5B/yE,EAAQ9K,KAAK+4E,EAAU/9E,GAAK6iF,GAC5B/yE,EAAQ9K,KAAK+4E,EAAU/9E,EAAE,GAAK6iF,GAC9B/yE,EAAQ9K,KAAK+4E,EAAU/9E,EAAE,GAAI6iF,GAC7B/yE,EAAQ9K,KAAK+4E,EAAU/9E,EAAE,GAAK6iF,GAGlC,IAAK7iF,EAAI,EAAGA,EAAIC,EAAQD,IAEpB4iF,EAAM59E,KAAK02B,EAAW,EAAJ17B,GAAQ07B,EAAW,EAAJ17B,EAAQ,GAC9BuB,EAAGqW,EAAGpX,EAAGjC,GAGxB,OAAO,IAGXzC,KAAKof,cAAc6mE,oBAOnBjmF,KAAK0mF,kBAAoB,SAASvnF,GAE9BqC,KAAKrC,GAAKA,EAGVqC,KAAKiW,OAAS,EAAE,EAAE,GAClBjW,KAAKo+B,UACLp+B,KAAKwS,WACLxS,KAAK6a,OAASld,EAAGmlB,eACjB9iB,KAAKsgB,YAAc3iB,EAAGmlB,eACtB9iB,KAAKgf,KAAO,EACZhf,KAAKiB,MAAQ,EACbjB,KAAKoR,OAAQ,GAMjB5S,KAAK0mF,kBAAkB5iF,UAAUsjC,MAAQ,WAErC5lC,KAAKo+B,UACLp+B,KAAKwS,YAMThU,KAAK0mF,kBAAkB5iF,UAAU2iF,OAAS,WAEtC,IAAItnF,EAAKqC,KAAKrC,GAGdqC,KAAKooF,SAAW,IAAInmE,aAAajiB,KAAKo+B,QAEtCzgC,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK6a,QACpCld,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAKooF,SAAUzqF,EAAGqlB,aAEjDhjB,KAAKqoF,WAAa,IAAIjmE,YAAYpiB,KAAKwS,SAEvC7U,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAKsgB,aAC5C3iB,EAAGolB,WAAWplB,EAAG0iB,qBAAsBrgB,KAAKqoF,WAAY1qF,EAAGqlB,aAE3DhjB,KAAKoR,OAAQ,GAcjB5S,KAAKypB,eAAiB,aAYtBzpB,KAAKypB,eAAeo0D,eAAiB,SAASj+D,EAAU3Q,GAEpD,IAAInM,EAAa8c,EAAS9c,WAEtB8c,EAAShN,QAETpR,KAAKsoF,mBAAmBlqE,GACxBA,EAAShN,OAAQ,GAGrB,IAAK,IAAI1O,EAAI,EAAGA,EAAI0b,EAASknC,aAAa3iD,OAAQD,IAClD,CACI,IAAIsR,EAAOoK,EAASknC,aAAa5iD,GAC7B8iD,EAAQxxC,EAAKwxC,MAEb4/B,EAAYpxE,EAAKu0E,UACjBL,EAAYl0E,EAAKw0E,UAIrB,GAFA/6E,EAAQiwE,UAAY1pE,EAAK0pE,UAErB1pE,EAAKZ,OAAS5R,EAAOyrB,QACzB,CACIxf,EAAQ4vE,YAER,IAAIj/C,EAASonB,EAAMpnB,OAEnB3wB,EAAQ+vE,OAAOp/C,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAI32B,EAAE,EAAGA,EAAI22B,EAAOz7B,OAAO,EAAG8E,IAE/BgG,EAAQgwE,OAAOr/C,EAAW,EAAJ32B,GAAQ22B,EAAW,EAAJ32B,EAAQ,IAG7C+9C,EAAMvmB,QAENxxB,EAAQgwE,OAAOr/C,EAAO,GAAIA,EAAO,IAIjCA,EAAO,KAAOA,EAAOA,EAAOz7B,OAAO,IAAMy7B,EAAO,KAAOA,EAAOA,EAAOz7B,OAAO,IAE5E8K,EAAQ8vE,YAGRvpE,EAAKuxC,OAEL93C,EAAQG,YAAcoG,EAAKqxE,UAAY/jF,EACvCmM,EAAQ8a,UAAY,KAAO,SAAwB,EAAZ68D,GAAe58D,SAAS,KAAKC,QAAQ,GAC5Ehb,EAAQ83C,QAGRvxC,EAAK0pE,YAELjwE,EAAQG,YAAcoG,EAAKm0E,UAAY7mF,EACvCmM,EAAQkwE,YAAc,KAAO,SAAwB,EAAZuK,GAAe1/D,SAAS,KAAKC,QAAQ,GAC9Ehb,EAAQmwE,eAGX,GAAI5pE,EAAKZ,OAAS5R,EAAOmsB,WAEtB3Z,EAAKoxE,WAAgC,IAAnBpxE,EAAKoxE,aAEvB33E,EAAQG,YAAcoG,EAAKqxE,UAAY/jF,EACvCmM,EAAQ8a,UAAY,KAAO,SAAwB,EAAZ68D,GAAe58D,SAAS,KAAKC,QAAQ,GAC5Ehb,EAAQib,SAAS88B,EAAM1hD,EAAG0hD,EAAMzhD,EAAGyhD,EAAM5nD,MAAO4nD,EAAM3nD,SAGtDmW,EAAK0pE,YAELjwE,EAAQG,YAAcoG,EAAKm0E,UAAY7mF,EACvCmM,EAAQkwE,YAAc,KAAO,SAAwB,EAAZuK,GAAe1/D,SAAS,KAAKC,QAAQ,GAC9Ehb,EAAQg7E,WAAWjjC,EAAM1hD,EAAG0hD,EAAMzhD,EAAGyhD,EAAM5nD,MAAO4nD,EAAM3nD,cAG3D,GAAImW,EAAKZ,OAAS5R,EAAOksB,OAG1BjgB,EAAQ4vE,YACR5vE,EAAQ6vE,IAAI93B,EAAM1hD,EAAG0hD,EAAMzhD,EAAGyhD,EAAMvwB,OAAO,EAAE,EAAExxB,KAAKqxB,IACpDrnB,EAAQ8vE,YAEJvpE,EAAKuxC,OAEL93C,EAAQG,YAAcoG,EAAKqxE,UAAY/jF,EACvCmM,EAAQ8a,UAAY,KAAO,SAAwB,EAAZ68D,GAAe58D,SAAS,KAAKC,QAAQ,GAC5Ehb,EAAQ83C,QAGRvxC,EAAK0pE,YAELjwE,EAAQG,YAAcoG,EAAKm0E,UAAY7mF,EACvCmM,EAAQkwE,YAAc,KAAO,SAAwB,EAAZuK,GAAe1/D,SAAS,KAAKC,QAAQ,GAC9Ehb,EAAQmwE,eAGX,GAAI5pE,EAAKZ,OAAS5R,EAAO6rB,QAC9B,CAGI,IAAIpY,EAAkB,EAAduwC,EAAM5nD,MACVumB,EAAmB,EAAfqhC,EAAM3nD,OAEViG,EAAI0hD,EAAM1hD,EAAImR,EAAE,EAChBlR,EAAIyhD,EAAMzhD,EAAIogB,EAAE,EAEpB1W,EAAQ4vE,YAER,IACIqL,EAAMzzE,EAAI,EADF,SAER0zE,EAAMxkE,EAAI,EAFF,SAGRykE,EAAK9kF,EAAImR,EACT4zE,EAAK9kF,EAAIogB,EACT2kE,EAAKhlF,EAAImR,EAAI,EACb8zE,EAAKhlF,EAAIogB,EAAI,EAEjB1W,EAAQ+vE,OAAO15E,EAAGilF,GAClBt7E,EAAQu7E,cAAcllF,EAAGilF,EAAKJ,EAAIG,EAAKJ,EAAI3kF,EAAG+kF,EAAI/kF,GAClD0J,EAAQu7E,cAAcF,EAAKJ,EAAI3kF,EAAG6kF,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDt7E,EAAQu7E,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDp7E,EAAQu7E,cAAcF,EAAKJ,EAAIG,EAAI/kF,EAAGilF,EAAKJ,EAAI7kF,EAAGilF,GAElDt7E,EAAQ8vE,YAEJvpE,EAAKuxC,OAEL93C,EAAQG,YAAcoG,EAAKqxE,UAAY/jF,EACvCmM,EAAQ8a,UAAY,KAAO,SAAwB,EAAZ68D,GAAe58D,SAAS,KAAKC,QAAQ,GAC5Ehb,EAAQ83C,QAGRvxC,EAAK0pE,YAELjwE,EAAQG,YAAcoG,EAAKm0E,UAAY7mF,EACvCmM,EAAQkwE,YAAc,KAAO,SAAwB,EAAZuK,GAAe1/D,SAAS,KAAKC,QAAQ,GAC9Ehb,EAAQmwE,eAGX,GAAI5pE,EAAKZ,OAAS5R,EAAOusB,iBAC9B,CACI,IAAIgT,EAAKykB,EAAM1hD,EACXk9B,EAAKwkB,EAAMzhD,EACXnG,EAAQ4nD,EAAM5nD,MACdC,EAAS2nD,EAAM3nD,OACfo3B,EAASuwB,EAAMvwB,OAEfg0D,EAAYxlF,KAAK21B,IAAIx7B,EAAOC,GAAU,EAAI,EAC9Co3B,EAASA,EAASg0D,EAAYA,EAAYh0D,EAE1CxnB,EAAQ4vE,YACR5vE,EAAQ+vE,OAAOz8C,EAAIC,EAAK/L,GACxBxnB,EAAQgwE,OAAO18C,EAAIC,EAAKnjC,EAASo3B,GACjCxnB,EAAQy7E,iBAAiBnoD,EAAIC,EAAKnjC,EAAQkjC,EAAK9L,EAAQ+L,EAAKnjC,GAC5D4P,EAAQgwE,OAAO18C,EAAKnjC,EAAQq3B,EAAQ+L,EAAKnjC,GACzC4P,EAAQy7E,iBAAiBnoD,EAAKnjC,EAAOojC,EAAKnjC,EAAQkjC,EAAKnjC,EAAOojC,EAAKnjC,EAASo3B,GAC5ExnB,EAAQgwE,OAAO18C,EAAKnjC,EAAOojC,EAAK/L,GAChCxnB,EAAQy7E,iBAAiBnoD,EAAKnjC,EAAOojC,EAAID,EAAKnjC,EAAQq3B,EAAQ+L,GAC9DvzB,EAAQgwE,OAAO18C,EAAK9L,EAAQ+L,GAC5BvzB,EAAQy7E,iBAAiBnoD,EAAIC,EAAID,EAAIC,EAAK/L,GAC1CxnB,EAAQ8vE,aAEJvpE,EAAKoxE,WAAgC,IAAnBpxE,EAAKoxE,aAEvB33E,EAAQG,YAAcoG,EAAKqxE,UAAY/jF,EACvCmM,EAAQ8a,UAAY,KAAO,SAAwB,EAAZ68D,GAAe58D,SAAS,KAAKC,QAAQ,GAC5Ehb,EAAQ83C,QAGRvxC,EAAK0pE,YAELjwE,EAAQG,YAAcoG,EAAKm0E,UAAY7mF,EACvCmM,EAAQkwE,YAAc,KAAO,SAAwB,EAAZuK,GAAe1/D,SAAS,KAAKC,QAAQ,GAC9Ehb,EAAQmwE,aAgBxBp/E,KAAKypB,eAAeC,mBAAqB,SAAS9J,EAAU3Q,GAExD,IAAIojB,EAAMzS,EAASknC,aAAa3iD,OAEhC,GAAY,IAARkuB,EAAJ,CAKApjB,EAAQ4vE,YAER,IAAK,IAAI36E,EAAI,EAAGA,EAAImuB,EAAKnuB,IACzB,CACI,IAAIsR,EAAOoK,EAASknC,aAAa5iD,GAC7B8iD,EAAQxxC,EAAKwxC,MAEjB,GAAIxxC,EAAKZ,OAAS5R,EAAOyrB,QACzB,CAEI,IAAImR,EAASonB,EAAMpnB,OAEnB3wB,EAAQ+vE,OAAOp/C,EAAO,GAAIA,EAAO,IAEjC,IAAK,IAAI32B,EAAE,EAAGA,EAAI22B,EAAOz7B,OAAO,EAAG8E,IAE/BgG,EAAQgwE,OAAOr/C,EAAW,EAAJ32B,GAAQ22B,EAAW,EAAJ32B,EAAQ,IAI7C22B,EAAO,KAAOA,EAAOA,EAAOz7B,OAAO,IAAMy7B,EAAO,KAAOA,EAAOA,EAAOz7B,OAAO,IAE5E8K,EAAQ8vE,iBAIX,GAAIvpE,EAAKZ,OAAS5R,EAAOmsB,UAE1BlgB,EAAQitB,KAAK8qB,EAAM1hD,EAAG0hD,EAAMzhD,EAAGyhD,EAAM5nD,MAAO4nD,EAAM3nD,QAClD4P,EAAQ8vE,iBAEP,GAAIvpE,EAAKZ,OAAS5R,EAAOksB,OAG1BjgB,EAAQ6vE,IAAI93B,EAAM1hD,EAAG0hD,EAAMzhD,EAAGyhD,EAAMvwB,OAAQ,EAAG,EAAIxxB,KAAKqxB,IACxDrnB,EAAQ8vE,iBAEP,GAAIvpE,EAAKZ,OAAS5R,EAAO6rB,QAC9B,CAII,IAAIpY,EAAkB,EAAduwC,EAAM5nD,MACVumB,EAAmB,EAAfqhC,EAAM3nD,OAEViG,EAAI0hD,EAAM1hD,EAAImR,EAAE,EAChBlR,EAAIyhD,EAAMzhD,EAAIogB,EAAE,EAGhBukE,EAAMzzE,EAAI,EADF,SAER0zE,EAAMxkE,EAAI,EAFF,SAGRykE,EAAK9kF,EAAImR,EACT4zE,EAAK9kF,EAAIogB,EACT2kE,EAAKhlF,EAAImR,EAAI,EACb8zE,EAAKhlF,EAAIogB,EAAI,EAEjB1W,EAAQ+vE,OAAO15E,EAAGilF,GAClBt7E,EAAQu7E,cAAcllF,EAAGilF,EAAKJ,EAAIG,EAAKJ,EAAI3kF,EAAG+kF,EAAI/kF,GAClD0J,EAAQu7E,cAAcF,EAAKJ,EAAI3kF,EAAG6kF,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDt7E,EAAQu7E,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDp7E,EAAQu7E,cAAcF,EAAKJ,EAAIG,EAAI/kF,EAAGilF,EAAKJ,EAAI7kF,EAAGilF,GAClDt7E,EAAQ8vE,iBAEP,GAAIvpE,EAAKZ,OAAS5R,EAAOusB,iBAC9B,CAEI,IAAIgT,EAAKykB,EAAM1hD,EACXk9B,EAAKwkB,EAAMzhD,EACXnG,EAAQ4nD,EAAM5nD,MACdC,EAAS2nD,EAAM3nD,OACfo3B,EAASuwB,EAAMvwB,OAEfg0D,EAAYxlF,KAAK21B,IAAIx7B,EAAOC,GAAU,EAAI,EAC9Co3B,EAASA,EAASg0D,EAAYA,EAAYh0D,EAE1CxnB,EAAQ+vE,OAAOz8C,EAAIC,EAAK/L,GACxBxnB,EAAQgwE,OAAO18C,EAAIC,EAAKnjC,EAASo3B,GACjCxnB,EAAQy7E,iBAAiBnoD,EAAIC,EAAKnjC,EAAQkjC,EAAK9L,EAAQ+L,EAAKnjC,GAC5D4P,EAAQgwE,OAAO18C,EAAKnjC,EAAQq3B,EAAQ+L,EAAKnjC,GACzC4P,EAAQy7E,iBAAiBnoD,EAAKnjC,EAAOojC,EAAKnjC,EAAQkjC,EAAKnjC,EAAOojC,EAAKnjC,EAASo3B,GAC5ExnB,EAAQgwE,OAAO18C,EAAKnjC,EAAOojC,EAAK/L,GAChCxnB,EAAQy7E,iBAAiBnoD,EAAKnjC,EAAOojC,EAAID,EAAKnjC,EAAQq3B,EAAQ+L,GAC9DvzB,EAAQgwE,OAAO18C,EAAK9L,EAAQ+L,GAC5BvzB,EAAQy7E,iBAAiBnoD,EAAIC,EAAID,EAAIC,EAAK/L,GAC1CxnB,EAAQ8vE,gBAKpB/+E,KAAKypB,eAAeqgE,mBAAqB,SAASlqE,GAE9C,GAAsB,WAAlBA,EAAS3R,KASb,IAAK,IAJD08E,GAAS/qE,EAAS3R,MAAQ,GAAK,KAAQ,IACvC28E,GAAShrE,EAAS3R,MAAQ,EAAI,KAAQ,IACtC48E,GAAyB,IAAhBjrE,EAAS3R,MAAc,IAE3B/J,EAAI,EAAGA,EAAI0b,EAASknC,aAAa3iD,OAAQD,IAClD,CACI,IAAIsR,EAAOoK,EAASknC,aAAa5iD,GAE7B0iF,EAA6B,EAAjBpxE,EAAKoxE,UACjB8C,EAA6B,EAAjBl0E,EAAKk0E,UAErBl0E,EAAKu0E,YAAenD,GAAa,GAAK,KAAQ,IAAM+D,EAAM,KAAO,MAAQ/D,GAAa,EAAI,KAAQ,IAAMgE,EAAM,KAAO,IAAmB,IAAZhE,GAAoB,IAAMiE,EAAM,IAC5Jr1E,EAAKw0E,YAAeN,GAAa,GAAK,KAAQ,IAAMiB,EAAM,KAAO,MAAQjB,GAAa,EAAI,KAAQ,IAAMkB,EAAM,KAAO,IAAmB,IAAZlB,GAAoB,IAAMmB,EAAM,MAoBpK7nF,EAAO8nF,aAAe,SAAU5L,EAAWwK,EAAWC,EAAW/C,EAAWC,EAAW9/B,EAAMC,GAKzFxlD,KAAK09E,UAAYA,EAKjB19E,KAAKkoF,UAAYA,EAKjBloF,KAAKmoF,UAAYA,EAKjBnoF,KAAKwoF,UAAYN,EAKjBloF,KAAKolF,UAAYA,EAKjBplF,KAAKqlF,UAAYA,EAKjBrlF,KAAKuoF,UAAYnD,EAKjBplF,KAAKulD,KAAOA,EAKZvlD,KAAKwlD,MAAQA,EAKbxlD,KAAKoT,KAAOoyC,EAAMpyC,MAItB5R,EAAO8nF,aAAahnF,UAAUC,YAAcf,EAAO8nF,aAOnD9nF,EAAO8nF,aAAahnF,UAAUyxB,MAAQ,WAElC,OAAO,IAAIvyB,EAAO8nF,aACdtpF,KAAK09E,UACL19E,KAAKkoF,UACLloF,KAAKmoF,UACLnoF,KAAKolF,UACLplF,KAAKqlF,UACLrlF,KAAKulD,KACLvlD,KAAKwlD,QAsDbhkD,EAAOkiC,SAAW,SAAU5gC,EAAMgB,EAAGC,QAEvBuC,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,GAM3B/D,KAAKoT,KAAO5R,EAAOgrB,SAMnBxsB,KAAK+xC,YAAcvwC,EAAO6qB,OAM1BrsB,KAAK0G,OAAS,IAAIlF,EAAOX,MAEzBrC,KAAK0J,uBAAuB3D,KAAKvE,MAEjCA,KAAKoB,YAAa,EAQlBpB,KAAKqlF,UAAY,EAQjBrlF,KAAK09E,UAAY,EASjB19E,KAAKkoF,UAAY,EASjBloF,KAAKslD,gBASLtlD,KAAKyM,KAAO,SASZzM,KAAK6H,UAAYrJ,KAAKsJ,WAAWE,OASjChI,KAAKupF,YAAc,KASnBvpF,KAAK8d,UAQL9d,KAAKoH,QAAS,EAQdpH,KAAKwpF,cAAgB,EAErBxpF,KAAKypF,aAAe,IAAIjoF,EAAOS,UAAU,EAAG,EAAG,EAAG,GASlDjC,KAAKoR,OAAQ,EAUbpR,KAAK0pF,cAAe,EASpB1pF,KAAK2pF,YAAa,EASlB3pF,KAAK4pF,mBAAoB,EAEzBpoF,EAAOynE,UAAUiB,KAAK54D,KAAK/M,KAAKvE,KAAM8C,EAAMgB,EAAGC,EAAG,GAAI,OAI1DvC,EAAOkiC,SAASphC,UAAYsE,OAAOwB,OAAO5J,KAAK0J,uBAAuB5F,WACtEd,EAAOkiC,SAASphC,UAAUC,YAAcf,EAAOkiC,SAE/CliC,EAAOynE,UAAUiB,KAAKE,QAAQ7lE,KAAK/C,EAAOkiC,SAASphC,WAC/C,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJd,EAAOkiC,SAASphC,UAAUmyE,iBAAmBjzE,EAAOynE,UAAUuB,YAAY/lE,UAC1EjD,EAAOkiC,SAASphC,UAAUoyE,kBAAoBlzE,EAAOynE,UAAUqG,SAAS7qE,UACxEjD,EAAOkiC,SAASphC,UAAUqyE,iBAAmBnzE,EAAOynE,UAAU8F,QAAQtqE,UACtEjD,EAAOkiC,SAASphC,UAAUsyE,cAAgBpzE,EAAOynE,UAAUiB,KAAKzlE,UAOhEjD,EAAOkiC,SAASphC,UAAUmC,UAAY,WAElC,SAAKzE,KAAKy0E,oBAAuBz0E,KAAK00E,qBAAwB10E,KAAK20E,qBAK5D30E,KAAK40E,iBAShBpzE,EAAOkiC,SAASphC,UAAUwsC,WAAa,WAEnCttC,EAAOynE,UAAUuB,YAAY17B,WAAWvqC,KAAKvE,MAC7CwB,EAAOynE,UAAU0B,cAAc77B,WAAWvqC,KAAKvE,MAE3CA,KAAK0pF,eAEL1pF,KAAK6pF,oBACL7pF,KAAK0pF,cAAe,GAGxB,IAAK,IAAIhnF,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGosC,cAWzBttC,EAAOkiC,SAASphC,UAAUE,QAAU,SAAUu3C,GAE1C/5C,KAAKua,QAEL/Y,EAAOynE,UAAU6C,QAAQxpE,UAAUE,QAAQ+B,KAAKvE,KAAM+5C,IAW1Dv4C,EAAOkiC,SAASphC,UAAUwnF,aAAe,SAAU1rD,EAAQ2rD,QAE1CzjF,IAATyjF,IAAsBA,GAAO,GAEjC,IAAIC,EAAW,IAAIxoF,EAAOs9B,QAAQV,GAElC,GAAI2rD,EACJ,CACI,IAAIE,EAAe,IAAIzoF,EAAOX,MAAMb,KAAK8C,KAAK2X,OAAO3W,EAAIs6B,EAAO,GAAGt6B,EAAG9D,KAAK8C,KAAK2X,OAAO1W,EAAIq6B,EAAO,GAAGr6B,GACjGmmF,EAAK,IAAI1oF,EAAOX,MAAMu9B,EAAO,GAAGt6B,EAAIs6B,EAAO,GAAGt6B,EAAGs6B,EAAO,GAAGr6B,EAAIq6B,EAAO,GAAGr6B,GAEzEomF,EADK,IAAI3oF,EAAOX,MAAMu9B,EAAO,GAAGt6B,EAAIs6B,EAAO,GAAGt6B,EAAGs6B,EAAO,GAAGr6B,EAAIq6B,EAAO,GAAGr6B,GACzD05B,MAAMysD,GAEtBD,EAAazsD,IAAI2sD,GAAc,GAE/BnqF,KAAKoqF,YAAYJ,QAKrBhqF,KAAKoqF,YAAYJ,IAazBxoF,EAAOkiC,SAASphC,UAAU+nF,cAAgB,SAAUvoE,EAAUtP,EAASu3E,QAEtDzjF,IAATyjF,IAAsBA,GAAO,GAEjC,IAIIrnF,EAJA4nF,EAAS,IAAI9oF,EAAOX,MACpB0pF,EAAS,IAAI/oF,EAAOX,MACpB2pF,EAAS,IAAIhpF,EAAOX,MACpBu9B,KAGJ,GAAK5rB,EAyBD,GAAIsP,EAAS,aAActgB,EAAOX,MAE9B,IAAK6B,EAAI,EAAGA,EAAI8P,EAAQ7P,OAAQ,EAAGD,IAE/B07B,EAAO12B,KAAKoa,EAAStP,EAAY,EAAJ9P,KAC7B07B,EAAO12B,KAAKoa,EAAStP,EAAY,EAAJ9P,EAAQ,KACrC07B,EAAO12B,KAAKoa,EAAStP,EAAY,EAAJ9P,EAAQ,KAEf,IAAlB07B,EAAOz7B,SAEP3C,KAAK8pF,aAAa1rD,EAAQ2rD,GAC1B3rD,WAMR,IAAK17B,EAAI,EAAGA,EAAI8P,EAAQ7P,OAAQD,IAE5B4nF,EAAOxmF,EAAIge,EAAsB,EAAbtP,EAAQ9P,IAC5B4nF,EAAOvmF,EAAI+d,EAAsB,EAAbtP,EAAQ9P,GAAS,GACrC07B,EAAO12B,KAAK4iF,EAAOl1D,YAEG,IAAlBgJ,EAAOz7B,SAEP3C,KAAK8pF,aAAa1rD,EAAQ2rD,GAC1B3rD,WAjDZ,GAAItc,EAAS,aAActgB,EAAOX,MAE9B,IAAK6B,EAAI,EAAGA,EAAIof,EAASnf,OAAS,EAAGD,IAEjC1C,KAAK8pF,cAAchoE,EAAa,EAAJpf,GAAQof,EAAa,EAAJpf,EAAQ,GAAIof,EAAa,EAAJpf,EAAQ,IAAKqnF,QAKnF,IAAKrnF,EAAI,EAAGA,EAAIof,EAASnf,OAAS,EAAGD,IAEjC4nF,EAAOxmF,EAAIge,EAAa,EAAJpf,EAAQ,GAC5B4nF,EAAOvmF,EAAI+d,EAAa,EAAJpf,EAAQ,GAC5B6nF,EAAOzmF,EAAIge,EAAa,EAAJpf,EAAQ,GAC5B6nF,EAAOxmF,EAAI+d,EAAa,EAAJpf,EAAQ,GAC5B8nF,EAAO1mF,EAAIge,EAAa,EAAJpf,EAAQ,GAC5B8nF,EAAOzmF,EAAI+d,EAAa,EAAJpf,EAAQ,GAC5B1C,KAAK8pF,cAAcQ,EAAQC,EAAQC,GAAST,IAgD5DvoF,EAAOkiC,SAASphC,UAAUmoF,UAAY,SAAU/M,EAAWznE,EAAOhV,GAsB9D,OApBAjB,KAAK09E,UAAYA,GAAa,EAC9B19E,KAAKkoF,UAAYjyE,GAAS,EAC1BjW,KAAKmoF,eAAuB7hF,IAAVrF,EAAuB,EAAIA,EAEzCjB,KAAKupF,cAEDvpF,KAAKupF,YAAY/jC,MAAMpnB,OAAOz7B,OAG9B3C,KAAK0qF,UAAU,IAAIlpF,EAAOs9B,QAAQ9+B,KAAKupF,YAAY/jC,MAAMpnB,OAAOrO,OAAO,MAKvE/vB,KAAKupF,YAAY7L,UAAY19E,KAAK09E,UAClC19E,KAAKupF,YAAYrB,UAAYloF,KAAKkoF,UAClCloF,KAAKupF,YAAYpB,UAAYnoF,KAAKmoF,YAInCnoF,MAYXwB,EAAOkiC,SAASphC,UAAUk7E,OAAS,SAAU15E,EAAGC,GAI5C,OAFA/D,KAAK0qF,UAAU,IAAIlpF,EAAOs9B,SAAUh7B,EAAGC,KAEhC/D,MAaXwB,EAAOkiC,SAASphC,UAAUm7E,OAAS,SAAU35E,EAAGC,GAW5C,OATK/D,KAAKupF,aAENvpF,KAAKw9E,OAAO,EAAG,GAGnBx9E,KAAKupF,YAAY/jC,MAAMpnB,OAAO12B,KAAK5D,EAAGC,GACtC/D,KAAKoR,OAAQ,EACbpR,KAAK0pF,cAAe,EAEb1pF,MAeXwB,EAAOkiC,SAASphC,UAAU4mF,iBAAmB,SAAUnD,EAAKC,EAAKC,EAAKC,GAE9DlmF,KAAKupF,YAEwC,IAAzCvpF,KAAKupF,YAAY/jC,MAAMpnB,OAAOz7B,SAE9B3C,KAAKupF,YAAY/jC,MAAMpnB,QAAW,EAAG,IAKzCp+B,KAAKw9E,OAAO,EAAE,GAGlB,IAAI+I,EACAC,EAEApoD,EAASp+B,KAAKupF,YAAY/jC,MAAMpnB,OAEd,IAAlBA,EAAOz7B,QAEP3C,KAAKw9E,OAAO,EAAG,GAMnB,IAAK,IAHDqI,EAAQznD,EAAOA,EAAOz7B,OAAS,GAC/BmjF,EAAQ1nD,EAAOA,EAAOz7B,OAAS,GAC/B8E,EAAI,EACC/E,EAAI,EAAGA,GAXR,KAWkBA,EAItB6jF,EAAKV,GAAUE,EAAMF,IAFrBp+E,EAAI/E,EAbA,IAgBJ8jF,EAAKV,GAAUE,EAAMF,GAASr+E,EAE9B22B,EAAO12B,KAAM6+E,GAASR,GAASE,EAAMF,GAAOt+E,EAAO8+E,GAAM9+E,EAC5C++E,GAASR,GAASE,EAAMF,GAAOv+E,EAAO++E,GAAM/+E,GAM7D,OAHAzH,KAAKoR,OAAQ,EACbpR,KAAK0pF,cAAe,EAEb1pF,MAgBXwB,EAAOkiC,SAASphC,UAAU0mF,cAAgB,SAAUjD,EAAKC,EAAK2E,EAAMC,EAAM3E,EAAKC,GAEvElmF,KAAKupF,YAEwC,IAAzCvpF,KAAKupF,YAAY/jC,MAAMpnB,OAAOz7B,SAE9B3C,KAAKupF,YAAY/jC,MAAMpnB,QAAU,EAAG,IAKxCp+B,KAAKw9E,OAAO,EAAE,GAelB,IAAK,IAXDqN,EACAC,EACAC,EACAC,EACAC,EACA7sD,EAASp+B,KAAKupF,YAAY/jC,MAAMpnB,OAEhCynD,EAAQznD,EAAOA,EAAOz7B,OAAO,GAC7BmjF,EAAQ1nD,EAAOA,EAAOz7B,OAAO,GAC7B8E,EAAI,EAEC/E,EAAI,EAAGA,GAZR,KAYkBA,EAMtBqoF,GADAD,GADAD,EAAM,GAFNpjF,EAAI/E,EAdA,KAiBOmoF,GACCA,EAGZI,GADAD,EAAKvjF,EAAIA,GACCA,EAEV22B,EAAO12B,KAAMqjF,EAAMlF,EAAQ,EAAIiF,EAAMrjF,EAAIs+E,EAAM,EAAI8E,EAAKG,EAAKL,EAAOM,EAAKhF,EAC5D8E,EAAMjF,EAAQ,EAAIgF,EAAMrjF,EAAIu+E,EAAM,EAAI6E,EAAKG,EAAKJ,EAAOK,EAAK/E,GAM7E,OAHAlmF,KAAKoR,OAAQ,EACbpR,KAAK0pF,cAAe,EAEb1pF,MAiBXwB,EAAOkiC,SAASphC,UAAU4oF,MAAQ,SAAUlgF,EAAIC,EAAIC,EAAIC,EAAI8pB,GAEpDj1B,KAAKupF,YAEwC,IAAzCvpF,KAAKupF,YAAY/jC,MAAMpnB,OAAOz7B,QAE9B3C,KAAKupF,YAAY/jC,MAAMpnB,OAAO12B,KAAKsD,EAAIC,GAK3CjL,KAAKw9E,OAAOxyE,EAAIC,GAGpB,IAAImzB,EAASp+B,KAAKupF,YAAY/jC,MAAMpnB,OAChCynD,EAAQznD,EAAOA,EAAOz7B,OAAO,GAE7Bq3B,EADQoE,EAAOA,EAAOz7B,OAAO,GAChBsI,EACbivB,EAAK2rD,EAAQ76E,EACbivB,EAAK9uB,EAAOF,EACZkvB,EAAKjvB,EAAOF,EACZmgF,EAAK1nF,KAAKgzB,IAAIuD,EAAKG,EAAKD,EAAKD,GAEjC,GAAIkxD,EAAK,MAAqB,IAAXl2D,EAEXmJ,EAAOA,EAAOz7B,OAAO,KAAOqI,GAAMozB,EAAOA,EAAOz7B,OAAO,KAAOsI,GAE9DmzB,EAAO12B,KAAKsD,EAAIC,OAIxB,CACI,IAAImgF,EAAKpxD,EAAKA,EAAKE,EAAKA,EACpBmxD,EAAKpxD,EAAKA,EAAKE,EAAKA,EACpBmxD,EAAKtxD,EAAKC,EAAKC,EAAKC,EACpBoxD,EAAKt2D,EAASxxB,KAAKS,KAAKknF,GAAMD,EAC9BK,EAAKv2D,EAASxxB,KAAKS,KAAKmnF,GAAMF,EAC9BM,EAAKF,EAAKD,EAAKF,EACfM,EAAKF,EAAKF,EAAKD,EACfx8E,EAAK08E,EAAKpxD,EAAKqxD,EAAKtxD,EACpBprB,EAAKy8E,EAAKtxD,EAAKuxD,EAAKxxD,EACpBjH,EAAKmH,GAAMsxD,EAAKC,GAChBn1B,EAAKt8B,GAAMwxD,EAAKC,GAChBzI,EAAK7oD,GAAMoxD,EAAKG,GAChBC,EAAK1xD,GAAMsxD,EAAKG,GAChB51D,EAAaryB,KAAKo5B,MAAMy5B,EAAKxnD,EAAIikB,EAAKlkB,GACtCknB,EAAatyB,KAAKo5B,MAAM8uD,EAAK78E,EAAIk0E,EAAKn0E,GAE1C7O,KAAKs9E,IAAIzuE,EAAK7D,EAAI8D,EAAK7D,EAAIgqB,EAAQa,EAAYC,EAAUmE,EAAKD,EAAKE,EAAKH,GAM5E,OAHAh6B,KAAKoR,OAAQ,EACbpR,KAAK0pF,cAAe,EAEb1pF,MAiBXwB,EAAOkiC,SAASphC,UAAUg7E,IAAM,SAAUzuE,EAAIC,EAAImmB,EAAQa,EAAYC,EAAU61D,EAAeC,GAG3F,GAAI/1D,IAAeC,EAEf,OAAO/1B,UAGWsG,IAAlBslF,IAA+BA,GAAgB,QAClCtlF,IAAbulF,IAA0BA,EAAW,KAEpCD,GAAiB71D,GAAYD,EAE9BC,GAAsB,EAAVtyB,KAAKqxB,GAEZ82D,GAAiB91D,GAAcC,IAEpCD,GAAwB,EAAVryB,KAAKqxB,IAGvB,IAAIg3D,EAAQF,GAA2C,GAA1B91D,EAAaC,GAAkBA,EAAWD,EACnEi2D,EAAQtoF,KAAKwC,KAAKxC,KAAKgzB,IAAIq1D,IAAoB,EAAVroF,KAAKqxB,KAAW+2D,EAGzD,GAAc,IAAVC,EAEA,OAAO9rF,KAGX,IAAIgsF,EAASn9E,EAAKpL,KAAKI,IAAIiyB,GAAcb,EACrCg3D,EAASn9E,EAAKrL,KAAKG,IAAIkyB,GAAcb,EAErC22D,GAAiB5rF,KAAKksF,QAEtBlsF,KAAKw9E,OAAO3uE,EAAIC,GAIhB9O,KAAKw9E,OAAOwO,EAAQC,GAgBxB,IAAK,IAZD7tD,EAASp+B,KAAKupF,YAAY/jC,MAAMpnB,OAEhC+tD,EAAQL,GAAgB,EAAPC,GACjBK,EAAiB,EAARD,EAETE,EAAS5oF,KAAKI,IAAIsoF,GAClBG,EAAS7oF,KAAKG,IAAIuoF,GAElBI,EAAWR,EAAO,EAElBS,EAAaD,EAAW,EAAKA,EAExB7pF,EAAI,EAAGA,GAAK6pF,EAAU7pF,IAC/B,CACI,IAEIgzB,EAAS,EAAUI,EAAcs2D,GAF1B1pF,EAAI8pF,EAAY9pF,GAIvBS,EAAIM,KAAKI,IAAI6xB,GACbtxB,GAAKX,KAAKG,IAAI8xB,GAElB0I,EAAO12B,MAAQ2kF,EAAUlpF,EAAMmpF,EAASloF,GAAO6wB,EAASpmB,GACzCw9E,GAAUjoF,EAAMkoF,EAASnpF,GAAO8xB,EAASnmB,GAM5D,OAHA9O,KAAKoR,OAAQ,EACbpR,KAAK0pF,cAAe,EAEb1pF,MAaXwB,EAAOkiC,SAASphC,UAAUiiC,UAAY,SAAUtuB,EAAOhV,GAgBnD,OAdAjB,KAAKksF,SAAU,EACflsF,KAAKolF,UAAYnvE,GAAS,EAC1BjW,KAAKqlF,eAAuB/+E,IAAVrF,EAAuB,EAAIA,EAEzCjB,KAAKupF,aAEDvpF,KAAKupF,YAAY/jC,MAAMpnB,OAAOz7B,QAAU,IAExC3C,KAAKupF,YAAYhkC,KAAOvlD,KAAKksF,QAC7BlsF,KAAKupF,YAAYnE,UAAYplF,KAAKolF,UAClCplF,KAAKupF,YAAYlE,UAAYrlF,KAAKqlF,WAInCrlF,MAUXwB,EAAOkiC,SAASphC,UAAUmiC,QAAU,WAMhC,OAJAzkC,KAAKksF,SAAU,EACflsF,KAAKolF,UAAY,KACjBplF,KAAKqlF,UAAY,EAEVrlF,MAaXwB,EAAOkiC,SAASphC,UAAUkiC,SAAW,SAAU1gC,EAAGC,EAAGnG,EAAOC,GAIxD,OAFAmC,KAAK0qF,UAAU,IAAIlpF,EAAOS,UAAU6B,EAAGC,EAAGnG,EAAOC,IAE1CmC,MAYXwB,EAAOkiC,SAASphC,UAAUmqF,gBAAkB,SAAU3oF,EAAGC,EAAGnG,EAAOC,EAAQo3B,GAIvE,OAFAj1B,KAAK0qF,UAAU,IAAIlpF,EAAOkgC,iBAAiB59B,EAAGC,EAAGnG,EAAOC,EAAQo3B,IAEzDj1B,MAaXwB,EAAOkiC,SAASphC,UAAUoqF,WAAa,SAAU5oF,EAAGC,EAAG2wB,GAInD,OAFA10B,KAAK0qF,UAAU,IAAIlpF,EAAOizB,OAAO3wB,EAAGC,EAAG2wB,IAEhC10B,MAcXwB,EAAOkiC,SAASphC,UAAUqqF,YAAc,SAAU7oF,EAAGC,EAAGnG,EAAOC,GAI3D,OAFAmC,KAAK0qF,UAAU,IAAIlpF,EAAOk2B,QAAQ5zB,EAAGC,EAAGnG,EAAOC,IAExCmC,MAWXwB,EAAOkiC,SAASphC,UAAU8nF,YAAc,SAAUwC,GAE1CA,aAAgBprF,EAAOs9B,UAEvB8tD,EAAOA,EAAKxuD,QAKhB,IAAIA,EAASwuD,EAEb,IAAKvlF,MAAMC,QAAQ82B,GACnB,CAGIA,EAAS,IAAI/2B,MAAMgpB,UAAU1tB,QAE7B,IAAK,IAAID,EAAI,EAAGA,EAAI07B,EAAOz7B,SAAUD,EAEjC07B,EAAO17B,GAAK2tB,UAAU3tB,GAM9B,OAFA1C,KAAK0qF,UAAU,IAAIlpF,EAAOs9B,QAAQV,IAE3Bp+B,MAUXwB,EAAOkiC,SAASphC,UAAUiY,MAAQ,WAY9B,OAVAva,KAAK09E,UAAY,EACjB19E,KAAKksF,SAAU,EAEflsF,KAAKoR,OAAQ,EACbpR,KAAK0pF,cAAe,EACpB1pF,KAAKwkF,YAAa,EAClBxkF,KAAKslD,gBAELtlD,KAAK6pF,oBAEE7pF,MAgBXwB,EAAOkiC,SAASphC,UAAUoC,gBAAkB,SAAUC,EAAY7G,EAAWsoB,QAEtD9f,IAAf3B,IAA4BA,EAAa,QAC3B2B,IAAdxI,IAA2BA,EAAYU,KAAKC,WAAW6oB,cAC3ChhB,IAAZ8f,IAAyBA,EAAU,GAEvC,IAAIvhB,EAAS7E,KAAK4J,YAElB/E,EAAOjH,OAASwoB,EAChBvhB,EAAOhH,QAAUuoB,EAEjB,IAAIymE,EAAe,IAAIruF,KAAKmpB,aAAa9iB,EAAOjH,MAAQ+G,EAAYE,EAAOhH,OAAS8G,GAEhF5G,EAAUS,KAAK+N,QAAQge,WAAWsiE,EAAah2E,OAAQ/Y,GAU3D,OARAC,EAAQoI,YAAYxB,WAAaA,EAEjCkoF,EAAap/E,QAAQ3M,MAAM6D,EAAYA,GAEvCkoF,EAAap/E,QAAQkuB,WAAW92B,EAAOf,GAAIe,EAAOd,GAElDvF,KAAKypB,eAAeo0D,eAAer8E,KAAM6sF,EAAap/E,SAE/C1P,GAWXyD,EAAOkiC,SAASphC,UAAUwD,aAAe,SAAUH,GAG/C,IAAqB,IAAjB3F,KAAKkB,SAAoC,IAAflB,KAAKiB,QAA+B,IAAhBjB,KAAKoH,OAAvD,CAKA,GAAIpH,KAAKoC,eAiBL,OAfIpC,KAAKoR,OAASpR,KAAK4pF,qBAEnB5pF,KAAKoF,wBAGLpF,KAAK8sF,4BAEL9sF,KAAK4pF,mBAAoB,EACzB5pF,KAAKoR,OAAQ,GAGjBpR,KAAK4F,cAActE,WAAatB,KAAKsB,gBAErC9C,KAAKqH,OAAOvD,UAAUwD,aAAavB,KAAKvE,KAAK4F,cAAeD,GAoB5D,GAdAA,EAAc8F,YAAYI,OAC1BlG,EAAciS,iBAAiBkD,aAAa9a,KAAK6H,WAE7C7H,KAAKmC,OAELwD,EAAcmG,YAAYC,SAAS/L,KAAKmC,MAAOwD,GAG/C3F,KAAKwG,UAELb,EAAcgG,cAAcC,WAAW5L,KAAK2H,cAI5C3H,KAAK6H,YAAclC,EAAc8F,YAAY+B,iBACjD,CACI7H,EAAc8F,YAAY+B,iBAAmBxN,KAAK6H,UAClD,IAAI4V,EAAiBjf,KAAKwd,gBAAgBrW,EAAc8F,YAAY+B,kBACpE7H,EAAc8F,YAAY9N,GAAG+f,UAAUD,EAAe,GAAIA,EAAe,IAa7E,GATIzd,KAAK2pF,aAEL3pF,KAAKoR,OAAQ,EACbpR,KAAK2pF,YAAa,GAGtBnrF,KAAKof,cAAcy+D,eAAer8E,KAAM2F,GAGpC3F,KAAKyC,SAASE,OAClB,CACIgD,EAAc8F,YAAYO,QAG1B,IAAK,IAAItJ,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGoD,aAAaH,GAGlCA,EAAc8F,YAAYI,OAG1B7L,KAAKwG,UAELb,EAAcgG,cAAcO,YAG5BlM,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQjM,KAAKmH,KAAMxB,GAGjDA,EAAcoS,YAEdpS,EAAc8F,YAAYO,UAYlCxK,EAAOkiC,SAASphC,UAAUyD,cAAgB,SAAUJ,GAGhD,IAAqB,IAAjB3F,KAAKkB,SAAoC,IAAflB,KAAKiB,QAA+B,IAAhBjB,KAAKoH,OAAvD,CAYA,GANIpH,KAAK+sF,YAAc/sF,KAAKyM,OAExBzM,KAAKoR,OAAQ,EACbpR,KAAK+sF,UAAY/sF,KAAKyM,MAGtBzM,KAAKoC,eAiBL,OAfIpC,KAAKoR,OAASpR,KAAK4pF,qBAEnB5pF,KAAKoF,wBAGLpF,KAAK8sF,4BAEL9sF,KAAK4pF,mBAAoB,EACzB5pF,KAAKoR,OAAQ,GAGjBpR,KAAK4F,cAAc3E,MAAQjB,KAAKiB,WAEhCzC,KAAKqH,OAAOvD,UAAUyD,cAAcxB,KAAKvE,KAAK4F,cAAeD,GAM7D,IAAI8H,EAAU9H,EAAc8H,QACxBua,EAAYhoB,KAAKuB,eAEjBvB,KAAK6H,YAAclC,EAAc6H,mBAEjC7H,EAAc6H,iBAAmBxN,KAAK6H,UACtC4F,EAAQC,yBAA2BlP,KAAKmP,iBAAiBhI,EAAc6H,mBAGvExN,KAAKmC,OAELwD,EAAcmG,YAAYC,SAAS/L,KAAKmC,MAAOwD,GAGnD,IAAIhB,EAAagB,EAAchB,WAC3BtB,EAAM2kB,EAAU3kB,GAAKsC,EAAchB,WAAcgB,EAAcsI,OAC/D3K,EAAM0kB,EAAU1kB,GAAKqC,EAAchB,WAAcgB,EAAcuI,OAEnET,EAAQe,aAAawZ,EAAU/kB,EAAI0B,EACdqjB,EAAU9kB,EAAIyB,EACdqjB,EAAU7kB,EAAIwB,EACdqjB,EAAU5kB,EAAIuB,EACdtB,EACAC,GAErB9E,KAAKypB,eAAeo0D,eAAer8E,KAAMyN,GAGzC,IAAK,IAAI/K,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,cAAcJ,GAG/B3F,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQtG,KAY9CnE,EAAOkiC,SAASphC,UAAUsH,UAAY,SAAUyD,GAE5C,GAAIrN,KAAKkC,eAEL,OAAOlC,KAAKkC,eAIhB,IAAKlC,KAAKoB,WAEN,OAAOI,EAAOigC,eAGdzhC,KAAKoR,QAELpR,KAAK6pF,oBACL7pF,KAAK2pF,YAAa,EAClB3pF,KAAK4pF,mBAAoB,EACzB5pF,KAAKoR,OAAQ,GAGjB,IAAIvM,EAAS7E,KAAKypF,aAEd7+E,EAAK/F,EAAOf,EACZ+G,EAAKhG,EAAOjH,MAAQiH,EAAOf,EAE3BgH,EAAKjG,EAAOd,EACZgH,EAAKlG,EAAOhH,OAASgH,EAAOd,EAE5BxC,EAAiB8L,GAAUrN,KAAKuB,eAEhC0B,EAAI1B,EAAe0B,EACnBC,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAK9B,EAAe8B,GACpBC,EAAK/B,EAAe+B,GAEpB0H,EAAK/H,EAAI4H,EAAK1H,EAAI4H,EAAK1H,EACvB4H,EAAK7H,EAAI2H,EAAK7H,EAAI2H,EAAKvH,EAEvB4H,EAAKjI,EAAI2H,EAAKzH,EAAI4H,EAAK1H,EACvB8H,EAAK/H,EAAI2H,EAAK7H,EAAI0H,EAAKtH,EAEvB8H,EAAKnI,EAAI2H,EAAKzH,EAAI2H,EAAKzH,EACvBgI,EAAKjI,EAAI0H,EAAK5H,EAAI0H,EAAKtH,EAEvBgI,EAAMrI,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACxBkI,EAAMnI,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAExBmH,EAAOO,EACPN,EAAOO,EAEPX,EAAOU,EACPR,EAAOS,EA0BX,OAxBAX,EAAOY,EAAKZ,EAAOY,EAAKZ,EACxBA,EAAOc,EAAKd,EAAOc,EAAKd,EACxBA,EAAOgB,EAAKhB,EAAOgB,EAAKhB,EAExBE,EAAOW,EAAKX,EAAOW,EAAKX,EACxBA,EAAOa,EAAKb,EAAOa,EAAKb,EACxBA,EAAOe,EAAKf,EAAOe,EAAKf,EAExBC,EAAOS,EAAKT,EAAOS,EAAKT,EACxBA,EAAOW,EAAKX,EAAOW,EAAKX,EACxBA,EAAOa,EAAKb,EAAOa,EAAKb,EAExBC,EAAOS,EAAKT,EAAOS,EAAKT,EACxBA,EAAOW,EAAKX,EAAOW,EAAKX,EACxBA,EAAOa,EAAKb,EAAOa,EAAKb,EAExB1K,KAAKgC,QAAQ8B,EAAIwG,EACjBtK,KAAKgC,QAAQpE,MAAQ6M,EAAOH,EAE5BtK,KAAKgC,QAAQ+B,EAAIyG,EACjBxK,KAAKgC,QAAQnE,OAAS6M,EAAOF,EAE7BxK,KAAKkC,eAAiBlC,KAAKgC,QAEpBhC,KAAKkC,gBAUhBV,EAAOkiC,SAASphC,UAAUwC,eAAiB,WAEvC,IAAImF,EAAcjK,KAAKuB,eAEvBvB,KAAKuB,eAAiBC,EAAO0I,eAE7B,IAAK,IAAIxH,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGG,kBAGrB,IAAIgC,EAAS7E,KAAK4J,YAIlB,IAFA5J,KAAKuB,eAAiB0I,EAEjBvH,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAElC1C,KAAKyC,SAASC,GAAGG,kBAGrB,OAAOgC,GAUXrD,EAAOkiC,SAASphC,UAAU6+B,cAAgB,SAAUjL,EAAO82D,QAErC1mF,IAAd0mF,IAA2BA,EAAY,IAAIxrF,EAAOX,OAEtDb,KAAKuB,eAAekE,aAAaywB,EAAO82D,GAIxC,IAAK,IAFD1nC,EAAetlD,KAAKslD,aAEf5iD,EAAI,EAAGA,EAAI4iD,EAAa3iD,OAAQD,IACzC,CACI,IAAIsR,EAAOsxC,EAAa5iD,GAExB,GAAKsR,EAAKuxC,OAMNvxC,EAAKwxC,OAEDxxC,EAAKwxC,MAAMx7C,SAASgjF,EAAUlpF,EAAGkpF,EAAUjpF,IAE3C,OAAO,EAKnB,OAAO,GASXvC,EAAOkiC,SAASphC,UAAUunF,kBAAoB,WAE1C,IAAIv/E,EAAOC,EAAAA,EACPE,GAAQF,EAAAA,EAERC,EAAOD,EAAAA,EACPG,GAAQH,EAAAA,EAEZ,GAAIvK,KAAKslD,aAAa3iD,OAIlB,IAAK,IAFD6iD,EAAOpnB,EAAQt6B,EAAGC,EAAGkR,EAAGkP,EAEnBzhB,EAAI,EAAGA,EAAI1C,KAAKslD,aAAa3iD,OAAQD,IAC9C,CACI,IAAIsR,EAAOhU,KAAKslD,aAAa5iD,GACzB0Q,EAAOY,EAAKZ,KACZsqE,EAAY1pE,EAAK0pE,UAGrB,GAFAl4B,EAAQxxC,EAAKwxC,MAETpyC,IAAS5R,EAAOmsB,WAAava,IAAS5R,EAAOusB,iBAE7CjqB,EAAI0hD,EAAM1hD,EAAI45E,EAAY,EAC1B35E,EAAIyhD,EAAMzhD,EAAI25E,EAAY,EAC1BzoE,EAAIuwC,EAAM5nD,MAAQ8/E,EAClBv5D,EAAIqhC,EAAM3nD,OAAS6/E,EAEnBpzE,EAAOxG,EAAIwG,EAAOxG,EAAIwG,EACtBG,EAAO3G,EAAImR,EAAIxK,EAAO3G,EAAImR,EAAIxK,EAE9BD,EAAOzG,EAAIyG,EAAOzG,EAAIyG,EACtBE,EAAO3G,EAAIogB,EAAIzZ,EAAO3G,EAAIogB,EAAIzZ,OAE7B,GAAI0I,IAAS5R,EAAOksB,OAErB5pB,EAAI0hD,EAAM1hD,EACVC,EAAIyhD,EAAMzhD,EACVkR,EAAIuwC,EAAMvwB,OAASyoD,EAAY,EAC/Bv5D,EAAIqhC,EAAMvwB,OAASyoD,EAAY,EAE/BpzE,EAAOxG,EAAImR,EAAI3K,EAAOxG,EAAImR,EAAI3K,EAC9BG,EAAO3G,EAAImR,EAAIxK,EAAO3G,EAAImR,EAAIxK,EAE9BD,EAAOzG,EAAIogB,EAAI3Z,EAAOzG,EAAIogB,EAAI3Z,EAC9BE,EAAO3G,EAAIogB,EAAIzZ,EAAO3G,EAAIogB,EAAIzZ,OAE7B,GAAI0I,IAAS5R,EAAO6rB,QAErBvpB,EAAI0hD,EAAM1hD,EACVC,EAAIyhD,EAAMzhD,EACVkR,EAAIuwC,EAAM5nD,MAAQ8/E,EAAY,EAC9Bv5D,EAAIqhC,EAAM3nD,OAAS6/E,EAAY,EAE/BpzE,EAAOxG,EAAImR,EAAI3K,EAAOxG,EAAImR,EAAI3K,EAC9BG,EAAO3G,EAAImR,EAAIxK,EAAO3G,EAAImR,EAAIxK,EAE9BD,EAAOzG,EAAIogB,EAAI3Z,EAAOzG,EAAIogB,EAAI3Z,EAC9BE,EAAO3G,EAAIogB,EAAIzZ,EAAO3G,EAAIogB,EAAIzZ,MAGlC,CAEI0zB,EAASonB,EAAMpnB,OAEf,IAAK,IAAI32B,EAAI,EAAGA,EAAI22B,EAAOz7B,OAAQ8E,IAE3B22B,EAAO32B,aAAcjG,EAAOX,OAE5BiD,EAAIs6B,EAAO32B,GAAG3D,EACdC,EAAIq6B,EAAO32B,GAAG1D,IAIdD,EAAIs6B,EAAO32B,GACX1D,EAAIq6B,EAAO32B,EAAI,GAEXA,EAAI22B,EAAOz7B,OAAS,GAEpB8E,KAIR6C,EAAOxG,EAAI45E,EAAYpzE,EAAOxG,EAAI45E,EAAYpzE,EAC9CG,EAAO3G,EAAI45E,EAAYjzE,EAAO3G,EAAI45E,EAAYjzE,EAE9CD,EAAOzG,EAAI25E,EAAYlzE,EAAOzG,EAAI25E,EAAYlzE,EAC9CE,EAAO3G,EAAI25E,EAAYhzE,EAAO3G,EAAI25E,EAAYhzE,QAO1DJ,EAAO,EACPG,EAAO,EACPD,EAAO,EACPE,EAAO,EAGX,IAAI0b,EAAUpmB,KAAKwpF,cAEnBxpF,KAAKypF,aAAa3lF,EAAIwG,EAAO8b,EAC7BpmB,KAAKypF,aAAa7rF,MAAS6M,EAAOH,EAAkB,EAAV8b,EAE1CpmB,KAAKypF,aAAa1lF,EAAIyG,EAAO4b,EAC7BpmB,KAAKypF,aAAa5rF,OAAU6M,EAAOF,EAAkB,EAAV4b,GAU/C5kB,EAAOkiC,SAASphC,UAAU8C,sBAAwB,WAE9C,IAAIP,EAAS7E,KAAK8E,iBAElB,GAAK9E,KAAK4F,cAYN5F,KAAK4F,cAAciV,OAAO3U,OAAOrB,EAAOjH,MAAOiH,EAAOhH,YAX1D,CACI,IAAIgvF,EAAe,IAAIruF,KAAKmpB,aAAa9iB,EAAOjH,MAAOiH,EAAOhH,QAC1DE,EAAUS,KAAK+N,QAAQge,WAAWsiE,EAAah2E,QAEnD7W,KAAK4F,cAAgB,IAAIpH,KAAKqH,OAAO9H,GACrCiC,KAAK4F,cAAciV,OAASgyE,EAE5B7sF,KAAK4F,cAAcrE,eAAiBvB,KAAKuB,eAQ7CvB,KAAK4F,cAAcc,OAAO5C,GAAMe,EAAOf,EAAIe,EAAOjH,MAClDoC,KAAK4F,cAAcc,OAAO3C,GAAMc,EAAOd,EAAIc,EAAOhH,OAGlDmC,KAAK4F,cAAciV,OAAOpN,QAAQkuB,WAAW92B,EAAOf,GAAIe,EAAOd,GAG/D/D,KAAKsB,WAAa,EAGlB9C,KAAKypB,eAAeo0D,eAAer8E,KAAMA,KAAK4F,cAAciV,OAAOpN,SACnEzN,KAAK4F,cAAc3E,MAAQjB,KAAKiB,OAUpCO,EAAOkiC,SAASphC,UAAUwqF,0BAA4B,WAElD,IAAIG,EAAejtF,KAAK4F,cACpB7H,EAAUkvF,EAAalvF,QACvB8Y,EAASo2E,EAAapyE,OAAOhE,OAEjC9Y,EAAQoI,YAAYvI,MAAQiZ,EAAOjZ,MACnCG,EAAQoI,YAAYtI,OAASgZ,EAAOhZ,OACpCE,EAAQwP,KAAK3P,MAAQG,EAAQiP,MAAMpP,MAAQiZ,EAAOjZ,MAClDG,EAAQwP,KAAK1P,OAASE,EAAQiP,MAAMnP,OAASgZ,EAAOhZ,OAEpDovF,EAAa7gF,OAASyK,EAAOjZ,MAC7BqvF,EAAa5gF,QAAUwK,EAAOhZ,OAG9BE,EAAQoI,YAAYiL,SASxB5P,EAAOkiC,SAASphC,UAAU4qF,oBAAsB,WAE5CltF,KAAK4F,cAAc7H,QAAQyE,SAAQ,GACnCxC,KAAK4F,cAAgB,MAWzBpE,EAAOkiC,SAASphC,UAAUooF,UAAY,SAAUllC,GAExCxlD,KAAKupF,aAGDvpF,KAAKupF,YAAY/jC,MAAMpnB,OAAOz7B,QAAU,GAExC3C,KAAKslD,aAAa9kC,MAI1BxgB,KAAKupF,YAAc,KAGf/jC,aAAiBhkD,EAAOs9B,UAExB0mB,EAAQA,EAAMzxB,SACRqL,UAGV,IAAIprB,EAAO,IAAIxS,EAAO8nF,aAAatpF,KAAK09E,UAAW19E,KAAKkoF,UAAWloF,KAAKmoF,UAAWnoF,KAAKolF,UAAWplF,KAAKqlF,UAAWrlF,KAAKksF,QAAS1mC,GAajI,OAXAxlD,KAAKslD,aAAa59C,KAAKsM,GAEnBA,EAAKZ,OAAS5R,EAAOyrB,UAErBjZ,EAAKwxC,MAAMvmB,OAASj/B,KAAKksF,QACzBlsF,KAAKupF,YAAcv1E,GAGvBhU,KAAKoR,OAAQ,EACbpR,KAAK0pF,cAAe,EAEb11E,GAeXpN,OAAOuF,eAAe3K,EAAOkiC,SAASphC,UAAW,iBAE7CwE,IAAK,WAED,OAAQ9G,KAAKoC,gBAIjB2E,IAAK,SAAUC,GAEXhH,KAAKoC,eAAiB4E,EAElBhH,KAAKoC,eAELpC,KAAKoF,wBAILpF,KAAKktF,sBAGTltF,KAAKoR,OAAQ,EACbpR,KAAK2pF,YAAa,KAyB1BnoF,EAAOwD,cAAgB,SAAUlC,EAAMlF,EAAOC,EAAQ+U,EAAK9U,EAAW6G,EAAYC,EAAU3F,GAiExF,QA/DcqH,IAAV1I,IAAuBA,EAAQ,UACpB0I,IAAXzI,IAAwBA,EAAS,UACzByI,IAARsM,IAAqBA,EAAM,SACbtM,IAAdxI,IAA2BA,EAAY0D,EAAO/C,WAAW6oB,cAC1ChhB,IAAf3B,IAA4BA,EAAa,QAC5B2B,IAAb1B,IAA0BA,EAAWpG,KAAK6X,sBAC1B/P,IAAhBrH,IAA6BA,EAAc,GAK/Ce,KAAK8C,KAAOA,EAKZ9C,KAAK4S,IAAMA,EAKX5S,KAAKoT,KAAO5R,EAAOqrB,cAMnB7sB,KAAKiF,YAAc,IAAIzD,EAAOC,OAE9BzB,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAK2E,WAAaA,EAElB3E,KAAKgN,MAAQ,IAAIxL,EAAOS,UAAU,EAAG,EAAGjC,KAAKpC,MAAQoC,KAAK2E,WAAY3E,KAAKnC,OAASmC,KAAK2E,YAEzF3E,KAAKuN,KAAOvN,KAAKgN,MAAM+mB,QAQvB/zB,KAAKmG,YAAc,IAAI3H,KAAKurB,YAC5B/pB,KAAKmG,YAAYvI,MAAQoC,KAAKpC,MAAQoC,KAAK2E,WAC3C3E,KAAKmG,YAAYtI,OAASmC,KAAKnC,OAASmC,KAAK2E,WAC7C3E,KAAKmG,YAAY0N,eACjB7T,KAAKmG,YAAYxB,WAAa3E,KAAK2E,WAEnC3E,KAAKmG,YAAYrI,UAAYA,EAE7BkC,KAAKmG,YAAY2G,WAAY,EAE7BtO,KAAK+N,QAAQhI,KAAKvE,KAAMA,KAAKmG,YAAanG,KAAKgN,MAAM+mB,SAQrD/zB,KAAK4E,SAAWA,EAEZ5E,KAAK4E,SAASwO,OAAS5R,EAAO+U,MAClC,CACI,IAAI5Y,EAAKqC,KAAK4E,SAASjH,GACvBqC,KAAKmG,YAAYE,aAAepH,EAChCe,KAAKmG,YAAY+O,OAAOvX,EAAGmW,KAAM,EAEjC9T,KAAKmtF,cAAgB,IAAI3uF,KAAK2nB,cAAcxoB,EAAIqC,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAKmG,YAAYrI,UAAWmB,GACrGe,KAAKmG,YAAY0N,YAAYlW,EAAGmW,IAAM9T,KAAKmtF,cAAcpvF,QAEzDiC,KAAKmX,WAAa,IAAI3V,EAAOX,MAAmB,GAAbb,KAAKpC,MAA4B,IAAdoC,KAAKnC,aAI3DmC,KAAKmtF,cAAgB,IAAI3uF,KAAKmpB,aAAa3nB,KAAKpC,MAAQoC,KAAK2E,WAAY3E,KAAKnC,OAASmC,KAAK2E,YAC5F3E,KAAKmG,YAAY6I,OAAShP,KAAKmtF,cAAct2E,OAOjD7W,KAAKoN,OAAQ,EAEbpN,KAAKotF,WAAa,IAAI5rF,EAAOC,OAE7BzB,KAAK8qB,cAITtpB,EAAOwD,cAAc1C,UAAYsE,OAAOwB,OAAO5J,KAAK+N,QAAQjK,WAC5Dd,EAAOwD,cAAc1C,UAAUC,YAAcf,EAAOwD,cAepDxD,EAAOwD,cAAc1C,UAAU+qF,SAAW,SAAUzyE,EAAe9W,EAAGC,EAAGwW,GAErEK,EAAc/X,kBAEd7C,KAAKiF,YAAYkwB,SAASva,EAAcrZ,gBACxCvB,KAAKiF,YAAY5B,GAAKS,EACtB9D,KAAKiF,YAAY3B,GAAKS,EAElB/D,KAAK4E,SAASwO,OAAS5R,EAAO+U,MAE9BvW,KAAK8F,aAAa8U,EAAe5a,KAAKiF,YAAasV,GAInDva,KAAK+F,cAAc6U,EAAe5a,KAAKiF,YAAasV,IAkB5D/Y,EAAOwD,cAAc1C,UAAUgrF,YAAc,SAAU1yE,EAAe9W,EAAGC,EAAGwW,GAExEva,KAAKiF,YAAY82B,WAAWJ,UAAU73B,EAAGC,GAErC/D,KAAK4E,SAASwO,OAAS5R,EAAO+U,MAE9BvW,KAAK8F,aAAa8U,EAAe5a,KAAKiF,YAAasV,GAInDva,KAAK+F,cAAc6U,EAAe5a,KAAKiF,YAAasV,IAoB5D/Y,EAAOwD,cAAc1C,UAAU4C,OAAS,SAAU0V,EAAevN,EAAQkN,QAEtDjU,IAAX+G,GAAmC,OAAXA,EAExBrN,KAAKiF,YAAYkwB,SAASva,EAAcrZ,gBAIxCvB,KAAKiF,YAAYkwB,SAAS9nB,GAG1BrN,KAAK4E,SAASwO,OAAS5R,EAAO+U,MAE9BvW,KAAK8F,aAAa8U,EAAe5a,KAAKiF,YAAasV,GAInDva,KAAK+F,cAAc6U,EAAe5a,KAAKiF,YAAasV,IAa5D/Y,EAAOwD,cAAc1C,UAAU4D,OAAS,SAAUtI,EAAOC,EAAQ0vF,GAEzD3vF,IAAUoC,KAAKpC,OAASC,IAAWmC,KAAKnC,SAK5CmC,KAAKoN,MAASxP,EAAQ,GAAKC,EAAS,EAEpCmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKgN,MAAMpP,MAAQoC,KAAKuN,KAAK3P,MAAQA,EAAQoC,KAAK2E,WAClD3E,KAAKgN,MAAMnP,OAASmC,KAAKuN,KAAK1P,OAASA,EAASmC,KAAK2E,WAEjD4oF,IAEAvtF,KAAKmG,YAAYvI,MAAQoC,KAAKpC,MAAQoC,KAAK2E,WAC3C3E,KAAKmG,YAAYtI,OAASmC,KAAKnC,OAASmC,KAAK2E,YAG7C3E,KAAK4E,SAASwO,OAAS5R,EAAO+U,QAE9BvW,KAAKmX,WAAWrT,EAAI9D,KAAKpC,MAAQ,EACjCoC,KAAKmX,WAAWpT,GAAK/D,KAAKnC,OAAS,GAGlCmC,KAAKoN,OAKVpN,KAAKmtF,cAAcjnF,OAAOlG,KAAKpC,MAAOoC,KAAKnC,UAS/C2D,EAAOwD,cAAc1C,UAAUiY,MAAQ,WAE9Bva,KAAKoN,QAKNpN,KAAK4E,SAASwO,OAAS5R,EAAO+U,OAE9BvW,KAAK4E,SAASjH,GAAG+B,gBAAgBM,KAAK4E,SAASjH,GAAGgC,YAAaK,KAAKmtF,cAAc9mE,aAGtFrmB,KAAKmtF,cAAc5yE,UAcvB/Y,EAAOwD,cAAc1C,UAAUwD,aAAe,SAAU8U,EAAevN,EAAQkN,GAE3E,GAAKva,KAAKoN,OAAiC,IAAxBwN,EAAc3Z,MAAjC,CAOA,IAAIuC,EAAKoX,EAAcrZ,eACvBiC,EAAGu4B,WACHv4B,EAAGm4B,UAAU,EAAuB,EAApB37B,KAAKmX,WAAWpT,GAE5BsJ,GAEA7J,EAAGq4B,OAAOxuB,GAGd7J,EAAG1C,MAAM,GAAI,GAGb,IAAK,IAAI4B,EAAI,EAAGA,EAAIkY,EAAcnY,SAASE,OAAQD,IAE/CkY,EAAcnY,SAASC,GAAGG,kBAI9B,IAAIlF,EAAKqC,KAAK4E,SAASjH,GAEvBA,EAAGwc,SAAS,EAAG,EAAGna,KAAKpC,MAAQoC,KAAK2E,WAAY3E,KAAKnC,OAASmC,KAAK2E,YAEnEhH,EAAG+B,gBAAgB/B,EAAGgC,YAAaK,KAAKmtF,cAAc9mE,aAElD9L,GAEAva,KAAKmtF,cAAc5yE,QAGvBva,KAAK4E,SAAS6G,YAAY2F,OAAQ,EAElCpR,KAAK4E,SAAS+V,oBAAoBC,EAAe5a,KAAKmX,WAAYnX,KAAKmtF,cAAc9mE,YAAahZ,GAElGrN,KAAK4E,SAAS6G,YAAY2F,OAAQ,EAElCzT,EAAG+B,gBAAgB/B,EAAGgC,YAAa,QAavC6B,EAAOwD,cAAc1C,UAAUyD,cAAgB,SAAU6U,EAAevN,EAAQkN,GAE5E,GAAKva,KAAKoN,OAAiC,IAAxBwN,EAAc3Z,MAAjC,CAOA,IAAIuC,EAAKoX,EAAcrZ,eACvBiC,EAAGu4B,WAEC1uB,GAEA7J,EAAGq4B,OAAOxuB,GAId,IAAK,IAAI3K,EAAI,EAAGA,EAAIkY,EAAcnY,SAASE,OAAQD,IAE/CkY,EAAcnY,SAASC,GAAGG,kBAG1B0X,GAEAva,KAAKmtF,cAAc5yE,QAGvB,IAAIizE,EAAiBxtF,KAAK4E,SAASD,WAEnC3E,KAAK4E,SAASD,WAAa3E,KAAK2E,WAEhC3E,KAAK4E,SAAS+V,oBAAoBC,EAAe5a,KAAKmtF,cAAc1/E,QAASJ,GAE7ErN,KAAK4E,SAASD,WAAa6oF,IAU/BhsF,EAAOwD,cAAc1C,UAAU8tE,SAAW,WAEtC,IAAIv2D,EAAQ,IAAI83D,MAGhB,OAFA93D,EAAMpK,IAAMzP,KAAKytF,YAEV5zE,GAUXrY,EAAOwD,cAAc1C,UAAUmrF,UAAY,WAEvC,OAAOztF,KAAK87E,YAAYpC,aAU5Bl4E,EAAOwD,cAAc1C,UAAUw5E,UAAY,WAEvC,GAAI97E,KAAK4E,SAASwO,OAAS5R,EAAO+U,MAClC,CACI,IAAI5Y,EAAKqC,KAAK4E,SAASjH,GACnBC,EAAQoC,KAAKmtF,cAAcvvF,MAC3BC,EAASmC,KAAKmtF,cAActvF,OAE5B6vF,EAAc,IAAIC,WAAW,EAAI/vF,EAAQC,GAE7CF,EAAG+B,gBAAgB/B,EAAGgC,YAAaK,KAAKmtF,cAAc9mE,aACtD1oB,EAAGiwF,WAAW,EAAG,EAAGhwF,EAAOC,EAAQF,EAAGmB,KAAMnB,EAAGoB,cAAe2uF,GAC9D/vF,EAAG+B,gBAAgB/B,EAAGgC,YAAa,MAEnC,IAAIkuF,EAAa,IAAIrvF,KAAKmpB,aAAa/pB,EAAOC,GAC1CiwF,EAAaD,EAAWpgF,QAAQqb,aAAa,EAAG,EAAGlrB,EAAOC,GAK9D,OAJAiwF,EAAW95E,KAAKjN,IAAI2mF,GAEpBG,EAAWpgF,QAAQwb,aAAa6kE,EAAY,EAAG,GAExCD,EAAWh3E,OAIlB,OAAO7W,KAAKmtF,cAAct2E,QA4ClCrV,EAAOgxE,KAAO,SAAU1vE,EAAMgB,EAAGC,EAAGwuE,EAAMt3D,GAEtCnX,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAILwuE,OAFSjsE,IAATisE,GAA+B,OAATA,EAEf,GAIAA,EAAK/pD,WAOhBxoB,KAAKoT,KAAO5R,EAAOirB,KAMnBzsB,KAAK+xC,YAAcvwC,EAAO6qB,OAO1BrsB,KAAKomB,QAAU,IAAI5kB,EAAOX,MAQ1Bb,KAAK+tF,WAAa,KAKlB/tF,KAAK6W,OAASrV,EAAOsa,WAAW1T,OAAOpI,MAKvCA,KAAKyN,QAAUzN,KAAK6W,OAAOsB,WAAW,MAKtCnY,KAAKkiB,UAKLliB,KAAKguF,gBAKLhuF,KAAKiuF,cAKLjuF,KAAKkuF,eAQLluF,KAAKmuF,WAAY,EAajBnuF,KAAKouF,iBAAkB,EAQvBpuF,KAAKquF,YAAc,iBAMnBruF,KAAKsuF,oBAAsB,EAM3BtuF,KAAKuuF,qBAAuB,GAM5BvuF,KAAKwuF,KAAO1rF,EAAK8B,SAASD,WAM1B3E,KAAKyuF,MAAQlc,EAMbvyE,KAAK0uF,gBAAkB,KAMvB1uF,KAAK2uF,aAAe,EAMpB3uF,KAAK4uF,WAAa,EAMlB5uF,KAAKoM,OAAS,EAMdpM,KAAKqM,QAAU,EAEf7K,EAAOqE,OAAOtB,KAAKvE,KAAM8C,EAAMgB,EAAGC,EAAGvF,KAAK+N,QAAQge,WAAWvqB,KAAK6W,SAMlE7W,KAAKib,SAELjb,KAAK6uF,SAAS5zE,OAED,KAATs3D,GAEAvyE,KAAK8uF,cAKbttF,EAAOgxE,KAAKlwE,UAAYsE,OAAOwB,OAAO5G,EAAOqE,OAAOvD,WACpDd,EAAOgxE,KAAKlwE,UAAUC,YAAcf,EAAOgxE,KAQ3ChxE,EAAOgxE,KAAKlwE,UAAUmC,UAAY,WAE9B,SAAKzE,KAAKy0E,oBAAuBz0E,KAAK00E,qBAAwB10E,KAAK20E,qBAK5D30E,KAAK40E,iBAUhBpzE,EAAOgxE,KAAKlwE,UAAUqiC,OAAS,aAU/BnjC,EAAOgxE,KAAKlwE,UAAUE,QAAU,SAAUu3C,GAEtC/5C,KAAKjC,QAAQyE,SAAQ,GAErBhB,EAAOynE,UAAU6C,QAAQxpE,UAAUE,QAAQ+B,KAAKvE,KAAM+5C,IAmB1Dv4C,EAAOgxE,KAAKlwE,UAAUysF,UAAY,SAAUjrF,EAAGC,EAAGkS,EAAOsmE,EAAMyS,EAAcC,GAiBzE,YAfU3oF,IAANxC,IAAmBA,EAAI,QACjBwC,IAANvC,IAAmBA,EAAI,QACbuC,IAAV2P,IAAuBA,EAAQ,yBACtB3P,IAATi2E,IAAsBA,EAAO,QACZj2E,IAAjB0oF,IAA8BA,GAAe,QAC9B1oF,IAAf2oF,IAA4BA,GAAa,GAE7CjvF,KAAKib,MAAMyhE,cAAgB54E,EAC3B9D,KAAKib,MAAM0hE,cAAgB54E,EAC3B/D,KAAKib,MAAMuhE,YAAcvmE,EACzBjW,KAAKib,MAAMwhE,WAAaF,EACxBv8E,KAAKib,MAAM+zE,aAAeA,EAC1BhvF,KAAKib,MAAMg0E,WAAaA,EACxBjvF,KAAKoR,OAAQ,EAENpR,MA4BXwB,EAAOgxE,KAAKlwE,UAAUusF,SAAW,SAAU5zE,EAAO0pB,QAE/Br+B,IAAXq+B,IAAwBA,GAAS,GAErC,IAAIuqD,EAAWtoF,OAAOoqB,UAAW/V,GACjCi0E,EAAS/b,KAAOl4D,EAAMk4D,MAAQ,kBAC9B+b,EAASC,gBAAkBl0E,EAAMk0E,iBAAmB,KACpDD,EAAS3pC,KAAOtqC,EAAMsqC,MAAQ,QAC9B2pC,EAAS56C,OAASr5B,EAAMq5B,OAAS,QAAQyZ,cACzCmhC,EAASE,cAAgBn0E,EAAMm0E,cAAgB,QAAQrhC,cACvDmhC,EAASG,cAAgBp0E,EAAMo0E,cAAgB,OAAOthC,cACtDmhC,EAAStR,OAAS3iE,EAAM2iE,QAAU,QAClCsR,EAASI,gBAAkB5vD,OAAOzkB,EAAMq0E,kBAAoB,EAC5DJ,EAASK,SAAWt0E,EAAMs0E,WAAY,EACtCL,EAASM,cAAgBv0E,EAAMu0E,eAAiB,IAChDN,EAASO,SAAWx0E,EAAMw0E,UAAY,EACtCP,EAASxS,cAAgBzhE,EAAMyhE,eAAiB,EAChDwS,EAASvS,cAAgB1hE,EAAM0hE,eAAiB,EAChDuS,EAAS1S,YAAcvhE,EAAMuhE,aAAe,gBAC5C0S,EAASzS,WAAaxhE,EAAMwhE,YAAc,EAC1CyS,EAASQ,KAAOz0E,EAAMy0E,MAAQ,EAE9B,IAAIrlB,EAAarqE,KAAK2vF,iBAAiBT,EAAS/b,MAuChD,OArCI+b,EAASU,YAETvlB,EAAWulB,UAAYV,EAASU,WAGhCV,EAASW,cAETxlB,EAAWwlB,YAAcX,EAASW,aAGlCX,EAASY,aAETzlB,EAAWylB,WAAaZ,EAASY,YAGjCZ,EAASa,WAEwB,iBAAtBb,EAASa,WAEhBb,EAASa,SAAWb,EAASa,SAAW,MAG5C1lB,EAAW0lB,SAAWb,EAASa,UAGnC/vF,KAAK0uF,gBAAkBrkB,EAEvB6kB,EAAS/b,KAAOnzE,KAAKgwF,iBAAiBhwF,KAAK0uF,iBAE3C1uF,KAAKib,MAAQi0E,EACblvF,KAAKoR,OAAQ,EAETuzB,GAEA3kC,KAAK8uF,aAGF9uF,MAUXwB,EAAOgxE,KAAKlwE,UAAUwsF,WAAa,WAE/B9uF,KAAKjC,QAAQoI,YAAYxB,WAAa3E,KAAKwuF,KAE3CxuF,KAAKyN,QAAQ0lE,KAAOnzE,KAAKib,MAAMk4D,KAE/B,IAAI8c,EAAajwF,KAAKuyE,KAElBvyE,KAAKsuF,oBAAsB,GAAKtuF,KAAKsuF,mBAAqB2B,EAAWttF,SACrEstF,EAAajwF,KAAKuyE,KAAK2d,UAAU,EAAGlwF,KAAKsuF,oBAAsBtuF,KAAKuuF,sBAGpEvuF,KAAKib,MAAMs0E,WAEXU,EAAajwF,KAAKmwF,YAAYnwF,KAAKuyE,OAIvC,IAAI6d,EAAQH,EAAWv+D,MAAM1xB,KAAKquF,aAG9BqB,EAAO1vF,KAAKib,MAAMy0E,KAClBW,KACAC,EAAe,EACfC,EAAiBvwF,KAAKwwF,wBAAwBxwF,KAAKib,MAAMk4D,MAEzDsd,EAAaL,EAAMztF,OAEnB3C,KAAKib,MAAMw0E,SAAW,GAAKzvF,KAAKib,MAAMw0E,SAAWW,EAAMztF,SAEvD8tF,EAAazwF,KAAKib,MAAMw0E,UAG5BzvF,KAAK4uF,WAAa,EAElB,IAAK,IAAIlsF,EAAI,EAAGA,EAAI+tF,EAAY/tF,IAChC,CACI,GAAa,IAATgtF,EACJ,CAEQhS,EAAa19E,KAAKib,MAAMq0E,gBAAkBtvF,KAAKomB,QAAQtiB,EAEvD9D,KAAKkiB,OAAOvf,OAAS,GAAK3C,KAAKguF,aAAarrF,OAAS,GAAK3C,KAAKkuF,YAAYvrF,OAAS,GAAK3C,KAAKiuF,WAAWtrF,OAAS,EAElH+6E,GAAa19E,KAAK0wF,YAAYN,EAAM1tF,IAIpCg7E,GAAa19E,KAAKyN,QAAQkjF,YAAYP,EAAM1tF,IAAI9E,MAIhDoC,KAAKib,MAAMs0E,WAEX7R,GAAa19E,KAAKyN,QAAQkjF,YAAY,KAAK/yF,WAInD,CAEI,IAAI46B,EAAO43D,EAAM1tF,GAAGgvB,MAAM,UACtBgsD,EAAY19E,KAAKomB,QAAQtiB,EAAI9D,KAAKib,MAAMq0E,gBAE5C,GAAIjoF,MAAMC,QAAQooF,GAId,IAAK,IAFDkB,EAAM,EAEDztF,EAAI,EAAGA,EAAIq1B,EAAK71B,OAAQQ,IACjC,CACI,IAAI0tF,EAAU,EAIVA,EAFA7wF,KAAKkiB,OAAOvf,OAAS,GAAK3C,KAAKguF,aAAarrF,OAAS,GAAK3C,KAAKkuF,YAAYvrF,OAAS,GAAK3C,KAAKiuF,WAAWtrF,OAAS,EAExG3C,KAAK0wF,YAAYl4D,EAAKr1B,IAItBM,KAAKwC,KAAKjG,KAAKyN,QAAQkjF,YAAYn4D,EAAKr1B,IAAIvF,OAGtDuF,EAAI,IAEJytF,GAAOlB,EAAKvsF,EAAI,IAGpBu6E,EAAYkT,EAAMC,OAKtB,IAAS1tF,EAAI,EAAGA,EAAIq1B,EAAK71B,OAAQQ,IAGzBnD,KAAKkiB,OAAOvf,OAAS,GAAK3C,KAAKguF,aAAarrF,OAAS,GAAK3C,KAAKkuF,YAAYvrF,OAAS,GAAK3C,KAAKiuF,WAAWtrF,OAAS,EAElH+6E,GAAa19E,KAAK0wF,YAAYl4D,EAAKr1B,IAInCu6E,GAAaj6E,KAAKwC,KAAKjG,KAAKyN,QAAQkjF,YAAYn4D,EAAKr1B,IAAIvF,OAK7D8/E,GAFW19E,KAAK8C,KAAKuiC,KAAKyrD,WAAWpT,EAAWgS,GAAQhS,EAOpE2S,EAAW3tF,GAAKe,KAAKwC,KAAKy3E,GAC1B4S,EAAe7sF,KAAKuC,IAAIsqF,EAAcD,EAAW3tF,IAGrD1C,KAAK6W,OAAOjZ,MAAQ0yF,EAAetwF,KAAKwuF,KAGxC,IAAIuC,EAAaR,EAAeR,SAAW/vF,KAAKib,MAAMq0E,gBAAkBtvF,KAAKomB,QAAQriB,EACjFlG,EAASkzF,EAAaN,EACtBO,EAAchxF,KAAK2uF,aAEnBqC,EAAc,GAAKvtF,KAAKgzB,IAAIu6D,GAAeD,IAE3CC,GAAeD,GAIC,IAAhBC,IAEAnzF,GAAWmzF,EAAc,EAAKA,EAAcZ,EAAMztF,OAASquF,GAAeZ,EAAMztF,OAAS,IAG7F3C,KAAK6W,OAAOhZ,OAASA,EAASmC,KAAKwuF,KAEnCxuF,KAAKyN,QAAQ3M,MAAMd,KAAKwuF,KAAMxuF,KAAKwuF,MAE/BjlE,UAAUC,YAEVxpB,KAAKyN,QAAQma,UAAU,EAAG,EAAG5nB,KAAK6W,OAAOjZ,MAAOoC,KAAK6W,OAAOhZ,QAG5DmC,KAAKib,MAAMk0E,kBAEXnvF,KAAKyN,QAAQ8a,UAAYvoB,KAAKib,MAAMk0E,gBACpCnvF,KAAKyN,QAAQib,SAAS,EAAG,EAAG1oB,KAAK6W,OAAOjZ,MAAOoC,KAAK6W,OAAOhZ,SAG/DmC,KAAKyN,QAAQ8a,UAAYvoB,KAAKib,MAAMsqC,KACpCvlD,KAAKyN,QAAQ0lE,KAAOnzE,KAAKib,MAAMk4D,KAC/BnzE,KAAKyN,QAAQkwE,YAAc39E,KAAKib,MAAM2iE,OACtC59E,KAAKyN,QAAQwjF,aAAe,aAE5BjxF,KAAKyN,QAAQiwE,UAAY19E,KAAKib,MAAMq0E,gBACpCtvF,KAAKyN,QAAQyjF,QAAU,QACvBlxF,KAAKyN,QAAQ0jF,SAAW,QAExB,IAAIC,EACAC,EAKJ,IAHArxF,KAAK4uF,WAAa,EAGblsF,EAAI,EAAGA,EAAI+tF,EAAY/tF,IAIxB0uF,EAAgBpxF,KAAKib,MAAMq0E,gBAAkB,EAC7C+B,EAAiBrxF,KAAKib,MAAMq0E,gBAAkB,EAAI5sF,EAAIquF,EAAcR,EAAee,OAE/E5uF,EAAI,IAEJ2uF,GAAkBL,EAActuF,GAGX,UAArB1C,KAAKib,MAAMq5B,MAEX88C,GAAiBd,EAAeD,EAAW3tF,GAEjB,WAArB1C,KAAKib,MAAMq5B,QAEhB88C,IAAkBd,EAAeD,EAAW3tF,IAAM,GAGlD1C,KAAKmuF,YAELiD,EAAgB3tF,KAAK8xB,MAAM67D,GAC3BC,EAAgB5tF,KAAK8xB,MAAM87D,IAG3BrxF,KAAKkiB,OAAOvf,OAAS,GAAK3C,KAAKguF,aAAarrF,OAAS,GAAK3C,KAAKkuF,YAAYvrF,OAAS,GAAK3C,KAAKiuF,WAAWtrF,OAAS,EAElH3C,KAAKuxF,WAAWnB,EAAM1tF,GAAI0uF,EAAeC,IAIrCrxF,KAAKib,MAAM2iE,QAAU59E,KAAKib,MAAMq0E,kBAEhCtvF,KAAKwxF,aAAaxxF,KAAKib,MAAM+zE,cAEhB,IAATU,EAEA1vF,KAAKyN,QAAQgkF,WAAWrB,EAAM1tF,GAAI0uF,EAAeC,GAIjDrxF,KAAK0xF,cAActB,EAAM1tF,GAAI0uF,EAAeC,GAAe,IAI/DrxF,KAAKib,MAAMsqC,OAEXvlD,KAAKwxF,aAAaxxF,KAAKib,MAAMg0E,YAEhB,IAATS,EAEA1vF,KAAKyN,QAAQ2vE,SAASgT,EAAM1tF,GAAI0uF,EAAeC,GAI/CrxF,KAAK0xF,cAActB,EAAM1tF,GAAI0uF,EAAeC,GAAe,KAM3ErxF,KAAKoV,gBAELpV,KAAKoR,OAAQ,GAejB5P,EAAOgxE,KAAKlwE,UAAUovF,cAAgB,SAAUl5D,EAAM10B,EAAGC,EAAGwhD,GAExD,IAAIgtB,EAAO/5C,EAAK9G,MAAM,UAClBg+D,EAAO1vF,KAAKib,MAAMy0E,KAClBiC,EAAO,EAEX,GAAItqF,MAAMC,QAAQooF,GAId,IAAK,IAFDkB,EAAM,EAEDztF,EAAI,EAAGA,EAAIovE,EAAK5vE,OAAQQ,IAEzBA,EAAI,IAEJytF,GAAOlB,EAAKvsF,EAAI,IAGpBwuF,EAAO7tF,EAAI8sF,EAEPrrC,EAEAvlD,KAAKyN,QAAQ2vE,SAAS7K,EAAKpvE,GAAIwuF,EAAM5tF,GAIrC/D,KAAKyN,QAAQgkF,WAAWlf,EAAKpvE,GAAIwuF,EAAM5tF,QAM/C,IAASZ,EAAI,EAAGA,EAAIovE,EAAK5vE,OAAQQ,IACjC,CACI,IAAI0tF,EAAUptF,KAAKwC,KAAKjG,KAAKyN,QAAQkjF,YAAYpe,EAAKpvE,IAAIvF,OAG1D+zF,EAAO3xF,KAAK8C,KAAKuiC,KAAKyrD,WAAWhtF,EAAG4rF,GAEhCnqC,EAEAvlD,KAAKyN,QAAQ2vE,SAAS7K,EAAKpvE,GAAIwuF,EAAM5tF,GAIrC/D,KAAKyN,QAAQgkF,WAAWlf,EAAKpvE,GAAIwuF,EAAM5tF,GAG3CD,EAAI6tF,EAAOd,IAavBrvF,EAAOgxE,KAAKlwE,UAAUkvF,aAAe,SAAUrrD,GAEvCA,GAEAnmC,KAAKyN,QAAQivE,cAAgB18E,KAAKib,MAAMyhE,cACxC18E,KAAKyN,QAAQkvE,cAAgB38E,KAAKib,MAAM0hE,cACxC38E,KAAKyN,QAAQ+uE,YAAcx8E,KAAKib,MAAMuhE,YACtCx8E,KAAKyN,QAAQgvE,WAAaz8E,KAAKib,MAAMwhE,aAIrCz8E,KAAKyN,QAAQivE,cAAgB,EAC7B18E,KAAKyN,QAAQkvE,cAAgB,EAC7B38E,KAAKyN,QAAQ+uE,YAAc,EAC3Bx8E,KAAKyN,QAAQgvE,WAAa,IAalCj7E,EAAOgxE,KAAKlwE,UAAUouF,YAAc,SAAUl4D,GAI1C,IAAK,IAFDo5D,EAAa,EAERlvF,EAAI,EAAGA,EAAI81B,EAAK71B,OAAQD,IACjC,CACI,IAAImvF,EAASr5D,EAAK91B,GAElB,GAAI1C,KAAKkuF,YAAYvrF,OAAS,GAAK3C,KAAKiuF,WAAWtrF,OAAS,EAC5D,CACI,IAAI0nE,EAAarqE,KAAK2vF,iBAAiB3vF,KAAKyN,QAAQ0lE,MAEhDnzE,KAAKiuF,WAAWjuF,KAAK4uF,cAErBvkB,EAAWulB,UAAY5vF,KAAKiuF,WAAWjuF,KAAK4uF,aAG5C5uF,KAAKkuF,YAAYluF,KAAK4uF,cAEtBvkB,EAAWylB,WAAa9vF,KAAKkuF,YAAYluF,KAAK4uF,aAGlD5uF,KAAKyN,QAAQ0lE,KAAOnzE,KAAKgwF,iBAAiB3lB,GAG1CrqE,KAAKib,MAAM2iE,QAAU59E,KAAKib,MAAMq0E,kBAE5BtvF,KAAKguF,aAAahuF,KAAK4uF,cAEvB5uF,KAAKyN,QAAQkwE,YAAc39E,KAAKguF,aAAahuF,KAAK4uF,aAGtD5uF,KAAKwxF,aAAaxxF,KAAKib,MAAM+zE,eAG7BhvF,KAAKib,MAAMsqC,OAEPvlD,KAAKkiB,OAAOliB,KAAK4uF,cAEjB5uF,KAAKyN,QAAQ8a,UAAYvoB,KAAKkiB,OAAOliB,KAAK4uF,aAG9C5uF,KAAKwxF,aAAaxxF,KAAKib,MAAMg0E,aAGjC2C,GAAc5xF,KAAKyN,QAAQkjF,YAAYkB,GAAQj0F,MAE/CoC,KAAK4uF,aAGT,OAAOnrF,KAAKwC,KAAK2rF,IASrBpwF,EAAOgxE,KAAKlwE,UAAUivF,WAAa,SAAU/4D,EAAM10B,EAAGC,GAElD,IAAK,IAAIrB,EAAI,EAAGA,EAAI81B,EAAK71B,OAAQD,IACjC,CACI,IAAImvF,EAASr5D,EAAK91B,GAElB,GAAI1C,KAAKkuF,YAAYvrF,OAAS,GAAK3C,KAAKiuF,WAAWtrF,OAAS,EAC5D,CACI,IAAI0nE,EAAarqE,KAAK2vF,iBAAiB3vF,KAAKyN,QAAQ0lE,MAEhDnzE,KAAKiuF,WAAWjuF,KAAK4uF,cAErBvkB,EAAWulB,UAAY5vF,KAAKiuF,WAAWjuF,KAAK4uF,aAG5C5uF,KAAKkuF,YAAYluF,KAAK4uF,cAEtBvkB,EAAWylB,WAAa9vF,KAAKkuF,YAAYluF,KAAK4uF,aAGlD5uF,KAAKyN,QAAQ0lE,KAAOnzE,KAAKgwF,iBAAiB3lB,GAG1CrqE,KAAKib,MAAM2iE,QAAU59E,KAAKib,MAAMq0E,kBAE5BtvF,KAAKguF,aAAahuF,KAAK4uF,cAEvB5uF,KAAKyN,QAAQkwE,YAAc39E,KAAKguF,aAAahuF,KAAK4uF,aAGtD5uF,KAAKwxF,aAAaxxF,KAAKib,MAAM+zE,cAC7BhvF,KAAKyN,QAAQgkF,WAAWI,EAAQ/tF,EAAGC,IAGnC/D,KAAKib,MAAMsqC,OAEPvlD,KAAKkiB,OAAOliB,KAAK4uF,cAEjB5uF,KAAKyN,QAAQ8a,UAAYvoB,KAAKkiB,OAAOliB,KAAK4uF,aAG9C5uF,KAAKwxF,aAAaxxF,KAAKib,MAAMg0E,YAC7BjvF,KAAKyN,QAAQ2vE,SAASyU,EAAQ/tF,EAAGC,IAGrCD,GAAK9D,KAAKyN,QAAQkjF,YAAYkB,GAAQj0F,MAEtCoC,KAAK4uF,eAWbptF,EAAOgxE,KAAKlwE,UAAUwvF,YAAc,WAMhC,OAJA9xF,KAAKkiB,UACLliB,KAAKguF,gBACLhuF,KAAKoR,OAAQ,EAENpR,MAUXwB,EAAOgxE,KAAKlwE,UAAUyvF,gBAAkB,WAMpC,OAJA/xF,KAAKiuF,cACLjuF,KAAKkuF,eACLluF,KAAKoR,OAAQ,EAENpR,MAmBXwB,EAAOgxE,KAAKlwE,UAAU0vF,SAAW,SAAU/7E,EAAOrV,GAK9C,OAHAZ,KAAKkiB,OAAOthB,GAAYqV,EACxBjW,KAAKoR,OAAQ,EAENpR,MAqBXwB,EAAOgxE,KAAKlwE,UAAU2vF,eAAiB,SAAUh8E,EAAOrV,GAKpD,OAHAZ,KAAKguF,aAAaptF,GAAYqV,EAC9BjW,KAAKoR,OAAQ,EAENpR,MAmBXwB,EAAOgxE,KAAKlwE,UAAU4vF,aAAe,SAAUj3E,EAAOra,GAKlD,OAHAZ,KAAKiuF,WAAWrtF,GAAYqa,EAC5Bjb,KAAKoR,OAAQ,EAENpR,MAmBXwB,EAAOgxE,KAAKlwE,UAAU6vF,cAAgB,SAAUC,EAAQxxF,GAKpD,OAHAZ,KAAKkuF,YAAYttF,GAAYwxF,EAC7BpyF,KAAKoR,OAAQ,EAENpR,MAeXwB,EAAOgxE,KAAKlwE,UAAU+vF,qBAAuB,SAAU9f,GAOnD,OALAvyE,KAAKjC,QAAQoI,YAAYxB,WAAa3E,KAAKwuF,KAC3CxuF,KAAKyN,QAAQ0lE,KAAOnzE,KAAKib,MAAMk4D,KAEZnzE,KAAKmwF,YAAY5d,GAEhB7gD,MAAM,mBAW9BlwB,EAAOgxE,KAAKlwE,UAAU6tF,YAAc,SAAU5d,GAE1C,OAAIvyE,KAAKouF,gBAEEpuF,KAAKsyF,iBAAiB/f,GAItBvyE,KAAKuyF,cAAchgB,IAelC/wE,EAAOgxE,KAAKlwE,UAAUgwF,iBAAmB,SAAU/f,GAe/C,IAAK,IAbD9kE,EAAUzN,KAAKyN,QACf+hF,EAAgBxvF,KAAKib,MAAMu0E,cAE3Bh6D,EAAS,GAIT46D,EAAQ7d,EACPp+C,QAAQ,OAAQ,KAChBzC,MAAM,WAEP8gE,EAAapC,EAAMztF,OAEdD,EAAI,EAAGA,EAAI8vF,EAAY9vF,IAChC,CACI,IAAI81B,EAAO43D,EAAM1tF,GACbqyB,EAAM,GASV,GANAyD,EAAOA,EAAKrE,QAAQ,aAAc,IAIlB1mB,EAAQkjF,YAAYn4D,GAAM56B,MAE1B4xF,EAEZh6D,GAAUgD,EAAO,SAFrB,CAYA,IAAK,IALDi6D,EAAmBjD,EAGnBkD,EAAQl6D,EAAK9G,MAAM,KAEdjqB,EAAI,EAAGA,EAAIirF,EAAM/vF,OAAQ8E,IAClC,CACI,IAAIkrF,EAAOD,EAAMjrF,GACbmrF,EAAgBD,EAAO,IACvBE,EAAYplF,EAAQkjF,YAAYiC,GAAeh1F,MAEnD,GAAIi1F,EAAYJ,EAChB,CAEI,GAAU,IAANhrF,EACJ,CAII,IAFA,IAAIqrF,EAAUF,EAEPE,EAAQnwF,SAEXmwF,EAAUA,EAAQ/iE,MAAM,GAAI,MAC5B8iE,EAAYplF,EAAQkjF,YAAYmC,GAASl1F,QAExB60F,MAQrB,IAAKK,EAAQnwF,OAET,MAAM,IAAIgG,MAAM,sEAIpB,IAAIoqF,EAAaJ,EAAKlqE,OAAOqqE,EAAQnwF,QAErC+vF,EAAMjrF,GAAKsrF,EAGXh+D,GAAO+9D,EAIX,IAAI17E,EAAUs7E,EAAMjrF,GAAS,OAAIA,EAAIA,EAAI,EAGrC+kF,EAAYkG,EAAM3iE,MAAM3Y,GAAQ1H,KAAK,KAExCykB,QAAQ,YAAa,IAGtBi8D,EAAM1tF,EAAI,GAAK8pF,EAAY,KAAO4D,EAAM1tF,EAAI,IAAM,IAClD8vF,EAAapC,EAAMztF,OAEnB,MAMAoyB,GAAO69D,EACPH,GAAoBI,EAK5Br9D,GAAUT,EAAIZ,QAAQ,YAAa,IAAM,MAM7C,OAFAqB,EAASA,EAAOrB,QAAQ,cAAe,KAa3C3yB,EAAOgxE,KAAKlwE,UAAUiwF,cAAgB,SAAUhgB,GAK5C,IAAK,IAHD75C,EAAS,GACT03D,EAAQ7d,EAAK7gD,MAAM,MAEdhvB,EAAI,EAAGA,EAAI0tF,EAAMztF,OAAQD,IAClC,CAII,IAAK,IAHDswF,EAAYhzF,KAAKib,MAAMu0E,cACvBkD,EAAQtC,EAAM1tF,GAAGgvB,MAAM,KAElBjqB,EAAI,EAAGA,EAAIirF,EAAM/vF,OAAQ8E,IAClC,CACI,IAAIorF,EAAY7yF,KAAKyN,QAAQkjF,YAAY+B,EAAMjrF,IAAI7J,MAC/Cq1F,EAAqBJ,EAAY7yF,KAAKyN,QAAQkjF,YAAY,KAAK/yF,MAE/Dq1F,EAAqBD,GAGjBvrF,EAAI,IAEJixB,GAAU,MAEdA,GAAUg6D,EAAMjrF,GAAK,IACrBurF,EAAYhzF,KAAKib,MAAMu0E,cAAgBqD,IAIvCG,GAAaC,EACbv6D,GAAUg6D,EAAMjrF,GAAK,KAIzB/E,EAAI0tF,EAAMztF,OAAO,IAEjB+1B,GAAU,MAIlB,OAAOA,GAWXl3B,EAAOgxE,KAAKlwE,UAAU4wF,WAAa,SAAU7oB,GAEzC,IAAI8I,EAAOnzE,KAAKgwF,iBAAiB3lB,GAE7BrqE,KAAKib,MAAMk4D,OAASA,IAEpBnzE,KAAKib,MAAMk4D,KAAOA,EAClBnzE,KAAKoR,OAAQ,EAETpR,KAAKqB,QAELrB,KAAK6C,oBAajBrB,EAAOgxE,KAAKlwE,UAAUqtF,iBAAmB,SAAUxc,GAU/C,IAAIj8C,EAAIi8C,EAAKnK,MAAM,wSAEnB,GAAI9xC,EACJ,CACI,IAAIi8D,EAASj8D,EAAE,GAAGnpB,OAQlB,MALK,2DAA2DqlF,KAAKD,IAAY,QAAQC,KAAKD,KAE1FA,EAAS,IAAMA,EAAS,MAIxBhgB,KAAMA,EACNyc,UAAW14D,EAAE,IAAM,SACnB24D,YAAa34D,EAAE,IAAM,SACrB44D,WAAY54D,EAAE,IAAM,SACpB64D,SAAU74D,EAAE,IAAM,SAClBm8D,WAAYF,GAOhB,OAFA7yF,QAAQ0Z,KAAK,sCAAwCm5D,IAGjDA,KAAMA,IAalB3xE,EAAOgxE,KAAKlwE,UAAU0tF,iBAAmB,SAAU3lB,GAE/C,IACIzsB,EADA9rB,KAwBJ,OArBA8rB,EAAIysB,EAAWulB,YACA,WAANhyC,GAAkB9rB,EAAMpqB,KAAKk2C,IAEtCA,EAAIysB,EAAWwlB,cACA,WAANjyC,GAAkB9rB,EAAMpqB,KAAKk2C,IAEtCA,EAAIysB,EAAWylB,aACA,WAANlyC,GAAkB9rB,EAAMpqB,KAAKk2C,IAEtCA,EAAIysB,EAAW0lB,WACA,WAANnyC,GAAkB9rB,EAAMpqB,KAAKk2C,IAEtCA,EAAIysB,EAAWgpB,aACNvhE,EAAMpqB,KAAKk2C,GAEf9rB,EAAMnvB,QAGPmvB,EAAMpqB,KAAK2iE,EAAW8I,MAGnBrhD,EAAMpiB,KAAK,MAmBtBlO,EAAOgxE,KAAKlwE,UAAUgxF,QAAU,SAAU/gB,EAAM2I,GAe5C,YAbkB50E,IAAd40E,IAA2BA,GAAY,GAE3Cl7E,KAAKuyE,KAAOA,EAAK/pD,YAAc,GAE3B0yD,EAEAl7E,KAAK8uF,aAIL9uF,KAAKoR,OAAQ,EAGVpR,MAyBXwB,EAAOgxE,KAAKlwE,UAAUixF,UAAY,SAAUl6C,GAExC,IAAKhyC,MAAMC,QAAQ+xC,GAEf,OAAOr5C,KAMP,IAAK,IAFDoE,EAAI,GAEC1B,EAAI,EAAGA,EAAI22C,EAAK12C,OAAQD,IAEzB2E,MAAMC,QAAQ+xC,EAAK32C,KAEnB0B,GAAKi1C,EAAK32C,GAAGgN,KAAK,MAEdhN,EAAI22C,EAAK12C,OAAS,IAElByB,GAAK,QAKTA,GAAKi1C,EAAK32C,GAENA,EAAI22C,EAAK12C,OAAS,IAElByB,GAAK,OASrB,OAHApE,KAAKuyE,KAAOnuE,EACZpE,KAAKoR,OAAQ,EAENpR,MAmCXwB,EAAOgxE,KAAKlwE,UAAUkxF,cAAgB,SAAU1vF,EAAGC,EAAGnG,EAAOC,GAyBzD,YAvBUyI,IAANxC,EAEA9D,KAAK+tF,WAAa,MAIb/tF,KAAK+tF,WAMN/tF,KAAK+tF,WAAW74D,MAAMpxB,EAAGC,EAAGnG,EAAOC,GAJnCmC,KAAK+tF,WAAa,IAAIvsF,EAAOS,UAAU6B,EAAGC,EAAGnG,EAAOC,GAOpDmC,KAAKib,MAAMu0E,cAAgB5xF,IAE3BoC,KAAKib,MAAMu0E,cAAgB5xF,IAInCoC,KAAKoV,gBAEEpV,MAUXwB,EAAOgxE,KAAKlwE,UAAU8S,cAAgB,WAElC,IAAI2E,EAAO/Z,KAAKjC,QAAQoI,YACpBoH,EAAOvN,KAAKjC,QAAQwP,KACpBP,EAAQhN,KAAKjC,QAAQiP,MAErBiI,EAAIjV,KAAK6W,OAAOjZ,MAChBumB,EAAInkB,KAAK6W,OAAOhZ,OAiBpB,GAfAkc,EAAKnc,MAAQqX,EACb8E,EAAKlc,OAASsmB,EAEd5W,EAAK3P,MAAQqX,EACb1H,EAAK1P,OAASsmB,EAEdnX,EAAMpP,MAAQqX,EACdjI,EAAMnP,OAASsmB,EAEfnkB,KAAKjC,QAAQH,MAAQqX,EACrBjV,KAAKjC,QAAQF,OAASsmB,EAEtBnkB,KAAKoM,OAAS6I,EACdjV,KAAKqM,QAAU8X,EAEXnkB,KAAK+tF,WACT,CACI,IAAIjqF,EAAI9D,KAAK+tF,WAAWjqF,EACpBC,EAAI/D,KAAK+tF,WAAWhqF,EAGQ,UAA5B/D,KAAKib,MAAMm0E,aAEXtrF,GAAK9D,KAAK+tF,WAAWnwF,MAAQoC,KAAK6W,OAAOjZ,MAAQoC,KAAK2E,WAErB,WAA5B3E,KAAKib,MAAMm0E,eAEhBtrF,GAAK9D,KAAK+tF,WAAWr3D,UAAa12B,KAAK6W,OAAOjZ,MAAQoC,KAAK2E,WAAa,GAG5C,WAA5B3E,KAAKib,MAAMo0E,aAEXtrF,GAAK/D,KAAK+tF,WAAWlwF,OAASmC,KAAK6W,OAAOhZ,OAASmC,KAAK2E,WAEvB,WAA5B3E,KAAKib,MAAMo0E,eAEhBtrF,GAAK/D,KAAK+tF,WAAWp3D,WAAc32B,KAAK6W,OAAOhZ,OAASmC,KAAK2E,WAAa,GAG9E3E,KAAKe,MAAM+C,GAAKA,EAChB9D,KAAKe,MAAMgD,GAAKA,EAIpB/D,KAAKoB,WAAoB,IAAN6T,GAAiB,IAANkP,EAE9BnkB,KAAKjC,QAAQ0Q,gBAAiB,EAE9BzO,KAAKjC,QAAQoI,YAAYiL,SAW7B5P,EAAOgxE,KAAKlwE,UAAUwD,aAAe,SAAUH,GAEvC3F,KAAKoR,QAELpR,KAAK8uF,aACL9uF,KAAKoR,OAAQ,GAGjB5S,KAAKqH,OAAOvD,UAAUwD,aAAavB,KAAKvE,KAAM2F,IAWlDnE,EAAOgxE,KAAKlwE,UAAUyD,cAAgB,SAAUJ,GAExC3F,KAAKoR,QAELpR,KAAK8uF,aACL9uF,KAAKoR,OAAQ,GAGjB5S,KAAKqH,OAAOvD,UAAUyD,cAAcxB,KAAKvE,KAAM2F,IAWnDnE,EAAOgxE,KAAKlwE,UAAUkuF,wBAA0B,SAAUZ,GAEtD,IAAI6D,EAAajyF,EAAOgxE,KAAKkhB,oBAAoB9D,GAEjD,IAAK6D,EACL,CACIA,KAEA,IAAI58E,EAASrV,EAAOgxE,KAAKmhB,qBACrBlmF,EAAUjM,EAAOgxE,KAAKohB,sBAE1BnmF,EAAQ0lE,KAAOyc,EAEf,IAAIhyF,EAAQ6F,KAAKwC,KAAKwH,EAAQkjF,YAAY,QAAQ/yF,OAC9Ci2F,EAAWpwF,KAAKwC,KAAKwH,EAAQkjF,YAAY,QAAQ/yF,OACjDC,EAAS,EAAIg2F,EAgBjB,GAdAA,EAAsB,IAAXA,EAAiB,EAE5Bh9E,EAAOjZ,MAAQA,EACfiZ,EAAOhZ,OAASA,EAEhB4P,EAAQ8a,UAAY,OACpB9a,EAAQib,SAAS,EAAG,EAAG9qB,EAAOC,GAE9B4P,EAAQ0lE,KAAOyc,EAEfniF,EAAQwjF,aAAe,aACvBxjF,EAAQ8a,UAAY,OACpB9a,EAAQ2vE,SAAS,OAAQ,EAAGyW,IAEvBpmF,EAAQqb,aAAa,EAAG,EAAGlrB,EAAOC,GAQnC,OANA41F,EAAWnC,OAASuC,EACpBJ,EAAWK,QAAUD,EAAW,EAChCJ,EAAW1D,SAAW0D,EAAWnC,OAASmC,EAAWK,QAErDtyF,EAAOgxE,KAAKkhB,oBAAoB9D,GAAa6D,EAEtCA,EAGX,IAII/wF,EAAG+E,EAJHssF,EAAYtmF,EAAQqb,aAAa,EAAG,EAAGlrB,EAAOC,GAAQmW,KACtD+U,EAASgrE,EAAUpxF,OACnB61B,EAAe,EAAR56B,EAIPo2F,EAAM,EACNnoF,GAAO,EAGX,IAAKnJ,EAAI,EAAGA,EAAImxF,EAAUnxF,IAC1B,CACI,IAAK+E,EAAI,EAAGA,EAAI+wB,EAAM/wB,GAAK,EAEvB,GAA2B,MAAvBssF,EAAUC,EAAMvsF,GACpB,CACIoE,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAmoF,GAAOx7D,EAcf,IANAi7D,EAAWnC,OAASuC,EAAWnxF,EAE/BsxF,EAAMjrE,EAASyP,EACf3sB,GAAO,EAGFnJ,EAAI7E,EAAQ6E,EAAImxF,EAAUnxF,IAC/B,CACI,IAAK+E,EAAI,EAAGA,EAAI+wB,EAAM/wB,GAAK,EAEvB,GAA2B,MAAvBssF,EAAUC,EAAMvsF,GACpB,CACIoE,GAAO,EACP,MAIR,GAAKA,EAMD,MAJAmoF,GAAOx7D,EAQfi7D,EAAWK,QAAUpxF,EAAImxF,EAEzBJ,EAAWK,SAAW,EACtBL,EAAW1D,SAAW0D,EAAWnC,OAASmC,EAAWK,QAErDtyF,EAAOgxE,KAAKkhB,oBAAoB9D,GAAa6D,EAGjD,OAAOA,GAYXjyF,EAAOgxE,KAAKlwE,UAAUsH,UAAY,SAAUyD,GAQxC,OANIrN,KAAKoR,QAELpR,KAAK8uF,aACL9uF,KAAKoR,OAAQ,GAGV5S,KAAKqH,OAAOvD,UAAUsH,UAAUrF,KAAKvE,KAAMqN,IAYtD7L,EAAOgxE,KAAKlwE,UAAU2xF,kBAAoB,SAAUC,EAAgBC,GAEhEn0F,KAAKuuF,0BAAmCjoF,IAAX6tF,EAAwB,GAAKA,EAC1Dn0F,KAAKsuF,mBAAqB4F,EAE1Bl0F,KAAK8uF,cAWTloF,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,QAEzCwE,IAAK,WACD,OAAO9G,KAAKyuF,OAGhB1nF,IAAK,SAASC,GAENA,IAAUhH,KAAKyuF,QAEfzuF,KAAKyuF,MAAQznF,EAAMwhB,YAAc,GACjCxoB,KAAKoR,OAAQ,EAETpR,KAAKqB,QAELrB,KAAK6C,sBAmBrB+D,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,WAEzCwE,IAAK,WACD,OAAO9G,KAAKgwF,iBAAiBhwF,KAAK0uF,kBAGtC3nF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,kBACjBhH,KAAK0uF,gBAAkB1uF,KAAK2vF,iBAAiB3oF,GAC7ChH,KAAKkzF,WAAWlzF,KAAK0uF,oBAgB7B9nF,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,QAEzCwE,IAAK,WACD,OAAO9G,KAAK0uF,gBAAgB2E,YAGhCtsF,IAAK,SAASC,GAGVA,GADAA,EAAQA,GAAS,SACH+G,OAGT,2DAA2DqlF,KAAKpsF,IAAW,QAAQosF,KAAKpsF,KAEzFA,EAAQ,IAAMA,EAAQ,KAG1BhH,KAAK0uF,gBAAgB2E,WAAarsF,EAClChH,KAAKkzF,WAAWlzF,KAAK0uF,oBAe7B9nF,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,YAEzCwE,IAAK,WAED,IAAI4a,EAAO1hB,KAAK0uF,gBAAgBqB,SAEhC,OAAIruE,GAAQ,cAAc0xE,KAAK1xE,GAEpBsR,SAAStR,EAAM,IAIfA,GAKf3a,IAAK,SAASC,GAIW,iBAFrBA,EAAQA,GAAS,OAIbA,GAAgB,MAGpBhH,KAAK0uF,gBAAgBqB,SAAW/oF,EAChChH,KAAKkzF,WAAWlzF,KAAK0uF,oBAW7B9nF,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,cAEzCwE,IAAK,WACD,OAAO9G,KAAK0uF,gBAAgBoB,YAAc,UAG9C/oF,IAAK,SAASC,GAEVA,EAAQA,GAAS,SACjBhH,KAAK0uF,gBAAgBoB,WAAa9oF,EAClChH,KAAKkzF,WAAWlzF,KAAK0uF,oBAW7B9nF,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,aAEzCwE,IAAK,WACD,OAAO9G,KAAK0uF,gBAAgBkB,WAAa,UAG7C7oF,IAAK,SAASC,GAEVA,EAAQA,GAAS,SACjBhH,KAAK0uF,gBAAgBkB,UAAY5oF,EACjChH,KAAKkzF,WAAWlzF,KAAK0uF,oBAW7B9nF,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,eAEzCwE,IAAK,WACD,OAAO9G,KAAK0uF,gBAAgBmB,aAAe,UAG/C9oF,IAAK,SAASC,GAEVA,EAAQA,GAAS,SACjBhH,KAAK0uF,gBAAgBmB,YAAc7oF,EACnChH,KAAKkzF,WAAWlzF,KAAK0uF,oBAU7B9nF,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,QAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMsqC,MAGtBx+C,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMsqC,OAErBvlD,KAAKib,MAAMsqC,KAAOv+C,EAClBhH,KAAKoR,OAAQ,MAczBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,SAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMq5B,OAGtBvtC,IAAK,SAASC,IAEVA,EAAQA,EAAM+mD,iBACA/tD,KAAKib,MAAMq5B,QAErBt0C,KAAKib,MAAMq5B,MAAQttC,EACnBhH,KAAKoR,OAAQ,MAazBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,cAEzCwE,IAAK,WACD,OAAO9G,KAAKwuF,MAGhBznF,IAAK,SAASC,GAENA,IAAUhH,KAAKwuF,OAEfxuF,KAAKwuF,KAAOxnF,EACZhH,KAAKoR,OAAQ,MAgBzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,QAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMy0E,MAGtB3oF,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMy0E,OAErB1vF,KAAKib,MAAMy0E,KAAO1oF,EAClBhH,KAAKoR,OAAQ,MAYzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,gBAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMm0E,cAGtBroF,IAAK,SAASC,IAEVA,EAAQA,EAAM+mD,iBACA/tD,KAAKib,MAAMm0E,eAErBpvF,KAAKib,MAAMm0E,aAAepoF,EAC1BhH,KAAKoR,OAAQ,MAYzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,gBAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMo0E,cAGtBtoF,IAAK,SAASC,IAEVA,EAAQA,EAAM+mD,iBACA/tD,KAAKib,MAAMo0E,eAErBrvF,KAAKib,MAAMo0E,aAAeroF,EAC1BhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,UAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAM2iE,QAGtB72E,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAM2iE,SAErB59E,KAAKib,MAAM2iE,OAAS52E,EACpBhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,mBAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMq0E,iBAGtBvoF,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMq0E,kBAErBtvF,KAAKib,MAAMq0E,gBAAkB5vD,OAAO14B,GACpChH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,YAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMs0E,UAGtBxoF,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMs0E,WAErBvvF,KAAKib,MAAMs0E,SAAWvoF,EACtBhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,iBAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMu0E,eAGtBzoF,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMu0E,gBAErBxvF,KAAKib,MAAMu0E,cAAgBxoF,EAC3BhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,eAEzCwE,IAAK,WACD,OAAO9G,KAAK2uF,cAGhB5nF,IAAK,SAASC,GAENA,IAAUhH,KAAK2uF,eAEf3uF,KAAK2uF,aAAeyF,WAAWptF,GAC/BhH,KAAKoR,OAAQ,EAETpR,KAAKqB,QAELrB,KAAK6C,sBAYrB+D,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,iBAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMyhE,eAGtB31E,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMyhE,gBAErB18E,KAAKib,MAAMyhE,cAAgB11E,EAC3BhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,iBAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAM0hE,eAGtB51E,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAM0hE,gBAErB38E,KAAKib,MAAM0hE,cAAgB31E,EAC3BhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,eAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMuhE,aAGtBz1E,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMuhE,cAErBx8E,KAAKib,MAAMuhE,YAAcx1E,EACzBhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,cAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMwhE,YAGtB11E,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMwhE,aAErBz8E,KAAKib,MAAMwhE,WAAaz1E,EACxBhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,gBAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAM+zE,cAGtBjoF,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAM+zE,eAErBhvF,KAAKib,MAAM+zE,aAAehoF,EAC1BhH,KAAKoR,OAAQ,MAWzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,cAEzCwE,IAAK,WACD,OAAO9G,KAAKib,MAAMg0E,YAGtBloF,IAAK,SAASC,GAENA,IAAUhH,KAAKib,MAAMg0E,aAErBjvF,KAAKib,MAAMg0E,WAAajoF,EACxBhH,KAAKoR,OAAQ,MAYzBxK,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,SAEzCwE,IAAK,WAQD,OANI9G,KAAKoR,QAELpR,KAAK8uF,aACL9uF,KAAKoR,OAAQ,GAGVpR,KAAKc,MAAMgD,GAAK9D,KAAKjC,QAAQiP,MAAMpP,MAAQoC,KAAK2E,aAG3DoC,IAAK,SAASC,GAEVhH,KAAKc,MAAMgD,EAAIkD,EAAQhH,KAAKjC,QAAQiP,MAAMpP,MAC1CoC,KAAKoM,OAASpF,KAUtBJ,OAAOuF,eAAe3K,EAAOgxE,KAAKlwE,UAAW,UAEzCwE,IAAK,WAQD,OANI9G,KAAKoR,QAELpR,KAAK8uF,aACL9uF,KAAKoR,OAAQ,GAGVpR,KAAKc,MAAMiD,GAAK/D,KAAKjC,QAAQiP,MAAMnP,OAASmC,KAAK2E,aAG5DoC,IAAK,SAASC,GAEVhH,KAAKc,MAAMiD,EAAIiD,EAAQhH,KAAKjC,QAAQiP,MAAMnP,OAC1CmC,KAAKqM,QAAUrF,KAKvBxF,EAAOgxE,KAAKkhB,uBAEZlyF,EAAOgxE,KAAKmhB,qBAAuBhkD,SAAS0kD,cAAc,UAC1D7yF,EAAOgxE,KAAKohB,sBAAwBpyF,EAAOgxE,KAAKmhB,qBAAqBx7E,WAAW,MAuDhF3W,EAAO4qE,WAAa,SAAUtpE,EAAMgB,EAAGC,EAAGovE,EAAMZ,EAAM7wD,EAAM4yB,GAExDxwC,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTovE,EAAOA,GAAQ,GACfZ,EAAOA,GAAQ,GACf7wD,EAAOA,GAAQ,GACf4yB,EAAQA,GAAS,OAEjB91C,KAAK0J,uBAAuB3D,KAAKvE,MAMjCA,KAAKoT,KAAO5R,EAAOmrB,WAMnB3sB,KAAK+xC,YAAcvwC,EAAO6qB,OAM1BrsB,KAAKs0F,UAAY,EAMjBt0F,KAAKu0F,WAAa,EAKlBv0F,KAAK0G,OAAS,IAAIlF,EAAOX,MAMzBb,KAAKw0F,YAAc,IAAIhzF,EAAOX,MAM9Bb,KAAKqsE,WAMLrsE,KAAKy0F,UAAY,EAMjBz0F,KAAKyuF,MAAQlc,EAAK/pD,YAAc,GAMhCxoB,KAAK00F,MAAQ5xF,EAAK6W,MAAMg7E,cAAcxhB,GAMtCnzE,KAAK40F,MAAQzhB,EAMbnzE,KAAK60F,UAAYnzE,EAMjB1hB,KAAK80F,OAASxgD,EAMdt0C,KAAK+0F,MAAQ,SAEb/0F,KAAK8uF,aAKL9uF,KAAKoR,OAAQ,EAEb5P,EAAOynE,UAAUiB,KAAK54D,KAAK/M,KAAKvE,KAAM8C,EAAMgB,EAAGC,EAAG,GAAI,OAI1DvC,EAAO4qE,WAAW9pE,UAAYsE,OAAOwB,OAAO5J,KAAK0J,uBAAuB5F,WACxEd,EAAO4qE,WAAW9pE,UAAUC,YAAcf,EAAO4qE,WAEjD5qE,EAAOynE,UAAUiB,KAAKE,QAAQ7lE,KAAK/C,EAAO4qE,WAAW9pE,WACjD,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJd,EAAO4qE,WAAW9pE,UAAUmyE,iBAAmBjzE,EAAOynE,UAAUuB,YAAY/lE,UAC5EjD,EAAO4qE,WAAW9pE,UAAUoyE,kBAAoBlzE,EAAOynE,UAAUqG,SAAS7qE,UAC1EjD,EAAO4qE,WAAW9pE,UAAUqyE,iBAAmBnzE,EAAOynE,UAAU8F,QAAQtqE,UACxEjD,EAAO4qE,WAAW9pE,UAAUsyE,cAAgBpzE,EAAOynE,UAAUiB,KAAKzlE,UASlEjD,EAAO4qE,WAAW9pE,UAAUmC,UAAY,WAEpC,SAAKzE,KAAKy0E,oBAAuBz0E,KAAK00E,qBAAwB10E,KAAK20E,qBAK5D30E,KAAK40E,iBAQhBpzE,EAAO4qE,WAAW9pE,UAAUwsC,WAAa,WAErCttC,EAAOynE,UAAUuB,YAAY17B,WAAWvqC,KAAKvE,MAC7CwB,EAAOynE,UAAU0B,cAAc77B,WAAWvqC,KAAKvE,MAE3CA,KAAKsxC,MAAQtxC,KAAKsxC,KAAKl+B,OAAS5R,EAAOqwC,QAAQC,SAE1C9xC,KAAKs0F,YAAct0F,KAAKsxC,KAAK0jD,aAAiBh1F,KAAKu0F,aAAev0F,KAAKsxC,KAAK2jD,cAE7Ej1F,KAAKsxC,KAAK3L,QAAQ3lC,KAAKs0F,UAAWt0F,KAAKu0F,cAcnD/yF,EAAO4qE,WAAW9pE,UAAUgxF,QAAU,SAAU/gB,GAE5CvyE,KAAKuyE,KAAOA,GAehB/wE,EAAO4qE,WAAW9pE,UAAU4yF,SAAW,SAAUlhF,EAAMlT,EAAOyxE,GAW1D,IAAK,IATDzuE,EAAI,EACJmR,EAAI,EACJkgF,GAAa,EACbC,EAAe,EACfC,EAAe,KACfC,EAAYt1F,KAAKy0F,UAAY,EAAKz0F,KAAKy0F,UAAY,KACnDnhB,KAGK5wE,EAAI,EAAGA,EAAI6vE,EAAK5vE,OAAQD,IACjC,CACI,IAAIsY,EAAOtY,IAAM6vE,EAAK5vE,OAAS,EAE/B,GAAI,iBAAiB4yF,KAAKhjB,EAAKijB,OAAO9yF,IAElC,OAAS9E,MAAOqX,EAAGs9D,KAAMA,EAAK9pD,OAAO,EAAG/lB,GAAIsY,IAAKA,EAAKs4D,MAAOA,GAI7D,IAAIxQ,EAAWyP,EAAKvP,WAAWtgE,GAC3B+yF,EAAWzhF,EAAKs/D,MAAMxQ,GAEtB3/D,EAAI,OAISmD,IAAbmvF,IAEA3yB,EAAW,GACX2yB,EAAWzhF,EAAKs/D,MAAMxQ,IAI1B,IAAI4yB,EAAWL,GAAgBI,EAASC,QAAQL,GAAiBI,EAASC,QAAQL,GAAgB,EAalG,GAVI,OAAOE,KAAKhjB,EAAKijB,OAAO9yF,MAExByyF,EAAYzyF,EACZ0yF,EAAengF,GAInB9R,GAAKuyF,EAAUD,EAAS13F,QAAQH,MAAQ63F,EAAS/hB,SAAW5yE,EAGxDw0F,GAAcrgF,EAAI9R,GAAMmyF,GAAaH,GAAa,EAGlD,OAASv3F,MAAOw3F,GAAgBngF,EAAGs9D,KAAMA,EAAK9pD,OAAO,EAAG/lB,GAAKA,EAAIyyF,IAAan6E,KAAK,EAAOs4D,MAAOA,GAIjGr+D,IAAMwgF,EAASE,SAAWD,GAAW50F,EAErCwyE,EAAM5rE,KAAK5D,GAAK2xF,EAAS/hB,QAAUgiB,GAAW50F,GAE9CgD,IAAM2xF,EAASE,SAAWD,GAAW50F,EAErCu0F,EAAevyB,EAK3B,OAASllE,MAAOqX,EAAGs9D,KAAMA,EAAMv3D,IAAKA,EAAKs4D,MAAOA,IAepD9xE,EAAO4qE,WAAW9pE,UAAUszF,UAAY,SAAUrjB,EAAMp+C,QAEpC7tB,IAAZ6tB,IAEAA,EAAU,IAGd,IAAIngB,EAAOhU,KAAK00F,MAAMvhB,KAEtB,IAAKn/D,EAED,MAAO,GAMX,IAAK,IAHD6hF,EAAK,mBACLzF,EAAQ7d,EAAKp+C,QAAQ0hE,EAAI,MAAMnkE,MAAM,MAEhChvB,EAAI,EAAGA,EAAI0tF,EAAMztF,OAAQD,IAClC,CAII,IAAK,IAHD8yB,EAAS,GACTgD,EAAO43D,EAAM1tF,GAERS,EAAI,EAAGA,EAAIq1B,EAAK71B,OAAQQ,IAIzBqyB,EAFAxhB,EAAKs/D,MAAM96C,EAAKwqC,WAAW7/D,IAElBqyB,EAAOpF,OAAOoI,EAAKr1B,IAInBqyB,EAAOpF,OAAO+D,GAI/Bi8D,EAAM1tF,GAAK8yB,EAGf,OAAO46D,EAAM1gF,KAAK,OAUtBlO,EAAO4qE,WAAW9pE,UAAUwsF,WAAa,WAErC,IAAI96E,EAAOhU,KAAK00F,MAAMvhB,KAEtB,GAAKn/D,EAAL,CAKA,IAAIu+D,EAAOvyE,KAAKuyE,KACZzxE,EAAQd,KAAK60F,UAAY7gF,EAAK0N,KAC9B0uE,KAEArsF,EAAI,EAER/D,KAAKs0F,UAAY,EAEjB,IAEQ97D,EAAOx4B,KAAKk1F,SAASlhF,EAAMlT,EAAOyxE,IAEjCxuE,EAAIA,EAETqsF,EAAM1oF,KAAK8wB,GAEPA,EAAK56B,MAAQoC,KAAKs0F,YAElBt0F,KAAKs0F,UAAY97D,EAAK56B,OAG1BmG,GAAMiQ,EAAK+8E,WAAajwF,EAExByxE,EAAOA,EAAK9pD,OAAO+P,EAAK+5C,KAAK5vE,OAAS,UAEpB,IAAb61B,EAAKxd,KAEdhb,KAAKu0F,WAAaxwF,EAOlB,IAAK,IALD6sB,EAAI,EACJ0jB,EAAQ,EACRqvC,EAAK3jF,KAAKs0F,UAAYt0F,KAAK0G,OAAO5C,EAClC8/E,EAAK5jF,KAAKu0F,WAAav0F,KAAK0G,OAAO3C,EAE9BrB,EAAI,EAAGA,EAAI0tF,EAAMztF,OAAQD,IAClC,CACI,IAAI81B,EAAO43D,EAAM1tF,GAEG,UAAhB1C,KAAK80F,OAELxgD,EAAQt0C,KAAKs0F,UAAY97D,EAAK56B,MAET,WAAhBoC,KAAK80F,SAEVxgD,GAASt0C,KAAKs0F,UAAY97D,EAAK56B,OAAS,GAG5C,IAAK,IAAIuF,EAAI,EAAGA,EAAIq1B,EAAK+5C,KAAK5vE,OAAQQ,IACtC,CACI,IAAI2/D,EAAWtqC,EAAK+5C,KAAKvP,WAAW7/D,GAChCsyF,EAAWzhF,EAAKs/D,MAAMxQ,QAETx8D,IAAbmvF,IAEA3yB,EAAW,GACX2yB,EAAWzhF,EAAKs/D,MAAMxQ,IAG1B,IAAIxoD,EAAIta,KAAKqsE,QAAQz7C,GAEjBtW,EAGAA,EAAEvc,QAAU03F,EAAS13F,UAKrBuc,EAAI,IAAI9b,KAAKqH,OAAO4vF,EAAS13F,UAC3B8zB,KAAO2G,EAAK+5C,KAAKpvE,GACnBnD,KAAKqsE,QAAQ3kE,KAAK4S,IAGtBA,EAAE1Z,SAASkD,EAAK00B,EAAK86C,MAAMnwE,GAAKmxC,EAASqvC,EACzCrpE,EAAE1Z,SAASmD,EAAKy0B,EAAKz0B,EAAK0xF,EAAS9hB,QAAU7yE,EAAU8iF,EAEvDtpE,EAAExZ,MAAMiG,IAAIjG,GACZwZ,EAAE7N,KAAOzM,KAAKyM,KACd6N,EAAEvc,QAAQ0Q,gBAAiB,EAC3B6L,EAAE5N,WAAa,SAEV4N,EAAEjZ,QAEHrB,KAAKqI,SAASiS,GAGlBsW,KAMR,IAAKluB,EAAIkuB,EAAGluB,EAAI1C,KAAKqsE,QAAQ1pE,OAAQD,IAEjC1C,KAAKyI,YAAYzI,KAAKqsE,QAAQ3pE,MAkBtClB,EAAO4qE,WAAW9pE,UAAUwzF,YAAc,WAKtC,IAAK,IAHDjlE,EAAM7wB,KAAKqsE,QAAQ1pE,OACnBozF,KAEKrzF,EAAI,EAAGA,EAAI1C,KAAKqsE,QAAQ1pE,OAAQD,IAEjC1C,KAAKqsE,QAAQ3pE,GAAGrB,SAAWrB,KAE3BA,KAAKqsE,QAAQ3pE,GAAGF,UAIhBuzF,EAAKruF,KAAK1H,KAAKqsE,QAAQ3pE,IAS/B,OALA1C,KAAKqsE,WACLrsE,KAAKqsE,QAAU0pB,EAEf/1F,KAAK8uF,aAEEj+D,EAAMklE,EAAKpzF,QAUtBnB,EAAO4qE,WAAW9pE,UAAUO,gBAAkB,YAEtC7C,KAAKoR,OAAUpR,KAAK0G,OAAO2vB,OAAOr2B,KAAKw0F,eAEvCx0F,KAAK8uF,aACL9uF,KAAKoR,OAAQ,EACbpR,KAAKw0F,YAAYr/D,SAASn1B,KAAK0G,SAGnClI,KAAK0J,uBAAuB5F,UAAUO,gBAAgB0B,KAAKvE,OAQ/D4G,OAAOuF,eAAe3K,EAAO4qE,WAAW9pE,UAAW,SAE/CwE,IAAK,WACD,OAAO9G,KAAK80F,QAGhB/tF,IAAK,SAASC,GAENA,IAAUhH,KAAK80F,QAAqB,SAAV9tF,GAA8B,WAAVA,GAAgC,UAAVA,IAEpEhH,KAAK80F,OAAS9tF,EACdhH,KAAK8uF,iBAWjBloF,OAAOuF,eAAe3K,EAAO4qE,WAAW9pE,UAAW,QAE/CwE,IAAK,WACD,OAAO9G,KAAK+0F,OAGhBhuF,IAAK,SAASC,GAENA,IAAUhH,KAAK+0F,QAEf/0F,KAAK+0F,MAAQ/tF,EACbhH,KAAK8uF,iBAWjBloF,OAAOuF,eAAe3K,EAAO4qE,WAAW9pE,UAAW,QAE/CwE,IAAK,WACD,OAAO9G,KAAK40F,OAGhB7tF,IAAK,SAASC,GAENA,IAAUhH,KAAK40F,QAEf50F,KAAK40F,MAAQ5tF,EAAM+G,OACnB/N,KAAK00F,MAAQ10F,KAAK8C,KAAK6W,MAAMg7E,cAAc30F,KAAK40F,OAChD50F,KAAK8uF,iBAWjBloF,OAAOuF,eAAe3K,EAAO4qE,WAAW9pE,UAAW,YAE/CwE,IAAK,WACD,OAAO9G,KAAK60F,WAGhB9tF,IAAK,SAASC,IAEVA,EAAQgsB,SAAShsB,EAAO,OAEVhH,KAAK60F,WAAa7tF,EAAQ,IAEpChH,KAAK60F,UAAY7tF,EACjBhH,KAAK8uF,iBAWjBloF,OAAOuF,eAAe3K,EAAO4qE,WAAW9pE,UAAW,QAE/CwE,IAAK,WACD,OAAO9G,KAAKyuF,OAGhB1nF,IAAK,SAASC,GAENA,IAAUhH,KAAKyuF,QAEfzuF,KAAKyuF,MAAQznF,EAAMwhB,YAAc,GACjCxoB,KAAK8uF,iBAoBjBloF,OAAOuF,eAAe3K,EAAO4qE,WAAW9pE,UAAW,YAE/CwE,IAAK,WAED,OAAO9G,KAAKy0F,WAIhB1tF,IAAK,SAASC,GAENA,IAAUhH,KAAKy0F,YAEfz0F,KAAKy0F,UAAYztF,EACjBhH,KAAK8uF,iBAiBjBloF,OAAOuF,eAAe3K,EAAO4qE,WAAW9pE,UAAW,YAE/CwE,IAAK,WAED,OAAQ9G,KAAK00F,MAAM36E,KAAKjc,WAI5BiJ,IAAK,SAASC,GAINhH,KAAK00F,MAAM36E,KAAKjc,UAFhBkJ,EAE4B,EAIA,EAEhChH,KAAK00F,MAAM36E,KAAK3I,WA8BxB5P,EAAOoyE,UAAY,SAAU9wE,EAAM8P,EAAKwgE,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEtH,IAAK7wE,EAAK6W,MAAMq8E,cAAcpjF,GAE1B,OAAO,OAGStM,IAAhBitE,GAA6C,OAAhBA,IAE7BA,EAAczwE,EAAK6W,MAAMy2D,SAASx9D,GAAKhV,MAAQw1E,GAMnDpzE,KAAKozE,eAAiBA,EAKtBpzE,KAAKqzE,gBAAkBA,EAKvBrzE,KAAKi2F,kBAAoBziB,GAAY,EAKrCxzE,KAAKk2F,kBAAoBziB,GAAY,EAKrCzzE,KAAKm2F,gBAAkB5iB,EAMvBvzE,KAAKskB,QAAUovD,GAAW,EAM1B1zE,KAAKukB,QAAUovD,GAAW,EAK1B3zE,KAAKs0C,MAAQ,OAMbt0C,KAAKo2F,WAAY,EAMjBp2F,KAAKq2F,eAAgB,EAMrBr2F,KAAKs2F,eAAiB,EAMtBt2F,KAAKu2F,eAAiB,EAOtBv2F,KAAKw2F,WAAa,EAKlBx2F,KAAKy2F,QAAU3zF,EAAK6W,MAAMy2D,SAASx9D,GAMnC5S,KAAKyuF,MAAQ,GAMbzuF,KAAK02F,YAKL12F,KAAKgwE,UAAY,IAAIxuE,EAAO02E,UAO5B,IAAK,IAJDye,EAAW32F,KAAKskB,QAChBsyE,EAAW52F,KAAKukB,QAChBtgB,EAAI,EAECd,EAAI,EAAGA,EAAImwE,EAAM3wE,OAAQQ,IAClC,CACI,IAAI6J,EAAQhN,KAAKgwE,UAAUoI,SAAS,IAAI52E,EAAO62E,MAAMl1E,EAAGwzF,EAAUC,EAAU52F,KAAKozE,eAAgBpzE,KAAKqzE,kBAEtGrzE,KAAK02F,SAASpjB,EAAMtQ,WAAW7/D,IAAM6J,EAAMxE,QAE3CvE,IAEUjE,KAAKm2F,iBAEXlyF,EAAI,EACJ0yF,EAAW32F,KAAKskB,QAChBsyE,GAAY52F,KAAKqzE,gBAAkBrzE,KAAKk2F,mBAIxCS,GAAY32F,KAAKozE,eAAiBpzE,KAAKi2F,kBAI/CnzF,EAAK6W,MAAMk9E,gBAAgBjkF,EAAK5S,KAAKgwE,WAMrChwE,KAAK82F,MAAQ,IAAIt1F,EAAOmwE,MAAM7uE,EAAM,EAAG,EAAG8P,EAAK,GAE/CpR,EAAOwD,cAAcT,KAAKvE,KAAM8C,EAAM,IAAK,IAAK,GAAItB,EAAO/C,WAAWE,SAKtEqB,KAAKoT,KAAO5R,EAAO+rB,WAIvB/rB,EAAOoyE,UAAUtxE,UAAYsE,OAAOwB,OAAO5G,EAAOwD,cAAc1C,WAChEd,EAAOoyE,UAAUtxE,UAAUC,YAAcf,EAAOoyE,UAOhDpyE,EAAOoyE,UAAUmjB,WAAa,OAO9Bv1F,EAAOoyE,UAAUojB,YAAc,QAO/Bx1F,EAAOoyE,UAAUqjB,aAAe,SAOhCz1F,EAAOoyE,UAAUsjB,UAAY,oGAO7B11F,EAAOoyE,UAAUujB,UAAY,+DAO7B31F,EAAOoyE,UAAUwjB,UAAY,wCAO7B51F,EAAOoyE,UAAUyjB,UAAY,wCAO7B71F,EAAOoyE,UAAU0jB,UAAY,mDAO7B91F,EAAOoyE,UAAU2jB,UAAY,oDAO7B/1F,EAAOoyE,UAAU4jB,UAAY,oDAO7Bh2F,EAAOoyE,UAAU6jB,UAAY,yCAO7Bj2F,EAAOoyE,UAAU8jB,UAAY,kDAO7Bl2F,EAAOoyE,UAAU+jB,WAAa,6BAO9Bn2F,EAAOoyE,UAAUgkB,WAAa,oDAW9Bp2F,EAAOoyE,UAAUtxE,UAAUu1F,cAAgB,SAAUj6F,EAAOk6F,QAElCxxF,IAAlBwxF,IAA+BA,EAAgB,QAEnD93F,KAAKw2F,WAAa54F,EAClBoC,KAAKs0C,MAAQwjD,GAgBjBt2F,EAAOoyE,UAAUtxE,UAAUgxF,QAAU,SAAUyE,EAAS3B,EAAW4B,EAAkBhH,EAAa8G,EAAeG,GAE7Gj4F,KAAKo2F,UAAYA,IAAa,EAC9Bp2F,KAAKs2F,eAAiB0B,GAAoB,EAC1Ch4F,KAAKu2F,eAAiBvF,GAAe,EACrChxF,KAAKs0C,MAAQwjD,GAAiB,OAI1B93F,KAAKq2F,eAFL4B,EASAF,EAAQp1F,OAAS,IAEjB3C,KAAKuyE,KAAOwlB,IAWpBv2F,EAAOoyE,UAAUtxE,UAAU41F,mBAAqB,WAE5C,IAAIrpF,EAAK,EACLC,EAAK,EAKT,GAFA9O,KAAKua,QAEDva,KAAKo2F,UACT,CACI,IAAIhG,EAAQpwF,KAAKyuF,MAAM/8D,MAAM,MAEzB1xB,KAAKw2F,WAAa,EAElBx2F,KAAKkG,OAAOlG,KAAKw2F,WAAapG,EAAMztF,QAAU3C,KAAKqzE,gBAAkBrzE,KAAKu2F,gBAAmBv2F,KAAKu2F,gBAAgB,GAIlHv2F,KAAKkG,OAAOlG,KAAKm4F,kBAAoBn4F,KAAKozE,eAAiBpzE,KAAKs2F,gBAAkBlG,EAAMztF,QAAU3C,KAAKqzE,gBAAkBrzE,KAAKu2F,gBAAmBv2F,KAAKu2F,gBAAgB,GAI1K,IAAK,IAAI7zF,EAAI,EAAGA,EAAI0tF,EAAMztF,OAAQD,IAG9BmM,EAAK,EAGD7O,KAAKs0C,QAAU9yC,EAAOoyE,UAAUojB,YAEhCnoF,EAAK7O,KAAKpC,MAASwyF,EAAM1tF,GAAGC,QAAU3C,KAAKozE,eAAiBpzE,KAAKs2F,gBAE5Dt2F,KAAKs0C,QAAU9yC,EAAOoyE,UAAUqjB,eAErCpoF,EAAM7O,KAAKpC,MAAQ,EAAOwyF,EAAM1tF,GAAGC,QAAU3C,KAAKozE,eAAiBpzE,KAAKs2F,gBAAmB,EAC3FznF,GAAM7O,KAAKs2F,eAAiB,GAI5BznF,EAAK,IAELA,EAAK,GAGT7O,KAAKo4F,UAAUhI,EAAM1tF,GAAImM,EAAIC,EAAI9O,KAAKs2F,gBAEtCxnF,GAAM9O,KAAKqzE,gBAAkBrzE,KAAKu2F,oBAKlCv2F,KAAKw2F,WAAa,EAElBx2F,KAAKkG,OAAOlG,KAAKw2F,WAAYx2F,KAAKqzE,iBAAiB,GAInDrzE,KAAKkG,OAAOlG,KAAKyuF,MAAM9rF,QAAU3C,KAAKozE,eAAiBpzE,KAAKs2F,gBAAiBt2F,KAAKqzE,iBAAiB,GAIvGxkE,EAAK,EAED7O,KAAKs0C,QAAU9yC,EAAOoyE,UAAUojB,YAEhCnoF,EAAK7O,KAAKpC,MAASoC,KAAKyuF,MAAM9rF,QAAU3C,KAAKozE,eAAiBpzE,KAAKs2F,gBAE9Dt2F,KAAKs0C,QAAU9yC,EAAOoyE,UAAUqjB,eAErCpoF,EAAM7O,KAAKpC,MAAQ,EAAOoC,KAAKyuF,MAAM9rF,QAAU3C,KAAKozE,eAAiBpzE,KAAKs2F,gBAAmB,EAC7FznF,GAAM7O,KAAKs2F,eAAiB,GAI5BznF,EAAK,IAELA,EAAK,GAGT7O,KAAKo4F,UAAUp4F,KAAKyuF,MAAO5/E,EAAI,EAAG7O,KAAKs2F,gBAG3Ct2F,KAAKyO,gBAAiB,GAe1BjN,EAAOoyE,UAAUtxE,UAAU81F,UAAY,SAAU5/D,EAAM10B,EAAGC,EAAGuyF,GAEzD,IAAK,IAAInzF,EAAI,EAAGA,EAAIq1B,EAAK71B,OAAQQ,IAG7B,GAAuB,MAAnBq1B,EAAKg9D,OAAOryF,GAEZW,GAAK9D,KAAKozE,eAAiBkjB,OAK3B,GAAIt2F,KAAK02F,SAASl+D,EAAKwqC,WAAW7/D,KAAO,IAErCnD,KAAK82F,MAAM9pF,MAAQhN,KAAK02F,SAASl+D,EAAKwqC,WAAW7/D,IACjDnD,KAAKqtF,SAASrtF,KAAK82F,MAAOhzF,EAAGC,GAAG,IAEhCD,GAAK9D,KAAKozE,eAAiBkjB,GAEnBt2F,KAAKpC,OAET,OAcpB4D,EAAOoyE,UAAUtxE,UAAU61F,eAAiB,WAExC,IAAIE,EAAc,EAElB,GAAIr4F,KAAKyuF,MAAM9rF,OAAS,EAIpB,IAAK,IAFDytF,EAAQpwF,KAAKyuF,MAAM/8D,MAAM,MAEpBhvB,EAAI,EAAGA,EAAI0tF,EAAMztF,OAAQD,IAE1B0tF,EAAM1tF,GAAGC,OAAS01F,IAElBA,EAAcjI,EAAM1tF,GAAGC,QAKnC,OAAO01F,GAYX72F,EAAOoyE,UAAUtxE,UAAUg2F,4BAA8B,SAAUC,GAI/D,IAAK,IAFDC,EAAY,GAEPr1F,EAAI,EAAGA,EAAInD,KAAKyuF,MAAM9rF,OAAQQ,IACvC,CACI,IAAIs1F,EAAQz4F,KAAKyuF,MAAMtrF,GACnBu1F,EAAOD,EAAMz1B,WAAW,IAExBhjE,KAAK02F,SAASgC,IAAS,IAAOH,GAAqB,OAAVE,KAEzCD,EAAYA,EAAUpoE,OAAOqoE,IAIrC,OAAOD,GAcXh3F,EAAOoyE,UAAUtxE,UAAUq2F,aAAe,SAAU70F,EAAGC,GAEnD,GAAI/D,KAAKskB,UAAYxgB,GAAK9D,KAAKukB,UAAYxgB,EAA3C,CAWA,IANA,IAAI60F,EAAQ90F,EAAI9D,KAAKskB,QACjBu0E,EAAQ90F,EAAI/D,KAAKukB,QAEjBu0E,EAAS94F,KAAK8C,KAAK6W,MAAMo2D,aAAa/vE,KAAK82F,MAAMlkF,KAAKmmF,YACtDr2F,EAAIo2F,EAAOn2F,OAERD,KAEHo2F,EAAOp2F,GAAGoB,GAAK80F,EACfE,EAAOp2F,GAAGqB,GAAK80F,EAGnB74F,KAAKk4F,uBAQTtxF,OAAOuF,eAAe3K,EAAOoyE,UAAUtxE,UAAW,QAE9CwE,IAAK,WAED,OAAO9G,KAAKyuF,OAIhB1nF,IAAK,SAAUC,GAEX,IAAIgyF,GAIAA,EAFAh5F,KAAKq2F,cAEKrvF,EAAMiyF,cAINjyF,KAGEhH,KAAKyuF,QAEjBzuF,KAAKyuF,MAAQuK,EAEbh5F,KAAKs4F,4BAA4Bt4F,KAAKo2F,WAEtCp2F,KAAKk4F,yBAWjBtxF,OAAOuF,eAAe3K,EAAOoyE,UAAUtxE,UAAW,YAE9CwE,IAAK,WAED,OAAO9G,KAAK82F,MAAM14C,UAItBr3C,IAAK,SAAUC,GAEXhH,KAAK82F,MAAM14C,SAAWp3C,EACtBhH,KAAKk4F,wBAiDb12F,EAAO8wE,KAAO,SAAUxvE,EAAMgB,EAAGC,EAAG6O,EAAK5F,EAAOoxB,GAE5Cp+B,KAAKo+B,OAASA,MACdp+B,KAAKk5F,qBAAsB,EAC3Bl5F,KAAKm5F,yBAA2B,KAChCr1F,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT6O,EAAMA,GAAO,KACb5F,EAAQA,GAAS,KAMjBhN,KAAKoT,KAAO5R,EAAOisB,KAEnBjvB,KAAK0J,uBAAuB3D,KAAKvE,MAEjCA,KAAKjC,QAAUyD,EAAOysC,MAAM3mB,QAG5BtnB,KAAKmjB,IAAM,IAAIlB,cAAc,EAAG,EACE,EAAG,EACH,EAAG,EACH,EAAG,IAErCjiB,KAAK8hB,SAAW,IAAIG,cAAc,EAAG,EACG,IAAK,EACL,IAAK,IACL,EAAG,MAE3CjiB,KAAKkiB,OAAS,IAAID,cAAc,EAAG,EAAG,EAAG,IAEzCjiB,KAAKwS,QAAU,IAAI4P,aAAa,EAAG,EAAG,EAAG,IAErCgc,IAEAp+B,KAAK8hB,SAAW,IAAIG,aAA6B,EAAhBmc,EAAOz7B,QACxC3C,KAAKmjB,IAAM,IAAIlB,aAA6B,EAAhBmc,EAAOz7B,QACnC3C,KAAKkiB,OAAS,IAAID,aAA6B,EAAhBmc,EAAOz7B,QACtC3C,KAAKwS,QAAU,IAAI4P,YAA4B,EAAhBgc,EAAOz7B,SAS1C3C,KAAKoR,OAAQ,EAQbpR,KAAKo5F,cAAgB,EAErBp5F,KAAKq5F,SAAW73F,EAAO8wE,KAAK/yD,eAE5B/d,EAAOynE,UAAUiB,KAAK54D,KAAK/M,KAAKvE,KAAM8C,EAAMgB,EAAGC,EAAG6O,EAAK5F,GAEvDhN,KAAKopB,WAIT5nB,EAAO8wE,KAAKhwE,UAAYsE,OAAOwB,OAAO5J,KAAK0J,uBAAuB5F,WAClEd,EAAO8wE,KAAKhwE,UAAUC,YAAcf,EAAO8wE,KAE3C9wE,EAAOynE,UAAUiB,KAAKE,QAAQ7lE,KAAK/C,EAAO8wE,KAAKhwE,WAC3C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJd,EAAO8wE,KAAKhwE,UAAUmyE,iBAAmBjzE,EAAOynE,UAAUuB,YAAY/lE,UACtEjD,EAAO8wE,KAAKhwE,UAAUoyE,kBAAoBlzE,EAAOynE,UAAUqG,SAAS7qE,UACpEjD,EAAO8wE,KAAKhwE,UAAUqyE,iBAAmBnzE,EAAOynE,UAAU8F,QAAQtqE,UAClEjD,EAAO8wE,KAAKhwE,UAAUsyE,cAAgBpzE,EAAOynE,UAAUiB,KAAKzlE,UAE5DjD,EAAO8wE,KAAK/yD,eAAiB,EAC7B/d,EAAO8wE,KAAK/sD,UAAY,EAQxB/jB,EAAO8wE,KAAKhwE,UAAUmC,UAAY,WAE9B,SAAKzE,KAAKy0E,oBAAuBz0E,KAAK00E,qBAAwB10E,KAAK20E,qBAK5D30E,KAAK40E,iBAUhBpzE,EAAO8wE,KAAKhwE,UAAUqiC,OAAS,WAEvB3kC,KAAKk5F,qBAELl5F,KAAKs5F,gBAAgB/0F,KAAKvE,OAgBlCwB,EAAO8wE,KAAKhwE,UAAUsjC,MAAQ,SAAU9hC,EAAGC,GAIvC,OAFAvC,EAAOynE,UAAU8H,MAAMzuE,UAAUsjC,MAAMrhC,KAAKvE,KAAM8D,EAAGC,GAE9C/D,MAUXwB,EAAO8wE,KAAKhwE,UAAU8mB,QAAU,WAE5B,IAAIgV,EAASp+B,KAAKo+B,OAElB,KAAIA,EAAOz7B,OAAS,GAApB,CAKA,IAAIwgB,EAAMnjB,KAAKmjB,IAEX3Q,EAAUxS,KAAKwS,QACf0P,EAASliB,KAAKkiB,OAElBliB,KAAKme,OAAS,GAEdgF,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EAETjB,EAAO,GAAK,EACZA,EAAO,GAAK,EAEZ1P,EAAQ,GAAK,EACbA,EAAQ,GAAK,EAMb,IAAK,IAHDhK,EACA2tC,EAFA+B,EAAQ9Z,EAAOz7B,OAIVD,EAAI,EAAGA,EAAIw1C,EAAOx1C,IAKvByzC,EAASzzC,GAAKw1C,EAAQ,GAIlB/0B,EAPJ3a,EAAY,EAAJ9F,GAOSyzC,EACbhzB,EAAI3a,EAAQ,GAAK,EAEjB2a,EAAI3a,EAAQ,GAAK2tC,EACjBhzB,EAAI3a,EAAQ,GAAK,EAYrB0Z,EADA1Z,EAAY,EAAJ9F,GACQ,EAChBwf,EAAO1Z,EAAQ,GAAK,EAGpBgK,EADAhK,EAAY,EAAJ9F,GACS8F,EACjBgK,EAAQhK,EAAQ,GAAKA,EAAQ,IAWrChH,EAAO8wE,KAAKhwE,UAAUO,gBAAkB,WAEpC,IAAIu7B,EAASp+B,KAAKo+B,OAElB,KAAIA,EAAOz7B,OAAS,GAApB,CAKA,IACI42F,EADAxS,EAAY3oD,EAAO,GAEnBV,GAAS55B,EAAE,EAAGC,EAAE,GAEpB/D,KAAKme,OAAS,GAUd,IAAK,IAND+X,EACA1tB,EAEAgxF,EACAC,EANA33E,EAAW9hB,KAAK8hB,SAChBo2B,EAAQ9Z,EAAOz7B,OAOVD,EAAI,EAAGA,EAAIw1C,EAAOx1C,IAEvBwzB,EAAQkI,EAAO17B,GACf8F,EAAY,EAAJ9F,EAIJ62F,EAFD72F,EAAI07B,EAAOz7B,OAAS,EAEPy7B,EAAO17B,EAAI,GAIXwzB,EAGhBwH,EAAK35B,IAAMw1F,EAAUz1F,EAAIijF,EAAUjjF,GACnC45B,EAAK55B,EAAIy1F,EAAUx1F,EAAIgjF,EAAUhjF,EAEC,IAAzB,EAAKrB,GAAKw1C,EAAQ,IAEf,GAEA,EAGZshD,EAAa/1F,KAAKS,KAAMw5B,EAAK55B,EAAI45B,EAAK55B,EAAM45B,EAAK35B,EAAI25B,EAAK35B,GAC1D01F,EAAMz5F,KAAKjC,QAAQF,OAAS,EAC5B6/B,EAAK55B,GAAK01F,EACV97D,EAAK35B,GAAKy1F,EAEV97D,EAAK55B,GAAK21F,EACV/7D,EAAK35B,GAAK01F,EAEV33E,EAAStZ,GAAS0tB,EAAMpyB,EAAI45B,EAAK55B,EACjCge,EAAStZ,EAAQ,GAAK0tB,EAAMnyB,EAAI25B,EAAK35B,EACrC+d,EAAStZ,EAAQ,GAAK0tB,EAAMpyB,EAAI45B,EAAK55B,EACrCge,EAAStZ,EAAQ,GAAK0tB,EAAMnyB,EAAI25B,EAAK35B,EAErCgjF,EAAY7wD,EAGhB13B,KAAK0J,uBAAuB5F,UAAUO,gBAAgB0B,KAAKvE,QAW/DwB,EAAO8wE,KAAKhwE,UAAU2K,WAAa,SAAUlP,GAEzCiC,KAAKjC,QAAUA,GAWnByD,EAAO8wE,KAAKhwE,UAAUwD,aAAe,SAAUH,IAEtC3F,KAAKkB,SAAWlB,KAAKiB,OAAS,IAKnC0E,EAAc8F,YAAYI,OAErB7L,KAAK05F,eAEN15F,KAAK25F,WAAWh0F,GAGpBA,EAAc0R,cAAcqI,UAAU/Z,EAAc0R,cAAc0J,aAElE/gB,KAAK45F,aAAaj0F,GAElBA,EAAc8F,YAAYO,UAW9BxK,EAAO8wE,KAAKhwE,UAAUq3F,WAAa,SAAUh0F,GAGzC,IAAIhI,EAAKgI,EAAchI,GAEvBqC,KAAK05F,cAAgB/7F,EAAGmlB,eACxB9iB,KAAK65F,aAAel8F,EAAGmlB,eACvB9iB,KAAK85F,UAAYn8F,EAAGmlB,eACpB9iB,KAAK+5F,aAAep8F,EAAGmlB,eAEvBnlB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK05F,eACpC/7F,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAK8hB,SAAUnkB,EAAGslB,cAEjDtlB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK85F,WACpCn8F,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAKmjB,IAAKxlB,EAAGqlB,aAE5CrlB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK+5F,cACpCp8F,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAKkiB,OAAQvkB,EAAGqlB,aAE/CrlB,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAK65F,cAC5Cl8F,EAAGolB,WAAWplB,EAAG0iB,qBAAsBrgB,KAAKwS,QAAS7U,EAAGqlB,cAW5DxhB,EAAO8wE,KAAKhwE,UAAUs3F,aAAe,SAAUj0F,GAE3C,IAAIhI,EAAKgI,EAAchI,GACnBwZ,EAAaxR,EAAcwR,WAC3BC,EAASzR,EAAcyR,OACvBxK,EAASjH,EAAc0R,cAAc0J,YAErCs4E,EAAYr5F,KAAKq5F,WAAa73F,EAAO8wE,KAAK/yD,eAAkB5hB,EAAG4hB,eAAiB5hB,EAAG4nB,UAEvF5f,EAAciS,iBAAiBkD,aAAa9a,KAAK6H,WAGjDlK,EAAGgW,iBAAiB/G,EAAOgJ,mBAAmB,EAAO5V,KAAKuB,eAAeqe,SAAQ,IACjFjiB,EAAGkiB,UAAUjT,EAAOoF,iBAAkBmF,EAAWrT,GAAIqT,EAAWpT,GAChEpG,EAAGkiB,UAAUjT,EAAOqF,cAAemF,EAAOtT,GAAIsT,EAAOrT,GACrDpG,EAAGgiB,UAAU/S,EAAO3L,MAAOjB,KAAKsB,YAE3BtB,KAAKoR,OA2BNpR,KAAKoR,OAAQ,EAEbzT,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK05F,eACpC/7F,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAK8hB,SAAUnkB,EAAGqlB,aACjDrlB,EAAGwiB,oBAAoBvT,EAAOuF,gBAAiB,EAAGxU,EAAGyiB,OAAO,EAAO,EAAG,GAGtEziB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK85F,WACpCn8F,EAAGolB,WAAWplB,EAAGuiB,aAAclgB,KAAKmjB,IAAKxlB,EAAGqlB,aAC5CrlB,EAAGwiB,oBAAoBvT,EAAOyF,cAAe,EAAG1U,EAAGyiB,OAAO,EAAO,EAAG,GAEpEziB,EAAG6B,cAAc7B,EAAG8B,UAGhBO,KAAKjC,QAAQoI,YAAY+O,OAAOvX,EAAGmW,IAEnCnO,EAAcf,SAASwQ,cAAcpV,KAAKjC,QAAQoI,aAIlDxI,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,QAAQoI,YAAY0N,YAAYlW,EAAGmW,KAG1EnW,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAK65F,cAC5Cl8F,EAAGolB,WAAWplB,EAAG0iB,qBAAsBrgB,KAAKwS,QAAS7U,EAAGqlB,eAjDxDrlB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK05F,eACpC/7F,EAAGinB,cAAcjnB,EAAGuiB,aAAc,EAAGlgB,KAAK8hB,UAC1CnkB,EAAGwiB,oBAAoBvT,EAAOuF,gBAAiB,EAAGxU,EAAGyiB,OAAO,EAAO,EAAG,GAGtEziB,EAAGsiB,WAAWtiB,EAAGuiB,aAAclgB,KAAK85F,WACpCn8F,EAAGwiB,oBAAoBvT,EAAOyF,cAAe,EAAG1U,EAAGyiB,OAAO,EAAO,EAAG,GAEpEziB,EAAG6B,cAAc7B,EAAG8B,UAGhBO,KAAKjC,QAAQoI,YAAY+O,OAAOvX,EAAGmW,IAEnCnO,EAAcf,SAASwQ,cAAcpV,KAAKjC,QAAQoI,aAKlDxI,EAAGM,YAAYN,EAAGO,WAAY8B,KAAKjC,QAAQoI,YAAY0N,YAAYlW,EAAGmW,KAG1EnW,EAAGsiB,WAAWtiB,EAAG0iB,qBAAsBrgB,KAAK65F,eA+BhDl8F,EAAGshB,aAAao6E,EAAUr5F,KAAKwS,QAAQ7P,OAAQhF,EAAGwhB,eAAgB,IAWtE3d,EAAO8wE,KAAKhwE,UAAUyD,cAAgB,SAAUJ,GAE5C,IAAI8H,EAAU9H,EAAc8H,QAExBua,EAAYhoB,KAAKuB,eAEjB8B,EAAM2kB,EAAU3kB,GAAKsC,EAAchB,WAAcgB,EAAcsI,OAC/D3K,EAAM0kB,EAAU1kB,GAAKqC,EAAchB,WAAcgB,EAAcuI,OAE/DvI,EAAc4I,YAEdd,EAAQe,aAAawZ,EAAU/kB,EAAG+kB,EAAU9kB,EAAG8kB,EAAU7kB,EAAG6kB,EAAU5kB,EAAQ,EAALC,EAAa,EAALC,GAIjFmK,EAAQe,aAAawZ,EAAU/kB,EAAG+kB,EAAU9kB,EAAG8kB,EAAU7kB,EAAG6kB,EAAU5kB,EAAGC,EAAIC,GAG7EtD,KAAKq5F,WAAa73F,EAAO8wE,KAAK/yD,eAE9Bvf,KAAKg6F,2BAA2BvsF,GAIhCzN,KAAKi6F,uBAAuBxsF,IAYpCjM,EAAO8wE,KAAKhwE,UAAU03F,2BAA6B,SAAUvsF,GAGzD,IAAIqU,EAAW9hB,KAAK8hB,SAChBqB,EAAMnjB,KAAKmjB,IAEXxgB,EAASmf,EAASnf,OAAS,EAE/B3C,KAAKme,QAEL,IAAK,IAAIzb,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAChC,CACI,IAAI8F,EAAY,EAAJ9F,EACZ1C,KAAKk6F,0BAA0BzsF,EAASqU,EAAUqB,EAAK3a,EAAQA,EAAQ,EAAKA,EAAQ,KAY5FhH,EAAO8wE,KAAKhwE,UAAU23F,uBAAyB,SAAUxsF,GAErD,IAAIqU,EAAW9hB,KAAK8hB,SAChBqB,EAAMnjB,KAAKmjB,IACX3Q,EAAUxS,KAAKwS,QAEf7P,EAAS6P,EAAQ7P,OAErB3C,KAAKme,QAEL,IAAK,IAAIzb,EAAI,EAAGA,EAAIC,EAAQD,GAAK,EACjC,CACI,IAAIy3F,EAAsB,EAAb3nF,EAAQ9P,GACjBoG,EAA0B,EAAjB0J,EAAQ9P,EAAI,GACrBsG,EAA0B,EAAjBwJ,EAAQ9P,EAAI,GAEzB1C,KAAKk6F,0BAA0BzsF,EAASqU,EAAUqB,EAAKg3E,EAAQrxF,EAAQE,KAY/ExH,EAAO8wE,KAAKhwE,UAAU43F,0BAA4B,SAAUzsF,EAASqU,EAAUqB,EAAKg3E,EAAQrxF,EAAQE,GAEhG,IAAIoxF,EAAgBp6F,KAAKjC,QAAQoI,YAAY6I,OACzCqrF,EAAer6F,KAAKjC,QAAQH,MAC5B08F,EAAgBt6F,KAAKjC,QAAQF,OAE7BimB,EAAKhC,EAASq4E,GACdnvF,EAAK8W,EAAShZ,GACdoC,EAAK4W,EAAS9Y,GACd+a,EAAKjC,EAASq4E,EAAS,GACvBlvF,EAAK6W,EAAShZ,EAAS,GACvBqC,EAAK2W,EAAS9Y,EAAS,GAEvBuxF,EAAKp3E,EAAIg3E,GAAUE,EACnBG,EAAKr3E,EAAIra,GAAUuxF,EACnBI,EAAKt3E,EAAIna,GAAUqxF,EACnBK,EAAKv3E,EAAIg3E,EAAS,GAAKG,EACvBK,EAAKx3E,EAAIra,EAAS,GAAKwxF,EACvBM,EAAKz3E,EAAIna,EAAS,GAAKsxF,EAE3B,GAAIt6F,KAAKo5F,cAAgB,EACzB,CACI,IAAIyB,EAAW76F,KAAKo5F,cAAgBp5F,KAAKuB,eAAe0B,EACpD63F,EAAW96F,KAAKo5F,cAAgBp5F,KAAKuB,eAAe6B,EACpD+0B,GAAWrU,EAAK9Y,EAAKE,GAAM,EAC3BktB,GAAWrU,EAAK9Y,EAAKE,GAAM,EAE3B4vF,EAAQj3E,EAAKqU,EACb6iE,EAAQj3E,EAAKqU,EAEb2vD,EAAOtkF,KAAKS,KAAM62F,EAAQA,EAAUC,EAAQA,GAChDl3E,EAAKqU,EAAW4iE,EAAQhT,GAASA,EAAO8S,GACxC92E,EAAKqU,EAAW4iE,EAAQjT,GAASA,EAAO+S,GAGxCE,EAAQ/vF,EAAKmtB,EAGbptB,EAAKmtB,GAJL4iE,EAAQ/vF,EAAKmtB,IAGb4vD,EAAOtkF,KAAKS,KAAM62F,EAAQA,EAAUC,EAAQA,KACXjT,EAAO8S,GACxC5vF,EAAKmtB,EAAW4iE,EAAQjT,GAASA,EAAO+S,GAGxCE,EAAQ7vF,EAAKitB,EAGbltB,EAAKitB,GAJL4iE,EAAQ7vF,EAAKitB,IAGb4vD,EAAOtkF,KAAKS,KAAM62F,EAAQA,EAAUC,EAAQA,KACXjT,EAAO8S,GACxC1vF,EAAKitB,EAAW4iE,EAAQjT,GAASA,EAAO+S,GAG5CrtF,EAAQqa,OACRra,EAAQ4vE,YAER5vE,EAAQ+vE,OAAO15D,EAAIC,GACnBtW,EAAQgwE,OAAOzyE,EAAIC,GACnBwC,EAAQgwE,OAAOvyE,EAAIC,GAEnBsC,EAAQ8vE,YAER9vE,EAAQ0a,OAGR,IAAI8yE,EAAUV,EAAKI,EAAYD,EAAKD,EAAYD,EAAKI,EAAYD,EAAKF,EAAYC,EAAKF,EAAYD,EAAKK,EACpGM,EAAUp3E,EAAK62E,EAAYD,EAAKxvF,EAAYF,EAAK4vF,EAAYD,EAAKzvF,EAAYwvF,EAAK1vF,EAAY8Y,EAAK82E,EACpGO,EAAUZ,EAAKvvF,EAAY8Y,EAAK22E,EAAYD,EAAKtvF,EAAYF,EAAKyvF,EAAY32E,EAAK02E,EAAYD,EAAKrvF,EACpGkwF,EAAUb,EAAKI,EAAKzvF,EAAOwvF,EAAK1vF,EAAKyvF,EAAO32E,EAAK02E,EAAKI,EAAO92E,EAAK62E,EAAKF,EAAOC,EAAKF,EAAKtvF,EAAOqvF,EAAKvvF,EAAK4vF,EACzGS,EAAUt3E,EAAK42E,EAAYD,EAAKvvF,EAAYF,EAAK2vF,EAAYD,EAAKxvF,EAAYuvF,EAAKzvF,EAAY8Y,EAAK62E,EACpGU,EAAUf,EAAKtvF,EAAY8Y,EAAK02E,EAAYD,EAAKrvF,EAAYF,EAAKwvF,EAAY12E,EAAKy2E,EAAYD,EAAKpvF,EACpGowF,EAAUhB,EAAKI,EAAKxvF,EAAOuvF,EAAKzvF,EAAKwvF,EAAO12E,EAAKy2E,EAAKI,EAAO72E,EAAK42E,EAAKF,EAAOC,EAAKF,EAAKrvF,EAAOovF,EAAKtvF,EAAK2vF,EAE7GntF,EAAQua,UACJkzE,EAASD,EACTI,EAASJ,EACTE,EAASF,EACTK,EAASL,EACTG,EAASH,EACTM,EAASN,GAEbxtF,EAAQmB,UAAUwrF,EAAe,EAAG,GACpC3sF,EAAQ2a,WAUZ5mB,EAAO8wE,KAAKhwE,UAAUk5F,gBAAkB,SAAUC,GAE9C,IAAIhuF,EAAUzN,KAAKyN,QACfqU,EAAW25E,EAAM35E,SAEjBnf,EAASmf,EAASnf,OAAS,EAE/B3C,KAAKme,QAEL1Q,EAAQ4vE,YAER,IAAK,IAAI36E,EAAI,EAAGA,EAAIC,EAAS,EAAGD,IAChC,CAEI,IAAI8F,EAAY,EAAJ9F,EAERohB,EAAKhC,EAAStZ,GACdwC,EAAK8W,EAAStZ,EAAQ,GACtB0C,EAAK4W,EAAStZ,EAAQ,GACtBub,EAAKjC,EAAStZ,EAAQ,GACtByC,EAAK6W,EAAStZ,EAAQ,GACtB2C,EAAK2W,EAAStZ,EAAQ,GAE1BiF,EAAQ+vE,OAAO15D,EAAIC,GACnBtW,EAAQgwE,OAAOzyE,EAAIC,GACnBwC,EAAQgwE,OAAOvyE,EAAIC,GAGvBsC,EAAQ8a,UAAY,UACpB9a,EAAQ83C,OACR93C,EAAQ8vE,aAYZ/7E,EAAO8wE,KAAKhwE,UAAUsH,UAAY,SAAUyD,GAmBxC,IAAK,IAjBD9L,EAAiB8L,GAAUrN,KAAKuB,eAEhC0B,EAAI1B,EAAe0B,EACnBC,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAK9B,EAAe8B,GACpBC,EAAK/B,EAAe+B,GAEpBmH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPuX,EAAW9hB,KAAK8hB,SAEXpf,EAAI,EAAGA,EAAIof,EAASnf,OAAQD,GAAK,EAC1C,CACI,IAAIg5F,EAAO55E,EAASpf,GAChBi5F,EAAO75E,EAASpf,EAAI,GACpBoB,EAAKb,EAAIy4F,EAASv4F,EAAIw4F,EAAQt4F,EAC9BU,EAAKX,EAAIu4F,EAASz4F,EAAIw4F,EAAQp4F,EAElCgH,EAAOxG,EAAIwG,EAAOxG,EAAIwG,EACtBE,EAAOzG,EAAIyG,EAAOzG,EAAIyG,EAEtBC,EAAO3G,EAAI2G,EAAO3G,EAAI2G,EACtBC,EAAO3G,EAAI2G,EAAO3G,EAAI2G,EAG1B,GAAIJ,KAAUC,EAAAA,GAAYG,IAASH,EAAAA,EAE/B,OAAO/L,KAAKijC,eAGhB,IAAI58B,EAAS7E,KAAKgC,QAWlB,OATA6C,EAAOf,EAAIwG,EACXzF,EAAOjH,MAAQ6M,EAAOH,EAEtBzF,EAAOd,EAAIyG,EACX3F,EAAOhH,OAAS6M,EAAOF,EAGvBxK,KAAKkC,eAAiB2C,EAEfA,GAUX+B,OAAOuF,eAAe3K,EAAO8wE,KAAKhwE,UAAW,mBAEzCwE,IAAK,WAED,OAAO9G,KAAK47F,kBAIhB70F,IAAK,SAAUC,GAEPA,GAA0B,mBAAVA,GAEhBhH,KAAKk5F,qBAAsB,EAC3Bl5F,KAAK47F,iBAAmB50F,IAIxBhH,KAAKk5F,qBAAsB,EAC3Bl5F,KAAK47F,iBAAmB,SAapCh1F,OAAOuF,eAAe3K,EAAO8wE,KAAKhwE,UAAW,YAEzCwE,IAAK,WAKD,IAAK,IAFD0B,EAAOwC,EAAIC,EAAIC,EAAIC,EAAIvN,EAAOC,EAAQ68B,EADtCmxD,KAGKnpF,EAAI,EAAGA,EAAI1C,KAAKo+B,OAAOz7B,OAAQD,IAEpC8F,EAAY,EAAJ9F,EAERsI,EAAKhL,KAAK8hB,SAAStZ,GAASxI,KAAKc,MAAMgD,EACvCmH,EAAKjL,KAAK8hB,SAAStZ,EAAQ,GAAKxI,KAAKc,MAAMiD,EAC3CmH,EAAKlL,KAAK8hB,SAAStZ,EAAQ,GAAKxI,KAAKc,MAAMgD,EAC3CqH,EAAKnL,KAAK8hB,SAAStZ,EAAQ,GAAKxI,KAAKc,MAAMiD,EAE3CnG,EAAQ4D,EAAOiC,KAAKo4F,WAAW7wF,EAAIE,GACnCrN,EAAS2D,EAAOiC,KAAKo4F,WAAW5wF,EAAIE,GAEpCH,GAAMhL,KAAKgD,MAAMc,EACjBmH,GAAMjL,KAAKgD,MAAMe,EACjB22B,EAAO,IAAIl5B,EAAOS,UAAU+I,EAAIC,EAAIrN,EAAOC,GAC3CguF,EAASnkF,KAAKgzB,GAGlB,OAAOmxD,KA+DfrqF,EAAO6jD,WAAa,SAAUviD,EAAMgB,EAAGC,EAAGnG,EAAOC,EAAQ+U,EAAK5F,GAE1DlJ,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTnG,EAAQA,GAAS,IACjBC,EAASA,GAAU,IACnB+U,EAAMA,GAAO,KACb5F,EAAQA,GAAS,KAEjBxO,KAAKqH,OAAOtB,KAAKvE,KAAM,IAAIxB,KAAK+N,QAAQ/K,EAAOysC,MAAM3mB,QAAQnhB,aAAcvI,EAAOC,GAMlFmC,KAAKoT,KAAO5R,EAAOkrB,WAMnB1sB,KAAK+xC,YAAcvwC,EAAO6qB,OAM1BrsB,KAAK87F,QAAU,IAAIt6F,EAAOX,MAK1Bb,KAAKykB,UAAY,IAAIjjB,EAAOX,MAAM,EAAG,GAKrCb,KAAKqkB,gBAAkB,IAAI7iB,EAAOX,MAAM,EAAG,GAK3Cb,KAAKokB,aAAe,IAAI5iB,EAAOX,MAQ/Bb,KAAK+7F,cAAe,EAOpB/7F,KAAK6sF,aAAe,KAOpB7sF,KAAKikB,cAAgB,KAOrBjkB,KAAKg8F,YAAc,KAQnBh8F,KAAK0wE,gBAAiB,EAEtB1wE,KAAKi8F,WAAa,EAClBj8F,KAAKk8F,YAAc,EAEnBl8F,KAAKoM,OAASxO,EACdoC,KAAKqM,QAAUxO,EAEf2D,EAAOynE,UAAUiB,KAAK54D,KAAK/M,KAAKvE,KAAM8C,EAAMgB,EAAGC,EAAG6O,EAAK5F,IAI3DxL,EAAO6jD,WAAW/iD,UAAYsE,OAAOwB,OAAO5J,KAAKqH,OAAOvD,WACxDd,EAAO6jD,WAAW/iD,UAAUC,YAAcf,EAAO6jD,WAEjD7jD,EAAOynE,UAAUiB,KAAKE,QAAQ7lE,KAAK/C,EAAO6jD,WAAW/iD,WACjD,QACA,YACA,WACA,SACA,aACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,aAGJd,EAAO6jD,WAAW/iD,UAAUmyE,iBAAmBjzE,EAAOynE,UAAUuB,YAAY/lE,UAC5EjD,EAAO6jD,WAAW/iD,UAAUoyE,kBAAoBlzE,EAAOynE,UAAUqG,SAAS7qE,UAC1EjD,EAAO6jD,WAAW/iD,UAAUqyE,iBAAmBnzE,EAAOynE,UAAU8F,QAAQtqE,UACxEjD,EAAO6jD,WAAW/iD,UAAUsyE,cAAgBpzE,EAAOynE,UAAUiB,KAAKzlE,UASlEjD,EAAO6jD,WAAW/iD,UAAUmC,UAAY,WAYpC,OAVuB,IAAnBzE,KAAK87F,QAAQh4F,IAEb9D,KAAKokB,aAAatgB,GAAK9D,KAAK87F,QAAQh4F,EAAI9D,KAAK8C,KAAKiiC,KAAKo3D,gBAGpC,IAAnBn8F,KAAK87F,QAAQ/3F,IAEb/D,KAAKokB,aAAargB,GAAK/D,KAAK87F,QAAQ/3F,EAAI/D,KAAK8C,KAAKiiC,KAAKo3D,mBAGtDn8F,KAAKy0E,oBAAuBz0E,KAAK00E,qBAAwB10E,KAAK20E,qBAK5D30E,KAAK40E,iBAgBhBpzE,EAAO6jD,WAAW/iD,UAAU85F,WAAa,SAAUt4F,EAAGC,GAIlD,OAFA/D,KAAK87F,QAAQ/0F,IAAIjD,EAAGC,GAEb/D,MAWXwB,EAAO6jD,WAAW/iD,UAAU+5F,WAAa,WAIrC,OAFAr8F,KAAK87F,QAAQ/0F,IAAI,EAAG,GAEb/G,MAYXwB,EAAO6jD,WAAW/iD,UAAUE,QAAU,SAAUu3C,GAE5Cv4C,EAAOynE,UAAU6C,QAAQxpE,UAAUE,QAAQ+B,KAAKvE,KAAM+5C,GAEtDv7C,KAAKqH,OAAOvD,UAAUE,QAAQ+B,KAAKvE,MAE/BA,KAAK6sF,eAEL7sF,KAAK6sF,aAAarqF,UAClBxC,KAAK6sF,aAAe,MAGxB7sF,KAAKykB,UAAY,KACjBzkB,KAAKqkB,gBAAkB,KACvBrkB,KAAKokB,aAAe,KAEhBpkB,KAAKikB,gBAELjkB,KAAKikB,cAAczhB,SAAQ,GAC3BxC,KAAKikB,cAAgB,OAgB7BziB,EAAO6jD,WAAW/iD,UAAUsjC,MAAQ,SAAU9hC,EAAGC,GAO7C,OALAvC,EAAOynE,UAAU8H,MAAMzuE,UAAUsjC,MAAMrhC,KAAKvE,KAAM8D,EAAGC,GAErD/D,KAAKokB,aAAatgB,EAAI,EACtB9D,KAAKokB,aAAargB,EAAI,EAEf/D,MAaXwB,EAAO6jD,WAAW/iD,UAAU2K,WAAa,SAAUlP,GAS/C,OAPIiC,KAAKjC,UAAYA,IAEjBiC,KAAKjC,QAAUA,EACfiC,KAAK0wE,gBAAiB,EACtB1wE,KAAK0M,WAAa,UAGf1M,MAYXwB,EAAO6jD,WAAW/iD,UAAUwD,aAAe,SAAUH,GAEjD,GAAK3F,KAAKkB,SAAYlB,KAAKoB,YAA6B,IAAfpB,KAAKiB,MAA9C,CAkBA,GAbIjB,KAAKmC,QAELwD,EAAc8F,YAAYI,OAC1BlG,EAAcmG,YAAYC,SAAS/L,KAAKmH,KAAMxB,GAC9CA,EAAc8F,YAAYO,SAG1BhM,KAAKwG,WAELb,EAAc8F,YAAYC,QAC1B/F,EAAcgG,cAAcC,WAAW5L,KAAK2H,eAG5C3H,KAAK0wE,eACT,CAGI,GAFA1wE,KAAKs8F,uBAAsB,EAAM32F,IAE7B3F,KAAKikB,cAWL,OATIjkB,KAAKikB,cAAcs4E,cAEnBv8F,KAAKikB,cAAc9d,YAAYE,aAAerG,KAAKjC,QAAQoI,YAAYE,aACvEV,EAAcf,SAASwQ,cAAcpV,KAAKikB,cAAc9d,aACxDnG,KAAKikB,cAAcs4E,aAAc,GAS7C52F,EAAc8F,YAAYuY,mBAAmBhkB,MAE7C,IAAK,IAAI0C,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGoD,aAAaH,GAGlC,IAAI62F,GAAe,EAEfx8F,KAAKwG,WAELg2F,GAAe,EACf72F,EAAc8F,YAAYI,OAC1BlG,EAAcgG,cAAcO,aAG5BlM,KAAKmC,QAEAq6F,GAED72F,EAAc8F,YAAYI,OAG9BlG,EAAcmG,YAAYG,QAAQjM,KAAKmC,MAAOwD,IAG9C62F,GAEA72F,EAAc8F,YAAYO,UAalCxK,EAAO6jD,WAAW/iD,UAAUyD,cAAgB,SAAUJ,GAElD,GAAK3F,KAAKkB,SAAYlB,KAAKoB,YAA6B,IAAfpB,KAAKiB,MAA9C,CAKA,IAAIwM,EAAU9H,EAAc8H,QAExBzN,KAAKmC,OAELwD,EAAcmG,YAAYC,SAAS/L,KAAKmC,MAAOwD,GAGnD8H,EAAQG,YAAc5N,KAAKsB,WAE3B,IAAIkC,EAAKxD,KAAKuB,eACVoD,EAAagB,EAAchB,WAC3BtB,EAAMG,EAAGH,GAAKsB,EAAcgB,EAAcsI,OAC1C3K,EAAME,EAAGF,GAAKqB,EAAcgB,EAAcuI,OAa9C,GAXAT,EAAQe,aAAahL,EAAGP,EAAI0B,EAAYnB,EAAGN,EAAIyB,EAAYnB,EAAGL,EAAIwB,EAAYnB,EAAGJ,EAAIuB,EAAYtB,EAAIC,GAEnF,WAAdtD,KAAKyM,OAAsBzM,KAAKjC,QAAQ0Q,gBAAkBzO,KAAK0M,aAAe1M,KAAKyM,OAEnFzM,KAAK2M,cAAgBnO,KAAKkQ,aAAaC,iBAAiB3O,KAAMA,KAAKyM,MAEnEzM,KAAK0M,WAAa1M,KAAKyM,KACvBzM,KAAKjC,QAAQ0Q,gBAAiB,EAC9BzO,KAAK0wE,gBAAiB,GAGtB1wE,KAAK0wE,eACT,CAGI,GAFA1wE,KAAKs8F,uBAAsB,EAAO32F,IAE9B3F,KAAKikB,cAML,OAJAjkB,KAAKg8F,YAAcvuF,EAAQswE,cAAc/9E,KAAKikB,cAAc9d,YAAY6I,OAAQ,UAQxF,IAAIytF,EAAmB92F,EAAc6H,iBAGjCxN,KAAK6H,YAAclC,EAAc6H,mBAEjC7H,EAAc6H,iBAAmBxN,KAAK6H,UACtC4F,EAAQC,yBAA2BlP,KAAKmP,iBAAiBhI,EAAc6H,mBAG3E,IAAI4W,EAAepkB,KAAKokB,aACpBK,EAAYzkB,KAAKykB,UAErBL,EAAatgB,GAAK9D,KAAKikB,cAAc9d,YAAYvI,MACjDwmB,EAAargB,GAAK/D,KAAKikB,cAAc9d,YAAYtI,OAGjD4P,EAAQ3M,MAAM2jB,EAAU3gB,EAAG2gB,EAAU1gB,GACrC0J,EAAQkuB,UAAUvX,EAAatgB,EAAK9D,KAAK0G,OAAO5C,GAAK9D,KAAKoM,OAASgY,EAAargB,EAAK/D,KAAK0G,OAAO3C,GAAK/D,KAAKqM,SAE3GoB,EAAQ8a,UAAYvoB,KAAKg8F,YAEzB34F,GAAM+gB,EAAatgB,EACnBR,GAAM8gB,EAAargB,EAEnB,IAAIgnB,EAAK/qB,KAAKoM,OAASqY,EAAU3gB,EAC7BknB,EAAKhrB,KAAKqM,QAAUoY,EAAU1gB,EAG9B4B,EAAc4I,cAEdlL,GAAM,EACNC,GAAM,EACNynB,GAAM,EACNC,GAAM,GAGVvd,EAAQib,SAASrlB,EAAIC,EAAIynB,EAAIC,GAG7Bvd,EAAQ3M,MAAM,EAAI2jB,EAAU3gB,EAAG,EAAI2gB,EAAU1gB,GAC7C0J,EAAQkuB,WAAWvX,EAAatgB,EAAK9D,KAAK0G,OAAO5C,EAAI9D,KAAKoM,QAAUgY,EAAargB,EAAK/D,KAAK0G,OAAO3C,EAAI/D,KAAKqM,SAEvGrM,KAAKmC,OAELwD,EAAcmG,YAAYG,QAAQtG,GAGtC,IAAK,IAAIjD,EAAI,EAAGA,EAAI1C,KAAKyC,SAASE,OAAQD,IAEtC1C,KAAKyC,SAASC,GAAGqD,cAAcJ,GAI/B82F,IAAqBz8F,KAAK6H,YAE1BlC,EAAc6H,iBAAmBivF,EACjChvF,EAAQC,yBAA2BlP,KAAKmP,iBAAiB8uF,MAYjEj7F,EAAO6jD,WAAW/iD,UAAUyK,gBAAkB,aAa9CvL,EAAO6jD,WAAW/iD,UAAUg6F,sBAAwB,SAAUI,GAE1D,GAAK18F,KAAKjC,QAAQoI,YAAY2G,UAA9B,CAKA,IAAI/O,EAAUiC,KAAKjC,QACfiP,EAAQjP,EAAQiP,MAEhB2vF,EAAc38F,KAAK4rE,OAAO4E,aAAexwE,KAAK4rE,OAAOhuE,MACrDg/F,EAAe58F,KAAK4rE,OAAO6E,aAAezwE,KAAK4rE,OAAO/tE,OAEtDiQ,EAAK,EACLE,EAAK,EAELhO,KAAK4rE,OAAOyE,UAEZviE,EAAK9N,KAAK4rE,OAAO0E,kBACjBtiE,EAAKhO,KAAK4rE,OAAO2E,mBAGjBmsB,IAEAC,EAAcn7F,EAAOiC,KAAKo5F,kBAAkBF,GAC5CC,EAAep7F,EAAOiC,KAAKo5F,kBAAkBD,IAG7C58F,KAAK6sF,cAEL7sF,KAAK6sF,aAAa3mF,OAAOy2F,EAAaC,GACtC58F,KAAKikB,cAAc9d,YAAYvI,MAAQ++F,EACvC38F,KAAKikB,cAAc9d,YAAYtI,OAAS++F,EACxC58F,KAAKikB,cAAcs4E,aAAc,IAIjCv8F,KAAK6sF,aAAe,IAAIruF,KAAKmpB,aAAag1E,EAAaC,GACvD58F,KAAKikB,cAAgBzlB,KAAK+N,QAAQge,WAAWvqB,KAAK6sF,aAAah2E,QAC/D7W,KAAKikB,cAAcyG,UAAW,EAC9B1qB,KAAKikB,cAAcs4E,aAAc,GAGjCv8F,KAAK+7F,eAEL/7F,KAAK6sF,aAAap/E,QAAQkwE,YAAc,UACxC39E,KAAK6sF,aAAap/E,QAAQg7E,WAAW,EAAG,EAAGkU,EAAaC,IAI5D,IAAI3nF,EAAIlX,EAAQwP,KAAK3P,MACjBumB,EAAIpmB,EAAQwP,KAAK1P,OAEjBoX,IAAM0nF,GAAex4E,IAAMy4E,IAE3B3nF,EAAI0nF,EACJx4E,EAAIy4E,GAGR,IAAIn8F,EAAgBT,KAAK2M,cAAgB3M,KAAK2M,cAAgB5O,EAAQoI,YAAY6I,OAElFhP,KAAK6sF,aAAap/E,QAAQmB,UACtBnO,EACA1C,EAAQwP,KAAKzJ,EACb/F,EAAQwP,KAAKxJ,EACbhG,EAAQwP,KAAK3P,MACbG,EAAQwP,KAAK1P,OACbiQ,EACAE,EACAiH,EACAkP,GAGJnkB,KAAKqkB,gBAAgBvgB,EAAIkJ,EAAMpP,MAAQ++F,EACvC38F,KAAKqkB,gBAAgBtgB,EAAIiJ,EAAMnP,OAAS++F,EAExC58F,KAAK0wE,gBAAiB,EAEtB1wE,KAAKikB,cAAc9d,YAAYwV,WAAY,IAW/Cna,EAAO6jD,WAAW/iD,UAAUsH,UAAY,WAEpC,IAAIhM,EAAQoC,KAAKoM,OACbvO,EAASmC,KAAKqM,QAEdzB,EAAKhN,GAAS,EAAIoC,KAAK0G,OAAO5C,GAC9B+G,EAAKjN,GAASoC,KAAK0G,OAAO5C,EAE1BgH,EAAKjN,GAAU,EAAImC,KAAK0G,OAAO3C,GAC/BgH,EAAKlN,GAAUmC,KAAK0G,OAAO3C,EAE3BxC,EAAiBvB,KAAKuB,eAEtB0B,EAAI1B,EAAe0B,EACnBC,EAAI3B,EAAe2B,EACnBC,EAAI5B,EAAe4B,EACnBC,EAAI7B,EAAe6B,EACnBC,EAAK9B,EAAe8B,GACpBC,EAAK/B,EAAe+B,GAEpB0H,EAAM/H,EAAI4H,EAAO1H,EAAI4H,EAAM1H,EAC3B4H,EAAM7H,EAAI2H,EAAO7H,EAAI2H,EAAMvH,EAE3B4H,EAAMjI,EAAI2H,EAAOzH,EAAI4H,EAAM1H,EAC3B8H,EAAM/H,EAAI2H,EAAO7H,EAAI0H,EAAMtH,EAE3B8H,EAAMnI,EAAI2H,EAAOzH,EAAI2H,EAAMzH,EAC3BgI,EAAMjI,EAAI0H,EAAO5H,EAAI0H,EAAMtH,EAE3BgI,EAAMrI,EAAI4H,EAAK1H,EAAI2H,EAAKzH,EACxBkI,EAAMnI,EAAI0H,EAAK5H,EAAI2H,EAAKvH,EAExBmH,GAAQF,EAAAA,EACRG,GAAQH,EAAAA,EAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAKXD,EAAOgB,GADPhB,EAAOc,GADPd,EAAOY,GADPZ,EAAOU,EAAKV,EAAOU,EAAKV,GACLY,EAAKZ,GACLc,EAAKd,GACLgB,EAAKhB,EAKxBE,EAAOe,GADPf,EAAOa,GADPb,EAAOW,GADPX,EAAOS,EAAKT,EAAOS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,GACLe,EAAKf,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAKxBC,EAAOa,GADPb,EAAOW,GADPX,EAAOS,GADPT,EAAOO,EAAKP,EAAOO,EAAKP,GACLS,EAAKT,GACLW,EAAKX,GACLa,EAAKb,EAGxB,IAAI7F,EAAS7E,KAAKgC,QAWlB,OATA6C,EAAOf,EAAIwG,EACXzF,EAAOjH,MAAQ6M,EAAOH,EAEtBzF,EAAOd,EAAIyG,EACX3F,EAAOhH,OAAS6M,EAAOF,EAGvBxK,KAAKkC,eAAiB2C,EAEfA,GAUX+B,OAAOuF,eAAe3K,EAAO6jD,WAAW/iD,UAAW,SAE/CwE,IAAK,WAED,OAAO9G,KAAKoM,QAIhBrF,IAAK,SAAUC,GAEXhH,KAAKoM,OAASpF,KAYtBJ,OAAOuF,eAAe3K,EAAO6jD,WAAW/iD,UAAW,UAE/CwE,IAAK,WAED,OAAO9G,KAAKqM,SAIhBtF,IAAK,SAAUC,GAEXhH,KAAKqM,QAAUrF,KAkBvBxF,EAAOsa,YAYH1T,OAAQ,SAAU/G,EAAQzD,EAAOC,GAE7B,IACIgZ,EADAm9E,EAAMxyF,EAAOsa,WAAWq8B,WAG5B,IAAa,IAAT67C,EACJ,CACI,IAAIjqB,GACA1oE,OAAQA,EACRwV,OAAQ84B,SAAS0kD,cAAc,WAGnC7yF,EAAOsa,WAAWghF,KAAKp1F,KAAKqiE,GAE5BlzD,EAASkzD,EAAUlzD,YAInBrV,EAAOsa,WAAWghF,KAAK9I,GAAK3yF,OAASA,EAErCwV,EAASrV,EAAOsa,WAAWghF,KAAK9I,GAAKn9E,OASzC,YANcvQ,IAAV1I,IAEAiZ,EAAOjZ,MAAQA,EACfiZ,EAAOhZ,OAASA,GAGbgZ,GAWXshC,SAAU,WAIN,IAAK,IAFD2kD,EAAOt7F,EAAOsa,WAAWghF,KAEpBp6F,EAAI,EAAGA,EAAIo6F,EAAKn6F,OAAQD,IAE7B,IAAKo6F,EAAKp6F,GAAGrB,OAET,OAAOqB,EAIf,OAAQ,GAYZqZ,OAAQ,SAAU1a,GAId,IAAK,IAFDy7F,EAAOt7F,EAAOsa,WAAWghF,KAEpBp6F,EAAI,EAAGA,EAAIo6F,EAAKn6F,OAAQD,IAEzBo6F,EAAKp6F,GAAGrB,SAAWA,IAEnBy7F,EAAKp6F,GAAGrB,OAAS,KACjBy7F,EAAKp6F,GAAGmU,OAAOjZ,MAAQ,EACvBk/F,EAAKp6F,GAAGmU,OAAOhZ,OAAS,IAcpCusB,eAAgB,SAAUvT,GAItB,IAAK,IAFDimF,EAAOt7F,EAAOsa,WAAWghF,KAEpBp6F,EAAI,EAAGA,EAAIo6F,EAAKn6F,OAAQD,IAEzBo6F,EAAKp6F,GAAGmU,SAAWA,IAEnBimF,EAAKp6F,GAAGrB,OAAS,KACjBy7F,EAAKp6F,GAAGmU,OAAOjZ,MAAQ,EACvBk/F,EAAKp6F,GAAGmU,OAAOhZ,OAAS,IAapCk/F,SAAU,WAKN,IAAK,IAHDD,EAAOt7F,EAAOsa,WAAWghF,KACzB35F,EAAI,EAECT,EAAI,EAAGA,EAAIo6F,EAAKn6F,OAAQD,IAEzBo6F,EAAKp6F,GAAGrB,QAER8B,IAIR,OAAOA,GAWX65F,QAAS,WAKL,IAAK,IAHDF,EAAOt7F,EAAOsa,WAAWghF,KACzB35F,EAAI,EAECT,EAAI,EAAGA,EAAIo6F,EAAKn6F,OAAQD,IAExBo6F,EAAKp6F,GAAGrB,QAET8B,IAIR,OAAOA,GAWX8M,IAAK,WAED3P,QAAQ2P,IAAI,yCAA0CjQ,KAAK+8F,WAAY/8F,KAAKg9F,UAAWh9F,KAAK88F,KAAKn6F,UAazGnB,EAAOsa,WAAWghF,QAWlBl2F,OAAOuF,eAAe3K,EAAOsa,WAAY,UACrChV,IAAK,WACD,OAAO9G,KAAK88F,KAAKn6F,UA4CzBnB,EAAOs5C,OAAS,WAOZ96C,KAAKi9F,cAAgB,EAOrBj9F,KAAKk9F,aAAc,EAQnBl9F,KAAKm9F,SAAU,EAMfn9F,KAAKy/C,KAAM,EAMXz/C,KAAKo9F,WAAa,EAMlBp9F,KAAKm+C,UAAW,EAMhBn+C,KAAKywC,aAAc,EAMnBzwC,KAAKw/C,SAAU,EAMfx/C,KAAKq9F,MAAO,EAMZr9F,KAAKs9F,YAAa,EAMlBt9F,KAAKu9F,UAAW,EAMhBv9F,KAAKw9F,QAAS,EAMdx9F,KAAKy9F,WAAY,EAMjBz9F,KAAKonD,SAAU,EAMfpnD,KAAK09F,UAAW,EAMhB19F,KAAK29F,OAAQ,EAMb39F,KAAK49F,OAAQ,EAMb59F,KAAK69F,SAAU,EAMf79F,KAAK89F,cAAe,EAQpB99F,KAAK6W,QAAS,EAMd7W,KAAK+9F,kBAAoB,KAOzB/9F,KAAKgpB,gBAAiB,EAUtBhpB,KAAK8pB,gBAAiB,EAMtB9pB,KAAKg+C,OAAQ,EAMbh+C,KAAKg+F,MAAO,EAMZh+F,KAAKi+F,YAAa,EAMlBj+F,KAAKk+F,cAAe,EAMpBl+F,KAAKm+F,QAAS,EAMdn+F,KAAKo+F,OAAQ,EAMbp+F,KAAKomD,aAAc,EAMnBpmD,KAAKq+F,YAAa,EAMlBr+F,KAAKs+F,WAAY,EAMjBt+F,KAAKu+F,cAAe,EAMpBv+F,KAAKw+F,YAAa,EAQlBx+F,KAAK8hD,OAAQ,EAMb9hD,KAAK+hD,WAAY,EAOjB/hD,KAAKgoD,WAAa,KAQlBhoD,KAAKy+F,OAAQ,EAMbz+F,KAAKqnD,QAAS,EAMdrnD,KAAK0+F,cAAgB,EAMrB1+F,KAAK2+F,UAAW,EAMhB3+F,KAAK4+F,SAAU,EAMf5+F,KAAK6+F,eAAiB,EAMtB7+F,KAAK89C,IAAK,EAMV99C,KAAK8+F,UAAY,EAMjB9+F,KAAK++F,SAAU,EAMf/+F,KAAKg/F,eAAiB,EAMtBh/F,KAAKq7B,MAAO,EAMZr7B,KAAKi/F,cAAe,EAMpBj/F,KAAKk/F,QAAS,EAMdl/F,KAAKm/F,OAAQ,EAMbn/F,KAAKo/F,QAAS,EAMdp/F,KAAKq/F,cAAgB,EAMrBr/F,KAAKs/F,QAAS,EAMdt/F,KAAKu/F,MAAO,EAQZv/F,KAAKw/F,WAAY,EAMjBx/F,KAAK69C,UAAW,EAMhB79C,KAAKy/F,KAAM,EAMXz/F,KAAK0/F,MAAO,EAMZ1/F,KAAK2/F,KAAM,EAMX3/F,KAAK4/F,KAAM,EAOX5/F,KAAK6/F,KAAM,EAMX7/F,KAAK8/F,MAAO,EAMZ9/F,KAAK+/F,OAAQ,EAQb//F,KAAKggG,UAAW,EAMhBhgG,KAAKigG,WAAY,EAMjBjgG,KAAKkgG,UAAW,EAMhBlgG,KAAKmgG,WAAY,EAMjBngG,KAAKogG,UAAW,EAMhBpgG,KAAKqgG,UAAW,EAQhBrgG,KAAKsgG,QAAS,EAMdtgG,KAAKugG,SAAU,EAMfvgG,KAAKwgG,MAAO,EAQZxgG,KAAKygG,WAAa,EAMlBzgG,KAAK0gG,cAAe,EAMpB1gG,KAAKm7E,eAAgB,EAMrBn7E,KAAK2gG,cAAe,EAMpB3gG,KAAK4gG,YAAa,EAMlB5gG,KAAK6gG,kBAAoB,GAMzB7gG,KAAK8gG,iBAAmB,GAMxB9gG,KAAK+gG,oBAAqB,GAM9Bv/F,EAAOs5C,OAAS,IAAIt5C,EAAOs5C,OAc3Bt5C,EAAOs5C,OAAOkmD,cAAgB,IAAIx/F,EAAO0gC,OAgBzC1gC,EAAOs5C,OAAOuB,UAAY,SAAUlI,EAAU1mC,EAASwzF,GAEnD,IAAIC,EAAalhG,KAAKmhG,YAEtB,GAAInhG,KAAKi9F,gBAAkBiE,EAEvB/sD,EAAS5vC,KAAKkJ,EAASzN,WAEtB,GAAIkhG,EAAWE,UAAYH,EAE5BC,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAO35F,MAAMysC,EAAU1mC,QAGtC,CACIyzF,EAAWE,SAAWF,EAAWpxE,KAAK9vB,MACtCkhG,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAO35F,MAAMysC,EAAU1mC,IAElC,IAAI+xC,OAAoC,IAAnBxvC,OAAOwvC,QACxBrB,EAAW50B,UAAsB,WAET,aAAxBomB,SAAS2xD,YAAqD,gBAAxB3xD,SAAS2xD,WAG/CtxF,OAAOuxF,WAAWL,EAAWE,SAAU,GAElC5hD,IAAYrB,EAIjBxO,SAASS,iBAAiB,cAAe8wD,EAAWE,UAAU,IAI9DzxD,SAASS,iBAAiB,mBAAoB8wD,EAAWE,UAAU,GACnEpxF,OAAOogC,iBAAiB,OAAQ8wD,EAAWE,UAAU,MAajE5/F,EAAOs5C,OAAOqmD,YAAc,WAExB,IAAID,EAAalhG,KAAKmhG,YAEtB,GAAKxxD,SAAS2B,MAIT,IAAKtxC,KAAKi9F,cACf,CACIj9F,KAAKi9F,cAAgBrwD,KAAKwP,MAE1BzM,SAASyB,oBAAoB,cAAe8vD,EAAWE,UACvDzxD,SAASyB,oBAAoB,mBAAoB8vD,EAAWE,UAC5DpxF,OAAOohC,oBAAoB,OAAQ8vD,EAAWE,UAE9CphG,KAAKwhG,cACLxhG,KAAKk9F,aAAc,EAEnBl9F,KAAKghG,cAAc/7D,SAASjlC,MAG5B,IADA,IAAIkH,EACIA,EAAOg6F,EAAWG,OAAOjzC,SACjC,CACI,IAAIja,EAAWjtC,EAAK,GAChBuG,EAAUvG,EAAK,GACnBitC,EAAS5vC,KAAKkJ,EAASzN,MAI3BA,KAAKmhG,YAAc,KACnBnhG,KAAKwhG,YAAc,KACnBxhG,KAAKghG,cAAgB,WA1BrBhxF,OAAOuxF,WAAWL,EAAWE,SAAU,KAsC/C5/F,EAAOs5C,OAAO0mD,YAAc,WAwfxB,SAASC,IAEL,IAAIx+F,EAAI,IAAI8e,YAAY,GACpB7e,EAAI,IAAIyqF,WAAW1qF,GACnBE,EAAI,IAAIgf,YAAYlf,GAOxB,OALAC,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IAEM,aAATC,EAAE,IAKO,aAATA,EAAE,IAOK,KAUf,SAASu+F,IAEL,QAA0Bp7F,IAAtBq7F,kBAEA,OAAO,EAGX,IACI3pB,EADOx2E,EAAOsa,WAAW1T,OAAOpI,KAAM,EAAG,GAC9BmY,WAAW,MAE1B,IAAK6/D,EAED,OAAO,EAGX,IAAIn+D,EAAQm+D,EAAI4pB,gBAAgB,EAAG,GAInC,OAFApgG,EAAOsa,WAAWC,OAAO/b,MAElB6Z,EAAM7F,gBAAgB2tF,kBA1iBjC,IAAI93E,EAAS7pB,MAKb,WAEI,IAAIw6B,EAAKjR,UAAUkvC,UAEf,mBAAmB88B,KAAK/6D,GAExB3Q,EAAOg4E,MAAO,EAET,SAAStM,KAAK/6D,IAAO,kBAAkB+6D,KAAK/6D,IAAO,sBAAsB+6D,KAAK/6D,GAEnF3Q,EAAOi4E,QAAS,EAIX,UAAUvM,KAAK/6D,GAEpB3Q,EAAOu9B,SAAU,EAEZ,OAAOmuC,KAAK/6D,GAEjB3Q,EAAO6zE,UAAW,EAEb,kBAAkBnI,KAAK/6D,IAE5B3Q,EAAO41B,KAAM,EACZl2B,UAAoB,WAAEy/C,MAAM,YAC7Bn/C,EAAOuzE,WAAapqE,SAAS+uE,OAAOC,GAAI,KAEnC,QAAQzM,KAAK/6D,GAElB3Q,EAAO8zE,OAAQ,EAEV,SAASpI,KAAK/6D,GAEnB3Q,EAAO+zE,OAAQ,EAEV,UAAUrI,KAAK/6D,KAEpB3Q,EAAOg0E,SAAU,IAGjB,iBAAiBtI,KAAK/6D,IAAO,YAAY+6D,KAAK/6D,MAE9C3Q,EAAOu9B,SAAU,EACjBv9B,EAAO41B,KAAM,EACb51B,EAAO+zE,OAAQ,EACf/zE,EAAOg0E,SAAU,EACjBh0E,EAAOi0E,cAAe,GAG1B,IAAIyB,EAAO,OAAOhK,KAAK/6D,IAEnB3Q,EAAOg0E,SAAWh0E,EAAO+zE,OAAU/zE,EAAO8zE,QAAU4B,GAAS11E,EAAO6zE,YAEpE7zE,EAAOszE,SAAU,IAIjBtzE,EAAOi0E,cAAkB,cAAcvI,KAAK/6D,IAAS,SAAS+6D,KAAK/6D,MAEnE3Q,EAAOszE,SAAU,GAkjBzB8E,GAxWA,WAEI,IAAIznE,EAAKjR,UAAUkvC,UA4FnB,GA1FI,QAAQ88B,KAAK/6D,GAEb3Q,EAAO40E,OAAQ,EAEV,YAAYlJ,KAAK/6D,GAEtB3Q,EAAOwR,MAAO,EAET,gBAAgBk6D,KAAK/6D,KAAQ3Q,EAAOi0E,cAEzCj0E,EAAOw9B,QAAS,EAChBx9B,EAAO60E,cAAgB1rE,SAAS+uE,OAAOC,GAAI,KAEtC,WAAWzM,KAAK/6D,GAErB3Q,EAAO80E,UAAW,EAEb,kBAAkBpJ,KAAK/6D,IAE5B3Q,EAAO+0E,SAAU,EACjB/0E,EAAOg1E,eAAiB7rE,SAAS+uE,OAAOC,GAAI,KAEvC,cAAczM,KAAK/6D,IAAO3Q,EAAO41B,IAEtC51B,EAAOo1E,cAAe,EAEjB,mBAAmB1J,KAAK/6D,IAE7B3Q,EAAOi0B,IAAK,EACZj0B,EAAOi1E,UAAY9rE,SAAS+uE,OAAOC,GAAI,KAElC,SAASzM,KAAK/6D,GAEnB3Q,EAAOq1E,QAAS,EAEX,QAAQ3J,KAAK/6D,GAElB3Q,EAAOs1E,OAAQ,EAEV,gBAAgB5J,KAAK/6D,KAAQ3Q,EAAOi0E,cAEzCj0E,EAAOu1E,QAAS,EAEZ,mBAAmB7J,KAAK/6D,KAExB3Q,EAAOw1E,cAAgBrsE,SAAS+uE,OAAOC,GAAI,MAG1C,uCAAuCzM,KAAK/6D,KAEjD3Q,EAAOi0B,IAAK,EACZj0B,EAAOk1E,SAAU,EACjBl1E,EAAOm1E,eAAiBhsE,SAAS+uE,OAAOC,GAAI,IAC5Cn4E,EAAOi1E,UAAY9rE,SAAS+uE,OAAOG,GAAI,KAIvC,OAAO3M,KAAK/6D,KAEZ3Q,EAAO01E,MAAO,GAIdh2E,UAAsB,aAEtBM,EAAOy1E,QAAS,QAGU,IAAnBtvF,OAAOwvC,UAEd31B,EAAO21B,SAAU,GAGE,oBAAZ2iD,SAA8C,oBAAZC,UAEzCv4E,EAAOwzE,MAAO,GAGdxzE,EAAOwzE,MAAoC,iBAArB8E,QAAQE,WAE9Bx4E,EAAOyzE,aAAe6E,QAAQE,SAAS,eAEvCx4E,EAAO0zE,WAAa4E,QAAQE,SAAS9E,UAGrCh0E,UAAsB,aAEtBM,EAAOs0B,UAAW,GAGlBt0B,EAAOs0B,SAEP,IACIt0B,EAAO4mB,YAAmC,oBAAbC,SAEjC,MAAMnwC,GAEFspB,EAAO4mB,aAAc,OAIA,IAAlBzgC,OAAOwtF,SAEd3zE,EAAO2zE,QAAS,GAGhB,YAAYjI,KAAK/6D,KAEjB3Q,EAAO4zE,WAAY,GAyP3B6E,GAxMA,WAEIz4E,EAAO21E,YAAexvF,OAAe,MACrC6Z,EAAOg0B,YAAc7tC,OAAqB,eAAKA,OAA2B,oBAC1E,IAAIuyF,EAAe5yD,SAAS0kD,cAAc,SAG1C,IACI,GAAekO,EAAaC,cAEpBD,EAAaC,YAAY,8BAA8BruE,QAAQ,OAAQ,MAEvEtK,EAAO41E,KAAM,IAGb8C,EAAaC,YAAY,4BAA4BruE,QAAQ,OAAQ,KAAOouE,EAAaC,YAAY,eAAeruE,QAAQ,OAAQ,OAEpItK,EAAO61E,MAAO,GAGd6C,EAAaC,YAAY,eAAeruE,QAAQ,OAAQ,MAExDtK,EAAO81E,KAAM,GAMb4C,EAAaC,YAAY,yBAAyBruE,QAAQ,OAAQ,MAElEtK,EAAO+1E,KAAM,IAGb2C,EAAaC,YAAY,iBAAmBD,EAAaC,YAAY,cAAcruE,QAAQ,OAAQ,OAEnGtK,EAAOg2E,KAAM,GAGb0C,EAAaC,YAAY,+BAA+BruE,QAAQ,OAAQ,MAExEtK,EAAOi2E,MAAO,GAG0C,KAAxDyC,EAAaC,YAAY,4BAEzB,GAAI34E,EAAOwR,KAEPxR,EAAOk2E,OAAQ,OAEd,GAAIl2E,EAAOu1E,QAAUv1E,EAAOw1E,eAAiB,GAE1C,uBAAuB9J,KAAKhsE,UAAUkvC,WAC1C,CACI,IAAIgqC,EAAQzvE,SAAS+uE,OAAOC,GAAI,IAC5BU,EAAQ1vE,SAAS+uE,OAAOY,GAAI,KAEjB,KAAVF,GAAgBC,GAAS,IAAOD,EAAQ,MAEzC54E,EAAOk2E,OAAQ,IAMrC,MAAOzxF,KAyIbs0F,GAlPA,WAEI,IAAIC,EAAelzD,SAAS0kD,cAAc,SAG1C,MACmBwO,EAAaL,cAEpBK,EAAaL,YAAY,8BAA8BruE,QAAQ,OAAQ,MAEvEtK,EAAOm2E,UAAW,GAGlB6C,EAAaL,YAAY,mCAAmCruE,QAAQ,OAAQ,MAG5EtK,EAAOo2E,WAAY,EACnBp2E,EAAOq2E,UAAW,GAGlB2C,EAAaL,YAAY,oCAAoCruE,QAAQ,OAAQ,MAE7EtK,EAAOs2E,WAAY,GAGnB0C,EAAaL,YAAY,4BAA4BruE,QAAQ,OAAQ,MAErEtK,EAAOu2E,UAAW,GAGlByC,EAAaL,YAAY,+CAA+CruE,QAAQ,OAAQ,MAExFtK,EAAOw2E,UAAW,IAG5B,MAAO/xF,KAgNbw0F,GAjCA,WAEI,IACIC,EADAC,EAAKrzD,SAAS0kD,cAAc,KAE5B4O,GACAC,gBAAmB,oBACnBC,WAAc,eACdC,YAAe,gBACfC,aAAgB,iBAChBr7E,UAAa,aAIjB2nB,SAAS2B,KAAKgyD,aAAaN,EAAI,MAE/B,IAAK,IAAIpyE,KAAKqyE,OAEU38F,IAAhB08F,EAAG/nF,MAAM2V,KAEToyE,EAAG/nF,MAAM2V,GAAK,2BACdmyE,EAAQ/yF,OAAOuzF,iBAAiBP,GAAIQ,iBAAiBP,EAAWryE,KAIxE+e,SAAS2B,KAAK7oC,YAAYu6F,GAC1Bn5E,EAAOu0E,WAAmB93F,IAAVy8F,GAAuBA,EAAMpgG,OAAS,GAAe,SAAVogG,EAS/DU,GApEI55E,EAAO42E,WAAazwF,OAAyB,kBAAK,EAClD6Z,EAAOy2E,QAAkE,IAAzD/2E,UAAUkvC,UAAU1K,cAAc9kD,QAAQ,UAC1D4gB,EAAO02E,QAAiC,IAAtB12E,EAAO42E,YAAoB52E,EAAOy2E,OACpDz2E,EAAO22E,MAA8D,IAAvDj3E,UAAUkvC,UAAU1K,cAAc9kD,QAAQ,QAE/B,oBAAdy6F,UAEP75E,EAAOw0E,YAAa,EAIpBx0E,EAAOw0E,YAAa,EAGG,oBAAhBt8E,aAAqD,oBAAf4rE,YAAqD,oBAAhBxrE,cAElF0H,EAAO62E,aAAee,IACtB53E,EAAOsxD,cAAgBtxD,EAAO62E,cAGlC72E,EAAO82E,aAAuC,oBAAhB5+E,aAA4D,oBAAtB4/E,mBAA2D,oBAAfgC,YAAsD,OAAxB95E,EAAO62E,cAAyBgB,IAE9Kn4E,UAAUq6E,QAAUr6E,UAAUq6E,SAAWr6E,UAAUs6E,eAAiBt6E,UAAUu6E,YAAcv6E,UAAUw6E,UAElGx6E,UAAUq6E,UAEV/5E,EAAOy0E,WAAY,GAvd3B,WAEIz0E,EAAOhT,SAAW7G,OAAiC,0BAAK6Z,EAAOs0B,SAE/D,IACIt0B,EAAOq0E,eAAiBA,aAAa8F,QACvC,MAAOzjG,GACLspB,EAAOq0E,cAAe,EAG1Br0E,EAAOm0E,QAAShuF,OAAa,MAAOA,OAAmB,YAAOA,OAAiB,UAAOA,OAAa,MACnG6Z,EAAOo0E,aAAejuF,OAA0B,kBAEhD6Z,EAAOm0B,QAAUhuC,OAAOi0F,sBAExBp6E,EAAOs0E,SAAWnuF,OAAe,OAEjC6Z,EAAOu8B,YAAc,uBAAwBzW,UAAY,0BAA2BA,UAAY,6BAA8BA,SAE9H9lB,EAAO20E,WAAsC,eAAxB7uD,SAASu0D,WAE9B36E,UAAUg1E,aAAeh1E,UAAUg1E,cAAgBh1E,UAAU46E,oBAAsB56E,UAAU66E,iBAAmB76E,UAAU86E,gBAAkB96E,UAAU+6E,cAEtJt0F,OAAOu0F,IAAMv0F,OAAOu0F,KAAOv0F,OAAOw0F,WAAax0F,OAAOy0F,QAAUz0F,OAAO00F,MAEvE76E,EAAO00E,aAAe10E,EAAO00E,gBAAkBh1E,UAAUg1E,gBAAkBvuF,OAAOu0F,IAG9E16E,EAAO+0E,SAAW/0E,EAAOg1E,eAAiB,KAE1Ch1E,EAAO00E,cAAe,IAOrB10E,EAAO41B,MAAQ51B,EAAOi0B,IAAMj0B,EAAO+0E,SAAW/0E,EAAOw9B,UAEtDx9B,EAAOk0E,mBAAoB,IAI3Bl0E,EAAOu1E,QAAUv1E,EAAOo1E,gBAExBp1E,EAAOk0E,mBAAoB,GAsdnC4G,GA9iBA,WAEI,IAAI9tF,EAASrV,EAAOsa,WAAW1T,OAAOpI,KAAM,EAAG,GAC3CyN,EAAUoJ,EAAOsB,WAAW,MAEhC1K,EAAQ8a,UAAY,wBAGpB9a,EAAQib,SAAS,EAAG,EAAG,EAAG,GAG1B,IAAIk8E,EAAKn3F,EAAQqb,aAAa,EAAG,EAAG,EAAG,GAEvC,GAAI87E,EACJ,CAEIn3F,EAAQwb,aAAa27E,EAAI,EAAG,GAG5B,IAAIC,EAAKp3F,EAAQqb,aAAa,EAAG,EAAG,EAAG,GAGvCe,EAAOb,eACH67E,EAAG7wF,KAAK,KAAO4wF,EAAG5wF,KAAK,IACvB6wF,EAAG7wF,KAAK,KAAO4wF,EAAG5wF,KAAK,IACvB6wF,EAAG7wF,KAAK,KAAO4wF,EAAG5wF,KAAK,IACvB6wF,EAAG7wF,KAAK,KAAO4wF,EAAG5wF,KAAK,GAK/BvG,EAAQC,yBAA2B,WACnCmc,EAAOC,eAAuD,aAArCrc,EAAQC,yBAEjClM,EAAOsa,WAAWsO,eAAevT,GAEjCrY,KAAKkQ,aAAa2Z,WAAcwB,EAAqB,eAAIrrB,KAAKkQ,aAAa4Z,iBAAmB9pB,KAAKkQ,aAAaia,iBA2gBpHm8E,GA1aA,WAeI,IAAK,IAbDC,GACA,oBACA,oBACA,0BACA,0BACA,sBACA,sBACA,uBACA,wBAGAx8C,EAAU5Y,SAAS0kD,cAAc,OAE5B3xF,EAAI,EAAGA,EAAIqiG,EAAGpiG,OAAQD,IAE3B,GAAI6lD,EAAQw8C,EAAGriG,IACf,CACImnB,EAAO+2E,YAAa,EACpB/2E,EAAOg3E,kBAAoBkE,EAAGriG,GAC9B,MAIR,IAAIsiG,GACA,mBACA,iBACA,yBACA,uBACA,qBACA,mBACA,sBACA,qBAGJ,GAAIn7E,EAAO+2E,WAEP,IAASl+F,EAAI,EAAGA,EAAIsiG,EAAIriG,OAAQD,IAE5B,GAAIitC,SAASq1D,EAAItiG,IACjB,CACImnB,EAAOi3E,iBAAmBkE,EAAItiG,GAC9B,MAMRsN,OAAgB,SAAKi1F,QAA8B,uBAEnDp7E,EAAOk3E,oBAAqB,GAwXpCmE,IA9cQ,iBAAkBv1D,SAASw1D,iBAAoBn1F,OAAOuZ,UAAU67E,gBAAkBp1F,OAAOuZ,UAAU67E,gBAAkB,KAErHv7E,EAAOi4B,OAAQ,IAGf9xC,OAAOq1F,cAAgBr1F,OAAOs1F,gBAAkBt1F,OAAOuZ,UAAUg8E,kBAAoBv1F,OAAOuZ,UAAUi8E,kBAEtG37E,EAAOk4B,WAAY,GAGlBl4B,EAAOs0B,WAGJ,YAAanuC,QAAW6Z,EAAOi0B,IAAM,eAAgB9tC,OAGrD6Z,EAAOm+B,WAAa,QAEf,iBAAkBh4C,OAGvB6Z,EAAOm+B,WAAa,aAEfn+B,EAAO+0E,SAAW,qBAAsB5uF,SAG7C6Z,EAAOm+B,WAAa,oBAicpCxmD,EAAOs5C,OAAO2qD,aAAe,SAAUryF,GAEnC,QAAa,QAATA,IAAkBpT,KAAK2/F,SAIT,QAATvsF,IAAmBpT,KAAKy/F,MAAOz/F,KAAK0/F,UAI3B,QAATtsF,IAAkBpT,KAAK6/F,SAId,SAATzsF,IAAmBpT,KAAK0/F,UAIf,QAATtsF,IAAkBpT,KAAK4/F,SAId,SAATxsF,IAAmBpT,KAAK8/F,SAIf,QAAT1sF,IAAkBpT,KAAK+/F,aAiBpCv+F,EAAOs5C,OAAO4qD,aAAe,SAAUtyF,GAEnC,QAAa,SAATA,IAAoBpT,KAAKmgG,YAAangG,KAAKogG,cAI7B,QAAThtF,IAAmBpT,KAAKkgG,WAAYlgG,KAAKigG,eAI/B,QAAT7sF,GAA2B,QAATA,IAAmBpT,KAAKggG,aAIlC,SAAT5sF,IAAmBpT,KAAKqgG,aAgBrC7+F,EAAOs5C,OAAO6qD,iBAAmB,WAC7B,UAAW3lG,KAAKm+C,WAAan+C,KAAKy/C,KAAOz/C,KAAKonD,UAAap3C,OAAO41F,cAAgB51F,OAAO41F,aAAaC,mBAe1GrkG,EAAOs5C,OAAOgrD,sBAAwB,WAElC,IAAIC,EAAU/1F,OAAOuZ,UAAUkvC,UAAUuQ,MAAM,kCAC/C,OAAO+8B,GAAWA,EAAQ,GAAK,KAiBnCvkG,EAAO6nB,QAaHjhB,OAAQ,SAAU/G,EAAQzD,EAAOC,EAAQiW,EAAIikE,GAEzCn6E,EAAQA,GAAS,IACjBC,EAASA,GAAU,IAEnB,IAAIgZ,EAAS,EAAa84B,SAAS0kD,cAAc,UAAY7yF,EAAOsa,WAAW1T,OAAO/G,EAAQzD,EAAOC,GAWrG,MATkB,iBAAPiW,GAA0B,KAAPA,IAE1B+C,EAAO/C,GAAKA,GAGhB+C,EAAOjZ,MAAQA,EACfiZ,EAAOhZ,OAASA,EAChBgZ,EAAOoE,MAAM+qF,QAAU,QAEhBnvF,GAYXw4B,mBAAoB,SAAUx4B,EAAQZ,GAMlC,OAJAA,EAAQA,GAAS,aAEjBY,EAAOoE,MAAMk0E,gBAAkBl5E,EAExBY,GAYX44B,eAAgB,SAAU54B,EAAQ7P,GAQ9B,OANAA,EAAQA,GAAS,OAEjB6P,EAAOoE,MAAMgrF,cAAgBj/F,EAC7B6P,EAAOoE,MAAM,mBAAqBjU,EAClC6P,EAAOoE,MAAM,gBAAkBjU,EAExB6P,GAYX24B,cAAe,SAAU34B,EAAQ7P,GAY7B,OAVAA,EAAQA,GAAS,OAEjB6P,EAAOoE,MAAM,yBAA2BjU,EACxC6P,EAAOoE,MAAM,uBAAyBjU,EACtC6P,EAAOoE,MAAM,sBAAwBjU,EACrC6P,EAAOoE,MAAM,oBAAsBjU,EACnC6P,EAAOoE,MAAM,mBAAqBjU,EAClC6P,EAAOoE,MAAM,eAAiBjU,EAC9B6P,EAAOoE,MAAM,+BAAiC,mBAEvCpE,GAcXwnC,SAAU,SAAUxnC,EAAQxV,EAAQ6kG,GAEhC,IAAIt+F,EA+BJ,YA7BuBtB,IAAnB4/F,IAAgCA,GAAiB,GAEjD7kG,IAEsB,iBAAXA,EAGPuG,EAAS+nC,SAASw2D,eAAe9kG,GAEV,iBAAXA,GAA2C,IAApBA,EAAOqyB,WAG1C9rB,EAASvG,IAKZuG,IAEDA,EAAS+nC,SAAS2B,MAGlB40D,GAAkBt+F,EAAOqT,QAEzBrT,EAAOqT,MAAMmrF,SAAW,UAG5Bx+F,EAAOy+F,YAAYxvF,GAEZA,GAUXwoC,cAAe,SAAUxoC,GAEjBA,EAAOyvF,YAEPzvF,EAAOyvF,WAAW79F,YAAYoO,IAkBtCrI,aAAc,SAAUf,EAASoyE,EAAYC,EAAYt7D,EAAQE,EAAQq7D,EAAOC,GAI5E,OAFAvyE,EAAQe,aAAagW,EAAQu7D,EAAOC,EAAOt7D,EAAQm7D,EAAYC,GAExDryE,GAgBXkyE,oBAAqB,SAAUlyE,EAASzG,GAEpC,IAAI5C,EAAI5C,EAAO6nB,OAAOC,mBAAmB7b,GAOzC,OALIrJ,IAEAqJ,EAAQrJ,GAAK4C,GAGVyG,GAWX6b,mBAAoB,SAAU7b,GAE1B,IAAI84F,GAAW,IAAK,UAAW,MAAO,OAAQ,MAE9C,IAAK,IAAIC,KAAUD,EACnB,CACI,IAAIniG,EAAImiG,EAAOC,GAAU,uBAEzB,GAAIpiG,KAAKqJ,EAEL,OAAOrJ,EAIf,OAAO,MAWXs7E,oBAAqB,SAAUjyE,GAE3B,IAAIrJ,EAAI5C,EAAO6nB,OAAOC,mBAAmB7b,GAEzC,GAAIrJ,EAEA,OAAOqJ,EAAQrJ,IAiBvB25C,uBAAwB,SAAUlnC,GAI9B,IAAK,IAFD4vF,GAAU,4BAA6B,mBAAoB,cAAe,aAErE/jG,EAAI,EAAGA,EAAI+jG,EAAM9jG,OAAQD,IAE9BmU,EAAOoE,MAAM,mBAAqBwrF,EAAM/jG,GAK5C,OAFAmU,EAAOoE,MAAMyrF,oBAAsB,mBAE5B7vF,GAYX8vF,yBAA0B,SAAU9vF,GAKhC,OAHAA,EAAOoE,MAAM,mBAAqB,OAClCpE,EAAOoE,MAAMyrF,oBAAsB,UAE5B7vF,IAoBfrV,EAAO87C,sBAAwB,SAASx6C,EAAM8jG,QAElBtgG,IAApBsgG,IAAiCA,GAAkB,GAKvD5mG,KAAK8C,KAAOA,EAMZ9C,KAAK26C,WAAY,EAKjB36C,KAAK4mG,gBAAkBA,EASvB,IAAK,IAPDC,GACA,KACA,MACA,SACA,KAGK/iG,EAAI,EAAGA,EAAI+iG,EAAQlkG,SAAWqN,OAAO82F,sBAAuBhjG,IAEjEkM,OAAO82F,sBAAwB92F,OAAO62F,EAAQ/iG,GAAK,yBACnDkM,OAAO+2F,qBAAuB/2F,OAAO62F,EAAQ/iG,GAAK,yBAA2BkM,OAAO62F,EAAQ/iG,GAAK,+BAOrG9D,KAAKgnG,eAAgB,EAMrBhnG,KAAKinG,QAAU,KAMfjnG,KAAKknG,WAAa,MAItB1lG,EAAO87C,sBAAsBh7C,WAMzB0J,MAAO,WAEHhM,KAAK26C,WAAY,EAEjB,IAAI3O,EAAQhsC,MAEPgQ,OAAO82F,uBAAyB9mG,KAAK4mG,iBAEtC5mG,KAAKgnG,eAAgB,EAErBhnG,KAAKinG,QAAU,WACX,OAAOj7D,EAAMm7D,oBAGjBnnG,KAAKknG,WAAal3F,OAAOuxF,WAAWvhG,KAAKinG,QAAS,KAIlDjnG,KAAKgnG,eAAgB,EAErBhnG,KAAKinG,QAAU,SAAUliE,GACrB,OAAOiH,EAAMo7D,UAAUriE,IAG3B/kC,KAAKknG,WAAal3F,OAAO82F,sBAAsB9mG,KAAKinG,WAS5DG,UAAW,SAAUC,GAEbrnG,KAAK26C,YAGL36C,KAAK8C,KAAK6hC,OAAOlhC,KAAKsL,MAAMs4F,IAE5BrnG,KAAKknG,WAAal3F,OAAO82F,sBAAsB9mG,KAAKinG,WAS5DE,iBAAkB,WAEVnnG,KAAK26C,YAEL36C,KAAK8C,KAAK6hC,OAAOiI,KAAKwP,OAEtBp8C,KAAKknG,WAAal3F,OAAOuxF,WAAWvhG,KAAKinG,QAASjnG,KAAK8C,KAAKiiC,KAAKuiE,cASzEz7F,KAAM,WAEE7L,KAAKgnG,cAELO,aAAavnG,KAAKknG,YAIlBl3F,OAAO+2F,qBAAqB/mG,KAAKknG,YAGrClnG,KAAK26C,WAAY,GASrB6sD,aAAc,WACV,OAAOxnG,KAAKgnG,eAQhBS,MAAO,WACH,OAA+B,IAAvBznG,KAAKgnG,gBAKrBxlG,EAAO87C,sBAAsBh7C,UAAUC,YAAcf,EAAO87C,sBAkB5D97C,EAAOiC,MAOHC,IAAe,EAAVD,KAAKqxB,GAOVzwB,QAAmB,GAAVZ,KAAKqxB,GAMd4yE,WAAYjkG,KAAKqxB,GAAK,IAMtB6yE,WAAY,IAAMlkG,KAAKqxB,GASvByB,SAAU,SAAUqxE,GAEhB,OAAOA,EAAUpmG,EAAOiC,KAAKikG,YAWjC5qE,SAAU,SAAU+qE,GAEhB,OAAOA,EAAUrmG,EAAOiC,KAAKkkG,YAYjC9K,kBAAmB,SAAU71F,GAEzB,GAAIA,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,GAG/B,OAAOA,EAMP,IAFA,IAAI0xB,EAAS,EAENA,EAAS1xB,GAEZ0xB,IAAW,EAGf,OAAOA,GAafnd,aAAc,SAAU3d,EAAOC,GAE3B,OAAQD,EAAQ,GAA+B,IAAzBA,EAASA,EAAQ,IAAaC,EAAS,GAAiC,IAA3BA,EAAUA,EAAS,IAa1F20B,OAAQ,SAAU4G,EAAKpzB,GAKnB,QAHYM,IAAR8yB,IAAqBA,EAAM,QACnB9yB,IAARN,IAAqBA,EAAM,GAE3BozB,IAAQpzB,EAER,OAAOozB,EAGX,GAAIA,EAAMpzB,EACV,CACI,IAAIsH,EAAO8rB,EACXA,EAAMpzB,EACNA,EAAMsH,EAGV,OAAQ7J,KAAK+uB,UAAYxsB,EAAMozB,GAAOA,GAa1CmhB,QAAS,SAAUnhB,EAAKpzB,GAKpB,QAHYM,IAAR8yB,IAAqBA,EAAM,QACnB9yB,IAARN,IAAqBA,EAAM,GAE3BozB,IAAQpzB,EAER,OAAOozB,EAGX,GAAIA,EAAMpzB,EACV,CACI,IAAIsH,EAAO8rB,EACXA,EAAMpzB,EACNA,EAAMsH,EAMV,OAHA8rB,EAAM31B,KAAKwC,KAAKmzB,GAChBpzB,EAAMvC,KAAKsL,MAAM/I,GAEVvC,KAAKsL,MAAMtL,KAAK+uB,UAAYxsB,EAAMozB,EAAM,IAAMA,GAazDF,WAAY,SAAUj2B,EAAGC,EAAG+1B,GAIxB,YAFgB3yB,IAAZ2yB,IAAyBA,EAAU,MAEhCx1B,KAAKgzB,IAAIxzB,EAAIC,GAAK+1B,GAa7B6uE,cAAe,SAAU7kG,EAAGC,EAAG+1B,GAI3B,YAFgB3yB,IAAZ2yB,IAAyBA,EAAU,MAEhCh2B,EAAIC,EAAI+1B,GAanB8uE,iBAAkB,SAAU9kG,EAAGC,EAAG+1B,GAI9B,YAFgB3yB,IAAZ2yB,IAAyBA,EAAU,MAEhCh2B,EAAIC,EAAI+1B,GAYnB+uE,UAAW,SAAU51E,EAAK6G,GAItB,YAFgB3yB,IAAZ2yB,IAAyBA,EAAU,MAEhCx1B,KAAKwC,KAAKmsB,EAAM6G,IAY3BgvE,WAAY,SAAU71E,EAAK6G,GAIvB,YAFgB3yB,IAAZ2yB,IAAyBA,EAAU,MAEhCx1B,KAAKsL,MAAMqjB,EAAM6G,IAW5BivE,QAAS,WAKL,IAAK,IAHDpnB,EAAM,EACNjwD,EAAMR,UAAU1tB,OAEXD,EAAI,EAAGA,EAAImuB,EAAKnuB,IAErBo+E,IAASzwD,UAAU3tB,GAGvB,OAAOo+E,EAAMjwD,GASjBs3E,MAAO,SAAUhxE,GAEb,OAAOA,EAAI,GAefixE,OAAQ,SAAUpiE,EAAOqiE,EAAKr8F,GAI1B,YAFc1F,IAAV0F,IAAuBA,EAAQ,GAEvB,IAARq8F,EACOriE,GAGXA,GAASh6B,EACTg6B,EAAQqiE,EAAM5kG,KAAK8xB,MAAMyQ,EAAQqiE,GAE1Br8F,EAAQg6B,IAgBnBsiE,YAAa,SAAUtiE,EAAOqiE,EAAKr8F,GAI/B,YAFc1F,IAAV0F,IAAuBA,EAAQ,GAEvB,IAARq8F,EACOriE,GAGXA,GAASh6B,EACTg6B,EAAQqiE,EAAM5kG,KAAKsL,MAAMi3B,EAAQqiE,GAE1Br8F,EAAQg6B,IAgBnB8qD,WAAY,SAAU9qD,EAAOqiE,EAAKr8F,GAI9B,YAFc1F,IAAV0F,IAAuBA,EAAQ,GAEvB,IAARq8F,EACOriE,GAGXA,GAASh6B,EACTg6B,EAAQqiE,EAAM5kG,KAAKwC,KAAK+/B,EAAQqiE,GAEzBr8F,EAAQg6B,IAuCnBuiE,QAAS,SAAUvhG,EAAOwhG,EAAOzuF,QAEfzT,IAAVkiG,IAAuBA,EAAQ,QACtBliG,IAATyT,IAAsBA,EAAO,IAEjC,IAAIhX,EAAIU,KAAKglG,IAAI1uF,GAAOyuF,GAExB,OAAO/kG,KAAK8xB,MAAMvuB,EAAQjE,GAAKA,GAcnC2lG,QAAS,SAAU1hG,EAAOwhG,EAAOzuF,QAEfzT,IAAVkiG,IAAuBA,EAAQ,QACtBliG,IAATyT,IAAsBA,EAAO,IAEjC,IAAIhX,EAAIU,KAAKglG,IAAI1uF,GAAOyuF,GAExB,OAAO/kG,KAAKsL,MAAM/H,EAAQjE,GAAKA,GAcnC4lG,OAAQ,SAAU3hG,EAAOwhG,EAAOzuF,QAEdzT,IAAVkiG,IAAuBA,EAAQ,QACtBliG,IAATyT,IAAsBA,EAAO,IAEjC,IAAIhX,EAAIU,KAAKglG,IAAI1uF,GAAOyuF,GAExB,OAAO/kG,KAAKwC,KAAKe,EAAQjE,GAAKA,GAclC6lG,cAAe,SAAUC,EAAcC,EAAa9mE,GAIhD,YAFa17B,IAAT07B,IAAsBA,EAAO,KAE7B6mE,IAAiBC,EAEVD,GAGPplG,KAAKgzB,IAAIqyE,EAAcD,IAAiB7mE,GAAQv+B,KAAKgzB,IAAIqyE,EAAcD,IAAkBrnG,EAAOiC,KAAKC,IAAMs+B,EAE3G6mE,EAAeC,GAIXrlG,KAAKgzB,IAAIqyE,EAAcD,GAAgBplG,KAAKqxB,KAExCg0E,EAAcD,EAEdC,GAAetnG,EAAOiC,KAAKC,IAI3BolG,GAAetnG,EAAOiC,KAAKC,KAI/BolG,EAAcD,EAEdA,GAAgB7mE,EAEX8mE,EAAcD,IAEnBA,GAAgB7mE,IAIjB6mE,IAmBXE,iBAAkB,SAAUC,EAAQC,GAEhC,IAAIpN,EAAaoN,EAASD,EAE1B,OAAmB,IAAfnN,EAEO,EAKJA,EAAsB,IAFjBp4F,KAAKsL,OAAO8sF,IAAe,KAAQ,MAgBnDqN,aAAc,SAAUl+F,EAAIC,EAAIC,EAAIC,GAEhC,OAAO1H,KAAKo5B,MAAM1xB,EAAKF,EAAIC,EAAKF,IAiBpCm+F,cAAe,SAAUn+F,EAAIC,EAAIC,EAAIC,GAEjC,OAAO1H,KAAKo5B,MAAM3xB,EAAKF,EAAIG,EAAKF,IAYpCm+F,mBAAoB,SAAU9e,EAAQC,GAElC,OAAO9mF,KAAKo5B,MAAM0tD,EAAOxmF,EAAIumF,EAAOvmF,EAAGwmF,EAAOzmF,EAAIwmF,EAAOxmF,IAW7DulG,oBAAqB,SAAU/e,EAAQC,GAEnC,OAAO9mF,KAAKo5B,MAAM0tD,EAAOzmF,EAAIwmF,EAAOxmF,EAAGymF,EAAOxmF,EAAIumF,EAAOvmF,IAU7DulG,aAAc,SAAUC,GAEpB,OAAOvpG,KAAKwpG,eAAeD,EAAW9lG,KAAKqxB,IAAI,IAUnD00E,eAAgB,SAAUD,GAGtB,OADAA,GAAuB,EAAI9lG,KAAKqxB,KACb,EAAIy0E,EAAWA,EAAW,EAAI9lG,KAAKqxB,IAa1D20E,OAAQ,SAAUziG,EAAOmvC,EAAQnwC,GAE7B,OAAOvC,KAAK21B,IAAIpyB,EAAQmvC,EAAQnwC,IAapC0jG,OAAQ,SAAU1iG,EAAOmvC,EAAQ/c,GAE7B,OAAO31B,KAAKuC,IAAIgB,EAAQmvC,EAAQ/c,IAepCW,KAAM,SAAU/yB,EAAOoyB,EAAKpzB,GAExB,IAAIyD,EAAQzD,EAAMozB,EAElB,GAAI3vB,GAAS,EAET,OAAO,EAGX,IAAIivB,GAAU1xB,EAAQoyB,GAAO3vB,EAO7B,OALIivB,EAAS,IAETA,GAAUjvB,GAGPivB,EAASU,GAepBuwE,UAAW,SAAU3iG,EAAOmvC,EAAQnwC,GAQhC,OALAgB,EAAQvD,KAAKgzB,IAAIzvB,GACjBmvC,EAAS1yC,KAAKgzB,IAAI0f,GAClBnwC,EAAMvC,KAAKgzB,IAAIzwB,IACPgB,EAAQmvC,GAAUnwC,GAa9B4jG,MAAO,SAAUzyE,GAGb,SAAc,EAAJA,IAWd0yE,OAAQ,SAAU1yE,GAGd,QAAa,EAAJA,IAabiC,IAAK,WAED,GAAyB,IAArB/I,UAAU1tB,QAAwC,iBAAjB0tB,UAAU,GAEvCrc,EAAOqc,UAAU,QAIrB,IAAIrc,EAAOqc,UAGf,IAAK,IAAI3tB,EAAI,EAAG02B,EAAM,EAAGvI,EAAM7c,EAAKrR,OAAQD,EAAImuB,EAAKnuB,IAE7CsR,EAAKtR,GAAKsR,EAAKolB,KAEfA,EAAM12B,GAId,OAAOsR,EAAKolB,IAahBpzB,IAAK,WAED,GAAyB,IAArBqqB,UAAU1tB,QAAwC,iBAAjB0tB,UAAU,GAEvCrc,EAAOqc,UAAU,QAIrB,IAAIrc,EAAOqc,UAGf,IAAK,IAAI3tB,EAAI,EAAGsD,EAAM,EAAG6qB,EAAM7c,EAAKrR,OAAQD,EAAImuB,EAAKnuB,IAE7CsR,EAAKtR,GAAKsR,EAAKhO,KAEfA,EAAMtD,GAId,OAAOsR,EAAKhO,IAWhB8jG,YAAa,SAAU5zD,GAEnB,GAAyB,IAArB7lB,UAAU1tB,QAAwC,iBAAjB0tB,UAAU,GAEvCrc,EAAOqc,UAAU,QAIrB,IAAIrc,EAAOqc,UAAUN,MAAM,GAG/B,IAAK,IAAIrtB,EAAI,EAAG02B,EAAM,EAAGvI,EAAM7c,EAAKrR,OAAQD,EAAImuB,EAAKnuB,IAE7CsR,EAAKtR,GAAGwzC,GAAYliC,EAAKolB,GAAK8c,KAE9B9c,EAAM12B,GAId,OAAOsR,EAAKolB,GAAK8c,IAWrB6zD,YAAa,SAAU7zD,GAEnB,GAAyB,IAArB7lB,UAAU1tB,QAAwC,iBAAjB0tB,UAAU,GAEvCrc,EAAOqc,UAAU,QAIrB,IAAIrc,EAAOqc,UAAUN,MAAM,GAG/B,IAAK,IAAIrtB,EAAI,EAAGsD,EAAM,EAAG6qB,EAAM7c,EAAKrR,OAAQD,EAAImuB,EAAKnuB,IAE7CsR,EAAKtR,GAAGwzC,GAAYliC,EAAKhO,GAAKkwC,KAE9BlwC,EAAMtD,GAId,OAAOsR,EAAKhO,GAAKkwC,IAYrBizB,UAAW,SAAUzzC,EAAOmyE,GAExB,OAAOA,EAAU7nG,KAAK+5B,KAAKrE,GAAQjyB,KAAKqxB,GAAIrxB,KAAKqxB,IAAM90B,KAAK+5B,KAAKrE,GAAQ,IAAK,MAYlFs0E,oBAAqB,SAAUpsD,EAAG3mB,GAE9B,IAAIC,EAAI0mB,EAAEj7C,OAAS,EACfmwB,EAAIoE,EAAID,EACRv0B,EAAIe,KAAKsL,MAAM+jB,GAEnB,OAAImE,EAAI,EAEGj3B,KAAKg2B,OAAO4nB,EAAE,GAAIA,EAAE,GAAI9qB,GAG/BmE,EAAI,EAEGj3B,KAAKg2B,OAAO4nB,EAAE1mB,GAAI0mB,EAAE1mB,EAAI,GAAIA,EAAIpE,GAGpC9yB,KAAKg2B,OAAO4nB,EAAEl7C,GAAIk7C,EAAEl7C,EAAI,EAAIw0B,EAAIA,EAAIx0B,EAAI,GAAIowB,EAAIpwB,IAY3DunG,oBAAqB,SAAUrsD,EAAG3mB,GAK9B,IAAK,IAHD/zB,EAAI,EACJi0B,EAAIymB,EAAEj7C,OAAS,EAEVD,EAAI,EAAGA,GAAKy0B,EAAGz0B,IAEpBQ,GAAKO,KAAKglG,IAAI,EAAIxxE,EAAGE,EAAIz0B,GAAKe,KAAKglG,IAAIxxE,EAAGv0B,GAAKk7C,EAAEl7C,GAAK1C,KAAKkqG,UAAU/yE,EAAGz0B,GAG5E,OAAOQ,GAYXinG,wBAAyB,SAAUvsD,EAAG3mB,GAElC,IAAIC,EAAI0mB,EAAEj7C,OAAS,EACfmwB,EAAIoE,EAAID,EACRv0B,EAAIe,KAAKsL,MAAM+jB,GAEnB,OAAI8qB,EAAE,KAAOA,EAAE1mB,IAEPD,EAAI,IAEJv0B,EAAIe,KAAKsL,MAAM+jB,EAAIoE,GAAK,EAAID,KAGzBj3B,KAAKoqG,WAAWxsD,GAAGl7C,EAAI,EAAIw0B,GAAKA,GAAI0mB,EAAEl7C,GAAIk7C,GAAGl7C,EAAI,GAAKw0B,GAAI0mB,GAAGl7C,EAAI,GAAKw0B,GAAIpE,EAAIpwB,IAIjFu0B,EAAI,EAEG2mB,EAAE,IAAM59C,KAAKoqG,WAAWxsD,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAK9qB,GAAK8qB,EAAE,IAG/D3mB,EAAI,EAEG2mB,EAAE1mB,IAAMl3B,KAAKoqG,WAAWxsD,EAAE1mB,GAAI0mB,EAAE1mB,GAAI0mB,EAAE1mB,EAAI,GAAI0mB,EAAE1mB,EAAI,GAAIpE,EAAIoE,GAAK0mB,EAAE1mB,IAGvEl3B,KAAKoqG,WAAWxsD,EAAEl7C,EAAIA,EAAI,EAAI,GAAIk7C,EAAEl7C,GAAIk7C,EAAE1mB,EAAIx0B,EAAI,EAAIw0B,EAAIx0B,EAAI,GAAIk7C,EAAE1mB,EAAIx0B,EAAI,EAAIw0B,EAAIx0B,EAAI,GAAIowB,EAAIpwB,IAc/GszB,OAAQ,SAAUqB,EAAIC,EAAI1G,GAEtB,OAAQ0G,EAAKD,GAAMzG,EAAIyG,GAW3B6yE,UAAW,SAAU/yE,EAAGz0B,GAEpB,OAAO1C,KAAKqqG,UAAUlzE,GAAKn3B,KAAKqqG,UAAU3nG,GAAK1C,KAAKqqG,UAAUlzE,EAAIz0B,IAStE2nG,UAAW,SAAUrjG,GAEjB,GAAc,IAAVA,EAEA,OAAO,EAKX,IAFA,IAAIsjG,EAAMtjG,IAEFA,GAEJsjG,GAAOtjG,EAGX,OAAOsjG,GAgBXF,WAAY,SAAU/yE,EAAIC,EAAIuI,EAAI0qE,EAAI35E,GAElC,IAAI8pE,EAAiB,IAAX76D,EAAKxI,GAAWsjE,EAAiB,IAAX4P,EAAKjzE,GAAW0zD,EAAKp6D,EAAIA,EAEzD,OAAQ,EAAI0G,EAAK,EAAIuI,EAAK66D,EAAKC,IAFkC/pE,EAAIo6D,KAEzB,EAAI1zD,EAAK,EAAIuI,EAAK,EAAI66D,EAAKC,GAAM3P,EAAK0P,EAAK9pE,EAAI0G,GAY/FukE,WAAY,SAAU54F,EAAGC,GAErB,OAAOO,KAAKgzB,IAAIxzB,EAAIC,IAWxBsnG,kBAAmB,SAAUxjG,GAGzB,OAAQA,EAAQ,EAAKvD,KAAKwC,KAAKe,GAASvD,KAAKsL,MAAM/H,IAiBvDyjG,gBAAiB,SAAU9nG,EAAQ+nG,EAAcC,EAAcC,QAEtCtkG,IAAjBokG,IAA8BA,EAAe,QAC5BpkG,IAAjBqkG,IAA8BA,EAAe,QAC/BrkG,IAAdskG,IAA2BA,EAAY,GAS3C,IAAK,IAPDhnG,EAAM8mG,EACN7mG,EAAM8mG,EACNE,EAAMD,EAAYnnG,KAAKqxB,GAAKnyB,EAE5BmoG,KACAC,KAEK5nG,EAAI,EAAGA,EAAIR,EAAQQ,IAGxBS,IADAC,GAAOD,EAAMinG,GACAA,EAEbC,EAAS3nG,GAAKU,EACdknG,EAAS5nG,GAAKS,EAIlB,OAASA,IAAKmnG,EAAUlnG,IAAKinG,EAAUnoG,OAAQA,IAYnDqoG,MAAO,SAAU/nG,EAAGC,GAEhB,OAAOO,KAAKS,KAAKjB,EAAIA,EAAIC,EAAIA,IAcjCoyB,SAAU,SAAUtqB,EAAIC,EAAIC,EAAIC,GAE5B,IAAI2C,EAAK9C,EAAKE,EACV8C,EAAK/C,EAAKE,EAEd,OAAO1H,KAAKS,KAAK4J,EAAKA,EAAKE,EAAKA,IAepCi9F,WAAY,SAAUjgG,EAAIC,EAAIC,EAAIC,GAE9B,IAAI2C,EAAK9C,EAAKE,EACV8C,EAAK/C,EAAKE,EAEd,OAAO2C,EAAKA,EAAKE,EAAKA,GAe1Bk9F,YAAa,SAAUlgG,EAAIC,EAAIC,EAAIC,EAAIs9F,GAInC,YAFYniG,IAARmiG,IAAqBA,EAAM,GAExBhlG,KAAKS,KAAKT,KAAKglG,IAAIv9F,EAAKF,EAAIy9F,GAAOhlG,KAAKglG,IAAIt9F,EAAKF,EAAIw9F,KAahElsE,MAAO,SAAUqhB,EAAGxkB,EAAKpzB,GAErB,OAAI43C,EAAIxkB,EAEGA,EAEFpzB,EAAM43C,EAEJ53C,EAIA43C,GAcfutD,YAAa,SAAUrnG,EAAGb,GAEtB,OAAOa,EAAIb,EAAIA,EAAIa,GAcvBsnG,OAAQ,SAAUnoG,EAAGC,EAAGo9B,GAEpB,OAAQ78B,KAAKgzB,IAAIxzB,EAAIC,IAAMo9B,GAe/B+qE,UAAW,SAAUvnG,EAAGk2B,EAAIC,EAAIC,EAAIC,GAEhC,OAAOD,GAAOp2B,EAAIk2B,IAASG,EAAKD,IAASD,EAAKD,IAalDsxE,WAAY,SAAUxnG,EAAGs1B,EAAKpzB,GAM1B,OAHAlC,EAAIL,KAAKuC,IAAI,EAAGvC,KAAK21B,IAAI,GAAIt1B,EAAIs1B,IAAQpzB,EAAMozB,MAGpCt1B,GAAK,EAAI,EAAIA,IAa5BynG,aAAc,SAAUznG,EAAGs1B,EAAKpzB,GAI5B,OAFAlC,EAAIL,KAAKuC,IAAI,EAAGvC,KAAK21B,IAAI,GAAIt1B,EAAIs1B,IAAQpzB,EAAMozB,MAEpCt1B,EAAIA,GAAKA,GAAS,EAAJA,EAAQ,IAAM,KAa3C0nG,KAAM,SAAU1nG,GAEZ,OAASA,EAAI,GAAO,EAAQA,EAAI,EAAM,EAAI,GAa9C2nG,QAAS,SAAUxoG,EAAGC,EAAG6W,GAIrB,YAFazT,IAATyT,IAAsBA,EAAO,GAE7B9W,EAAIC,GAAK6W,EAAO7W,EAET,EAEFD,EAAI8W,GAAQA,EAAO9W,EAEjB,GAICA,EAAI8W,GAAQ7W,IA6BhC1B,EAAO26C,oBAAsB,SAAUuvD,QAErBplG,IAAVolG,IAAuBA,MAM3B1rG,KAAKmD,EAAI,EAMTnD,KAAK2rG,GAAK,EAMV3rG,KAAK4kG,GAAK,EAMV5kG,KAAK6kG,GAAK,EAEW,iBAAV6G,EAEP1rG,KAAKmmC,MAAMulE,GAIX1rG,KAAK4rG,IAAIF,IAKjBlqG,EAAO26C,oBAAoB75C,WASvB4iC,IAAK,WAED,IAAItU,EAAI,QAAU5wB,KAAK2rG,GAAc,uBAAT3rG,KAAKmD,EAOjC,OALAnD,KAAKmD,EAAQ,EAAJytB,EACT5wB,KAAK2rG,GAAK3rG,KAAK4kG,GACf5kG,KAAK4kG,GAAK5kG,KAAK6kG,GACf7kG,KAAK6kG,GAAKj0E,EAAI5wB,KAAKmD,EAEZnD,KAAK6kG,IAWhB+G,IAAK,SAAUF,GAQX,GALA1rG,KAAK2rG,GAAK3rG,KAAKuxC,KAAK,KACpBvxC,KAAK4kG,GAAK5kG,KAAKuxC,KAAKvxC,KAAK2rG,IACzB3rG,KAAK6kG,GAAK7kG,KAAKuxC,KAAKvxC,KAAK4kG,IACzB5kG,KAAKmD,EAAI,EAEJuoG,EAML,IAAK,IAAIhpG,EAAI,EAAGA,EAAIgpG,EAAM/oG,QAAuB,MAAZ+oG,EAAMhpG,GAAaA,IACxD,CACI,IAAI45C,EAAOovD,EAAMhpG,GAEjB1C,KAAK2rG,IAAM3rG,KAAKuxC,KAAK+K,GACrBt8C,KAAK2rG,OAAS3rG,KAAK2rG,GAAK,GACxB3rG,KAAK4kG,IAAM5kG,KAAKuxC,KAAK+K,GACrBt8C,KAAK4kG,OAAS5kG,KAAK4kG,GAAK,GACxB5kG,KAAK6kG,IAAM7kG,KAAKuxC,KAAK+K,GACrBt8C,KAAK6kG,OAAS7kG,KAAK6kG,GAAK,KAahCtzD,KAAM,SAAUv9B,GAEZ,IAAImQ,EAAGzhB,EAAGy0B,EAIV,IAHAA,EAAI,WACJnjB,EAAOA,EAAKwU,WAEP9lB,EAAI,EAAGA,EAAIsR,EAAKrR,OAAQD,IAEzByhB,EAAI,oBADJgT,GAAKnjB,EAAKgvD,WAAWtgE,IAGrByhB,GADAgT,EAAIhT,IAAM,EAGVgT,GADAhT,GAAKgT,KACK,EAEVA,GAAS,YADThT,GAAKgT,GAIT,OAAmB,wBAAXA,IAAM,IAUlB00E,QAAS,WAEL,OAA8B,WAAvB7rG,KAAKklC,IAAI5/B,MAAMtF,OAU1BmlC,KAAM,WAEF,OAAOnlC,KAAKklC,IAAI5/B,MAAMtF,MAAgD,wBAAhB,QAAvBA,KAAKklC,IAAI5/B,MAAMtF,MAAmB,IAUrE8rG,KAAM,WAEF,OAAO9rG,KAAK6rG,UAAY7rG,KAAKmlC,QAYjC4mE,eAAgB,SAAU3yE,EAAKpzB,GAE3B,OAAOvC,KAAKsL,MAAM/O,KAAKgsG,YAAY,EAAGhmG,EAAMozB,EAAM,GAAKA,IAa3DmhB,QAAS,SAAUnhB,EAAKpzB,GAEpB,OAAOhG,KAAK+rG,eAAe3yE,EAAKpzB,IAYpCgmG,YAAa,SAAU5yE,EAAKpzB,GAExB,OAAOhG,KAAKmlC,QAAUn/B,EAAMozB,GAAOA,GAUvC6yE,OAAQ,WAEJ,OAAO,EAAI,EAAIjsG,KAAKmlC,QAUxB+uC,KAAM,WAEF,IAAIjxE,EAAI,GACJC,EAAI,GAER,IAAKA,EAAID,EAAI,GAAIA,IAAM,GAAIC,IAAKD,EAAI,EAAQ,EAAJA,EAAM,GAAO,GAAFA,EAAO,EAAEjD,KAAKmlC,QAAY,GAAFliC,EAAO,GAAK,GAAK,GAAGulB,SAAS,IAAM,KAI9G,OAAOtlB,GAWXq2C,KAAM,SAAU2yD,GAEZ,OAAOA,EAAIlsG,KAAK+rG,eAAe,EAAGG,EAAIvpG,OAAS,KAUnD6oG,KAAM,WAEF,OAAOxrG,KAAKu5C,OAAO,EAAG,KAW1B4yD,aAAc,SAAUD,GAEpB,OAAOA,KAAOzoG,KAAKglG,IAAIzoG,KAAKmlC,OAAQ,IAAM+mE,EAAIvpG,OAAS,GAAK,MAYhEo9D,UAAW,SAAU3mC,EAAKpzB,GAEtB,OAAOhG,KAAKgsG,YAAY5yE,GAAO,UAAcpzB,GAAO,YAUxD0vB,MAAO,WAEH,OAAO11B,KAAK+rG,gBAAgB,IAAK,MAqBrC5lE,MAAO,SAAUA,GAYb,MAVqB,iBAAVA,GAAsBA,EAAM6iC,MAAM,WAEzC7iC,EAAQA,EAAMzU,MAAM,KAEpB1xB,KAAKmD,EAAIixF,WAAWjuD,EAAM,IAC1BnmC,KAAK2rG,GAAKvX,WAAWjuD,EAAM,IAC3BnmC,KAAK4kG,GAAKxQ,WAAWjuD,EAAM,IAC3BnmC,KAAK6kG,GAAKzQ,WAAWjuD,EAAM,MAGvB,OAAQnmC,KAAKmD,EAAGnD,KAAK2rG,GAAI3rG,KAAK4kG,GAAI5kG,KAAK6kG,IAAIn1F,KAAK,OAMhElO,EAAO26C,oBAAoB75C,UAAUC,YAAcf,EAAO26C,oBAwB1D36C,EAAO4qG,SAAW,SAAStoG,EAAGC,EAAGnG,EAAOC,EAAQwuG,EAAYC,EAAW7tF,GAMnEze,KAAKqsG,WAAa,GAMlBrsG,KAAKssG,UAAY,EAKjBtsG,KAAKye,MAAQ,EAKbze,KAAK6E,UAKL7E,KAAKusG,WAKLvsG,KAAKwsG,SAMLxsG,KAAKysG,UAELzsG,KAAK4lC,MAAM9hC,EAAGC,EAAGnG,EAAOC,EAAQwuG,EAAYC,EAAW7tF,IAI3Djd,EAAO4qG,SAAS9pG,WAcZsjC,MAAO,SAAU9hC,EAAGC,EAAGnG,EAAOC,EAAQwuG,EAAYC,EAAW7tF,GAEzDze,KAAKqsG,WAAaA,GAAc,GAChCrsG,KAAKssG,UAAYA,GAAa,EAC9BtsG,KAAKye,MAAQA,GAAS,EAEtBze,KAAK6E,QACDf,EAAGL,KAAK8xB,MAAMzxB,GACdC,EAAGN,KAAK8xB,MAAMxxB,GACdnG,MAAOA,EACPC,OAAQA,EACR6uG,SAAUjpG,KAAKsL,MAAMnR,EAAQ,GAC7B+uG,UAAWlpG,KAAKsL,MAAMlR,EAAS,GAC/B01B,MAAO9vB,KAAK8xB,MAAMzxB,GAAKL,KAAKsL,MAAMnR,EAAQ,GAC1Cw4B,OAAQ3yB,KAAK8xB,MAAMxxB,GAAKN,KAAKsL,MAAMlR,EAAS,IAGhDmC,KAAKusG,QAAQ5pG,OAAS,EACtB3C,KAAKwsG,MAAM7pG,OAAS,GAUxBiqG,SAAU,SAAUlzD,GAEhBA,EAAMhpB,QAAQ1wB,KAAK6sG,gBAAiB7sG,MAAM,IAU9C6sG,gBAAiB,SAAU3pF,GAEnBA,EAAOouB,MAAQpuB,EAAOrW,QAEtB7M,KAAK8sG,OAAO5pF,EAAOouB,OAU3B5f,MAAO,WAGH1xB,KAAKwsG,MAAM,GAAK,IAAIhrG,EAAO4qG,SAASpsG,KAAK6E,OAAO0uB,MAAOvzB,KAAK6E,OAAOd,EAAG/D,KAAK6E,OAAO6nG,SAAU1sG,KAAK6E,OAAO8nG,UAAW3sG,KAAKqsG,WAAYrsG,KAAKssG,UAAYtsG,KAAKye,MAAQ,GAGlKze,KAAKwsG,MAAM,GAAK,IAAIhrG,EAAO4qG,SAASpsG,KAAK6E,OAAOf,EAAG9D,KAAK6E,OAAOd,EAAG/D,KAAK6E,OAAO6nG,SAAU1sG,KAAK6E,OAAO8nG,UAAW3sG,KAAKqsG,WAAYrsG,KAAKssG,UAAYtsG,KAAKye,MAAQ,GAG9Jze,KAAKwsG,MAAM,GAAK,IAAIhrG,EAAO4qG,SAASpsG,KAAK6E,OAAOf,EAAG9D,KAAK6E,OAAOuxB,OAAQp2B,KAAK6E,OAAO6nG,SAAU1sG,KAAK6E,OAAO8nG,UAAW3sG,KAAKqsG,WAAYrsG,KAAKssG,UAAYtsG,KAAKye,MAAQ,GAGnKze,KAAKwsG,MAAM,GAAK,IAAIhrG,EAAO4qG,SAASpsG,KAAK6E,OAAO0uB,MAAOvzB,KAAK6E,OAAOuxB,OAAQp2B,KAAK6E,OAAO6nG,SAAU1sG,KAAK6E,OAAO8nG,UAAW3sG,KAAKqsG,WAAYrsG,KAAKssG,UAAYtsG,KAAKye,MAAQ,IAU3KquF,OAAQ,SAAUx7D,GAEd,IACI9oC,EADA9F,EAAI,EAIR,GAAqB,MAAjB1C,KAAKwsG,MAAM,KAII,KAFfhkG,EAAQxI,KAAKg1C,SAAS1D,KAW1B,GAFAtxC,KAAKusG,QAAQ7kG,KAAK4pC,GAEdtxC,KAAKusG,QAAQ5pG,OAAS3C,KAAKqsG,YAAcrsG,KAAKye,MAAQze,KAAKssG,UAS3D,IANqB,MAAjBtsG,KAAKwsG,MAAM,IAEXxsG,KAAK0xB,QAIFhvB,EAAI1C,KAAKusG,QAAQ5pG,SAIL,KAFf6F,EAAQxI,KAAKg1C,SAASh1C,KAAKusG,QAAQ7pG,KAK/B1C,KAAKwsG,MAAMhkG,GAAOskG,OAAO9sG,KAAKusG,QAAQ7jG,OAAOhG,EAAG,GAAG,IAInDA,SA3BJ1C,KAAKwsG,MAAMhkG,GAAOskG,OAAOx7D,IAyCrC0D,SAAU,SAAUta,GAGhB,IAAIlyB,GAAS,EA8Bb,OA5BIkyB,EAAK52B,EAAI9D,KAAK6E,OAAO0uB,OAASmH,EAAKnH,MAAQvzB,KAAK6E,OAAO0uB,MAEnDmH,EAAK32B,EAAI/D,KAAK6E,OAAOuxB,QAAUsE,EAAKtE,OAASp2B,KAAK6E,OAAOuxB,OAGzD5tB,EAAQ,EAEHkyB,EAAK32B,EAAI/D,KAAK6E,OAAOuxB,SAG1B5tB,EAAQ,GAGPkyB,EAAK52B,EAAI9D,KAAK6E,OAAO0uB,QAGtBmH,EAAK32B,EAAI/D,KAAK6E,OAAOuxB,QAAUsE,EAAKtE,OAASp2B,KAAK6E,OAAOuxB,OAGzD5tB,EAAQ,EAEHkyB,EAAK32B,EAAI/D,KAAK6E,OAAOuxB,SAG1B5tB,EAAQ,IAITA,GAWXukG,SAAU,SAAU/9F,GAEhB,GAAIA,aAAkBxN,EAAOS,UAEzB,IAAI+qG,EAAgBhtG,KAAKusG,QAErB/jG,EAAQxI,KAAKg1C,SAAShmC,OAG9B,CACI,IAAKA,EAAOsiC,KAER,OAAOtxC,KAAKysG,OAGhB,IAAIO,EAAgBhtG,KAAKusG,QAErB/jG,EAAQxI,KAAKg1C,SAAShmC,EAAOsiC,MAoBrC,OAjBItxC,KAAKwsG,MAAM,KAKPQ,GAFW,IAAXxkG,EAEgBwkG,EAAc58E,OAAOpwB,KAAKwsG,MAAMhkG,GAAOukG,SAAS/9F,KAOhEg+F,GADAA,GADAA,EAAgBA,EAAc58E,OAAOpwB,KAAKwsG,MAAM,GAAGO,SAAS/9F,KAC9BohB,OAAOpwB,KAAKwsG,MAAM,GAAGO,SAAS/9F,KAC9BohB,OAAOpwB,KAAKwsG,MAAM,GAAGO,SAAS/9F,KAC9BohB,OAAOpwB,KAAKwsG,MAAM,GAAGO,SAAS/9F,KAI7Dg+F,GAQXzyF,MAAO,WAEHva,KAAKusG,QAAQ5pG,OAAS,EAItB,IAFA,IAAID,EAAI1C,KAAKwsG,MAAM7pG,OAEZD,KAEH1C,KAAKwsG,MAAM9pG,GAAG6X,QACdva,KAAKwsG,MAAM9jG,OAAOhG,EAAG,GAGzB1C,KAAKwsG,MAAM7pG,OAAS,IAK5BnB,EAAO4qG,SAAS9pG,UAAUC,YAAcf,EAAO4qG,SAmD/C5qG,EAAO07C,IAAM,SAAUp6C,GAEnB9C,KAAK8C,KAAOA,GAIhBtB,EAAO07C,IAAI56C,WAQP2qG,YAAa,WAET,OAAIj9F,OAAOk9F,UAAYl9F,OAAOk9F,SAASC,SAC5Bn9F,OAAOk9F,SAASC,SAGpB,MAcXC,gBAAiB,SAAUC,GACvB,OAAqD,IAA9Cr9F,OAAOk9F,SAASC,SAASlkG,QAAQokG,IAgB5CC,kBAAmB,SAAU16F,EAAK5L,EAAOumG,EAAUl5B,QAE9B/tE,IAAbinG,IAA0BA,GAAW,QAC7BjnG,IAAR+tE,GAA6B,KAARA,IAAcA,EAAMrkE,OAAOk9F,SAASM,MAE7D,IAAIh4E,EAAS,GACTqgE,EAAK,IAAIkM,OAAO,UAAYnvF,EAAM,kBAAmB,MAEzD,GAAIijF,EAAGN,KAAKlhB,GAIJ7+C,OAFiB,IAAVxuB,GAAmC,OAAVA,EAEvBqtE,EAAIlgD,QAAQ0hE,EAAI,KAAOjjF,EAAM,IAAM5L,EAAQ,QAI3CqtE,EAAIlgD,QAAQ0hE,EAAI,QAAQ1hE,QAAQ,UAAW,SAKxD,QAAqB,IAAVntB,GAAmC,OAAVA,EACpC,CACI,IAAIymG,GAAkC,IAAtBp5B,EAAIprE,QAAQ,KAAc,IAAM,IAC5CsoC,EAAO8iC,EAAI3iD,MAAM,KACrB2iD,EAAM9iC,EAAK,GAAKk8D,EAAY76F,EAAM,IAAM5L,EAEpCuqC,EAAK,KACL8iC,GAAO,IAAM9iC,EAAK,IAGtB/b,EAAS6+C,OAKT7+C,EAAS6+C,EAIjB,IAAIk5B,EAMA,OAAO/3E,EAJPxlB,OAAOk9F,SAASM,KAAOh4E,GAiB/Bk4E,eAAgB,SAAUC,QAEJrnG,IAAdqnG,IAA2BA,EAAY,IAE3C,IAAIn4E,KACAo4E,EAAYV,SAASW,OAAO3d,UAAU,GAAGx+D,MAAM,KAEnD,IAAK,IAAIhvB,KAAKkrG,EACd,CACI,IAAIh7F,EAAMg7F,EAAUlrG,GAAGgvB,MAAM,KAE7B,GAAI9e,EAAIjQ,OAAS,EACjB,CACI,GAAIgrG,GAAaA,IAAc3tG,KAAK8tG,UAAUl7F,EAAI,IAE9C,OAAO5S,KAAK8tG,UAAUl7F,EAAI,IAI1B4iB,EAAOx1B,KAAK8tG,UAAUl7F,EAAI,KAAO5S,KAAK8tG,UAAUl7F,EAAI,KAKhE,OAAO4iB,GAYXs4E,UAAW,SAAU9mG,GACjB,OAAO+mG,mBAAmB/mG,EAAMmtB,QAAQ,MAAO,QAKvD3yB,EAAO07C,IAAI56C,UAAUC,YAAcf,EAAO07C,IAqB1C17C,EAAOq7C,aAAe,SAAU/5C,GAK5B9C,KAAK8C,KAAOA,EAaZ9C,KAAKguG,YAAa,EAMlBhuG,KAAKiuG,WAMLjuG,KAAKkuG,QAELluG,KAAKmuG,SAEDC,OAAU5sG,EAAO6sG,OAAOD,OACxBE,OAAU9sG,EAAO6sG,OAAOC,OACxBC,OAAU/sG,EAAO6sG,OAAOE,OACxBC,OAAUhtG,EAAO6sG,OAAOG,OACxBC,OAAUjtG,EAAO6sG,OAAOI,OAExBC,OAAUltG,EAAO6sG,OAAOK,OAAOC,KAC/BC,KAAQptG,EAAO6sG,OAAOQ,UAAUC,IAChCC,MAASvtG,EAAO6sG,OAAOU,MAAMD,IAC7BE,MAASxtG,EAAO6sG,OAAOY,QAAQH,IAC/BI,MAAS1tG,EAAO6sG,OAAOc,QAAQL,IAC/BM,KAAQ5tG,EAAO6sG,OAAOgB,WAAWP,IACjCQ,KAAQ9tG,EAAO6sG,OAAOkB,YAAYT,IAClCU,KAAQhuG,EAAO6sG,OAAOoB,SAASX,IAC/BY,QAAWluG,EAAO6sG,OAAOqB,QAAQZ,IACjCa,KAAQnuG,EAAO6sG,OAAOsB,KAAKb,IAC3Bc,OAAUpuG,EAAO6sG,OAAOuB,OAAOd,IAE/Be,cAAeruG,EAAO6sG,OAAOQ,UAAUiB,GACvCC,eAAgBvuG,EAAO6sG,OAAOU,MAAMe,GACpCE,eAAgBxuG,EAAO6sG,OAAOY,QAAQa,GACtCG,eAAgBzuG,EAAO6sG,OAAOc,QAAQW,GACtCI,cAAe1uG,EAAO6sG,OAAOgB,WAAWS,GACxCK,cAAe3uG,EAAO6sG,OAAOkB,YAAYO,GACzCM,cAAe5uG,EAAO6sG,OAAOoB,SAASK,GACtCO,iBAAkB7uG,EAAO6sG,OAAOqB,QAAQI,GACxCQ,cAAe9uG,EAAO6sG,OAAOsB,KAAKG,GAClCS,gBAAiB/uG,EAAO6sG,OAAOuB,OAAOE,GAEtCU,eAAgBhvG,EAAO6sG,OAAOQ,UAAUC,IACxC2B,gBAAiBjvG,EAAO6sG,OAAOU,MAAMD,IACrC4B,gBAAiBlvG,EAAO6sG,OAAOY,QAAQH,IACvC6B,gBAAiBnvG,EAAO6sG,OAAOc,QAAQL,IACvC8B,eAAgBpvG,EAAO6sG,OAAOgB,WAAWP,IACzC+B,eAAgBrvG,EAAO6sG,OAAOkB,YAAYT,IAC1CgC,eAAgBtvG,EAAO6sG,OAAOoB,SAASX,IACvCiC,kBAAmBvvG,EAAO6sG,OAAOqB,QAAQZ,IACzCkC,eAAgBxvG,EAAO6sG,OAAOsB,KAAKb,IACnCmC,iBAAkBzvG,EAAO6sG,OAAOuB,OAAOd,IAEvCoC,iBAAkB1vG,EAAO6sG,OAAOQ,UAAUsC,MAC1CC,kBAAmB5vG,EAAO6sG,OAAOU,MAAMoC,MACvCE,kBAAmB7vG,EAAO6sG,OAAOY,QAAQkC,MACzCG,kBAAmB9vG,EAAO6sG,OAAOc,QAAQgC,MACzCI,iBAAkB/vG,EAAO6sG,OAAOgB,WAAW8B,MAC3CK,iBAAkBhwG,EAAO6sG,OAAOkB,YAAY4B,MAC5CM,iBAAkBjwG,EAAO6sG,OAAOoB,SAAS0B,MACzCO,oBAAqBlwG,EAAO6sG,OAAOqB,QAAQyB,MAC3CQ,iBAAkBnwG,EAAO6sG,OAAOsB,KAAKwB,MACrCS,mBAAoBpwG,EAAO6sG,OAAOuB,OAAOuB,OAI7CnxG,KAAK8C,KAAKwlC,QAAQvP,IAAI/4B,KAAK6xG,UAAW7xG,MACtCA,KAAK8C,KAAK0lC,SAASzP,IAAI/4B,KAAK8xG,WAAY9xG,OAI5CwB,EAAOq7C,aAAav6C,WAOhBg3C,OAAQ,WAEJ,OAAOt5C,KAAKiuG,SAQhBxkE,UAAW,WAEP,IAAK,IAAI/mC,EAAI,EAAGA,EAAI1C,KAAKiuG,QAAQtrG,OAAQD,IAErC1C,KAAKiuG,QAAQvrG,GAAGqvG,eAAgB,EAGpC/xG,KAAKkuG,SAWTliC,WAAY,SAAUp6C,EAAKnvB,QAEN6D,IAAb7D,IAA0BA,GAAW,GAKzC,GAAI4E,MAAMC,QAAQsqB,GAEd,IAAKlvB,EAAI,EAAGmuB,EAAMe,EAAIjvB,OAAQD,EAAImuB,EAAKnuB,IAEnC1C,KAAKgsE,WAAWp6C,EAAIlvB,SAGvB,GAAIkvB,EAAIxe,OAAS5R,EAAOorB,OAASnqB,EAElC,IAAK,IAAIC,EAAI,EAAGmuB,EAAMe,EAAInvB,SAASE,OAAQD,EAAImuB,EAAKnuB,IAEhD1C,KAAKgsE,WAAWp6C,EAAInvB,SAASC,QAIrC,CACI,IAAKA,EAAI,EAAGmuB,EAAM7wB,KAAKiuG,QAAQtrG,OAAQD,EAAImuB,EAAKnuB,IAExCkvB,IAAQ5xB,KAAKiuG,QAAQvrG,GAAGkF,QAExB5H,KAAK+b,OAAO/b,KAAKiuG,QAAQvrG,IAIjC,IAAKA,EAAI,EAAGmuB,EAAM7wB,KAAKkuG,KAAKvrG,OAAQD,EAAImuB,EAAKnuB,IAErCkvB,IAAQ5xB,KAAKkuG,KAAKxrG,GAAGkF,QAErB5H,KAAK+b,OAAO/b,KAAKkuG,KAAKxrG,MActCq2B,IAAK,SAAU+4C,GAEXA,EAAMkgC,SAAWhyG,KACjBA,KAAKkuG,KAAKxmG,KAAKoqE,IAWnB1pE,OAAQ,SAAUwwC,GAEd,OAAO,IAAIp3C,EAAOgzE,MAAM57B,EAAQ54C,KAAK8C,KAAM9C,OAU/C+b,OAAQ,SAAU+1D,GAEd,IAAIpvE,EAAI1C,KAAKiuG,QAAQhlG,QAAQ6oE,IAElB,IAAPpvE,EAEA1C,KAAKiuG,QAAQvrG,GAAGqvG,eAAgB,GAMrB,KAFXrvG,EAAI1C,KAAKkuG,KAAKjlG,QAAQ6oE,MAIlB9xE,KAAKkuG,KAAKxrG,GAAGqvG,eAAgB,IAYzCptE,OAAQ,WAEJ,IAAIstE,EAAYjyG,KAAKkuG,KAAKvrG,OACtBuvG,EAAYlyG,KAAKiuG,QAAQtrG,OAE7B,GAAkB,IAAduvG,GAAiC,IAAdD,EAEnB,OAAO,EAKX,IAFA,IAAIvvG,EAAI,EAEDA,EAAIwvG,GAEHlyG,KAAKiuG,QAAQvrG,GAAGiiC,OAAO3kC,KAAK8C,KAAKiiC,KAAKA,MAEtCriC,KAIA1C,KAAKiuG,QAAQvlG,OAAOhG,EAAG,GAEvBwvG,KAWR,OANID,EAAY,IAEZjyG,KAAKiuG,QAAUjuG,KAAKiuG,QAAQ79E,OAAOpwB,KAAKkuG,MACxCluG,KAAKkuG,KAAKvrG,OAAS,IAGhB,GAcXwvG,WAAY,SAASv5D,EAAQw5D,GAIzB,OAFKA,IAAkBA,GAAiB,GAEjCpyG,KAAKiuG,QAAQoE,KAAK,SAASvgC,GAC9B,OAAQA,EAAMlqE,SAAWgxC,KAAaw5D,GAAmBtgC,EAAMn3B,YAAcm3B,EAAMigC,kBAW3FF,UAAW,WAEP,IAAK,IAAInvG,EAAI1C,KAAKiuG,QAAQtrG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKiuG,QAAQvrG,GAAG4vG,UAWxBR,WAAY,WAER,IAAK,IAAIpvG,EAAI1C,KAAKiuG,QAAQtrG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKiuG,QAAQvrG,GAAG6vG,WAUxBC,SAAU,WAEN,IAAK,IAAI9vG,EAAI1C,KAAKiuG,QAAQtrG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKiuG,QAAQvrG,GAAG6lC,SAUxBkqE,UAAW,WAEP,IAAK,IAAI/vG,EAAI1C,KAAKiuG,QAAQtrG,OAAS,EAAGD,GAAK,EAAGA,IAE1C1C,KAAKiuG,QAAQvrG,GAAG+lC,QAAO,KAOnCjnC,EAAOq7C,aAAav6C,UAAUC,YAAcf,EAAOq7C,aAqBnDr7C,EAAOgzE,MAAQ,SAAU5sE,EAAQ9E,EAAM4vG,GAKnC1yG,KAAK8C,KAAOA,EAKZ9C,KAAK4H,OAASA,EAKd5H,KAAK0yG,QAAUA,EAKf1yG,KAAK2yG,YASL3yG,KAAKke,SAAU,EASfle,KAAK4yG,UAAY,EAKjB5yG,KAAK6yG,cAAgB,EAOrB7yG,KAAK+xG,eAAgB,EAOrB/xG,KAAK8yG,QAAU,IAAItxG,EAAO0gC,OAQ1BliC,KAAK+yG,OAAS,IAAIvxG,EAAO0gC,OAOzBliC,KAAKgzG,SAAW,IAAIxxG,EAAO0gC,OAQ3BliC,KAAKizG,gBAAkB,IAAIzxG,EAAO0gC,OAOlCliC,KAAKkzG,WAAa,IAAI1xG,EAAO0gC,OAM7BliC,KAAK26C,WAAY,EAOjB36C,KAAKunC,QAAU,EAKfvnC,KAAKyzF,cAKLzzF,KAAKmzG,aAAe,KAMpBnzG,KAAKozG,UAAW,EAgBhBpzG,KAAKguG,WAAa0E,EAAQ1E,WAO1BhuG,KAAKqzG,kBAAoB,KAOzBrzG,KAAKszG,yBAA2B,KAOhCtzG,KAAKuzG,YAAc,EAMnBvzG,KAAKs7C,aAAc,EAMnBt7C,KAAKwzG,aAAc,GAwBvBhyG,EAAOgzE,MAAMrjC,YAAc,SAAU2gC,GAEjCtwE,EAAOue,MAAMoxB,YAAY2gC,EAAMlqE,SAInCpG,EAAOgzE,MAAMlyE,WAkBT4uB,GAAI,SAAUuiE,EAAY/wD,EAAU+wE,EAAM/qE,EAAWiuB,EAAOpiD,EAAQm/F,GAchE,YAZiBptG,IAAbo8B,GAA0BA,GAAY,KAAKA,EAAW,UAC7Cp8B,IAATmtG,GAA+B,OAATA,IAAiBA,EAAOjyG,EAAO6sG,OAAOsF,cAC9CrtG,IAAdoiC,IAA2BA,GAAY,QAC7BpiC,IAAVqwD,IAAuBA,EAAQ,QACpBrwD,IAAXiO,IAAwBA,EAAS,QACxBjO,IAATotG,IAAsBA,GAAO,GAEb,iBAATD,GAAqBzzG,KAAK0yG,QAAQvE,QAAQsF,KAEjDA,EAAOzzG,KAAK0yG,QAAQvE,QAAQsF,IAG5BzzG,KAAK26C,WAELr6C,QAAQ0Z,KAAK,sDACNha,OAGXA,KAAK2yG,SAASjrG,KAAK,IAAIlG,EAAOoyG,UAAU5zG,MAAMkxB,GAAGuiE,EAAY/wD,EAAU+wE,EAAM98C,EAAOpiD,EAAQm/F,IAExFhrE,GAEA1oC,KAAKgM,QAGFhM,OAoBXwF,KAAM,SAAUiuF,EAAY/wD,EAAU+wE,EAAM/qE,EAAWiuB,EAAOpiD,EAAQm/F,GAclE,YAZiBptG,IAAbo8B,IAA0BA,EAAW,UAC5Bp8B,IAATmtG,GAA+B,OAATA,IAAiBA,EAAOjyG,EAAO6sG,OAAOsF,cAC9CrtG,IAAdoiC,IAA2BA,GAAY,QAC7BpiC,IAAVqwD,IAAuBA,EAAQ,QACpBrwD,IAAXiO,IAAwBA,EAAS,QACxBjO,IAATotG,IAAsBA,GAAO,GAEb,iBAATD,GAAqBzzG,KAAK0yG,QAAQvE,QAAQsF,KAEjDA,EAAOzzG,KAAK0yG,QAAQvE,QAAQsF,IAG5BzzG,KAAK26C,WAELr6C,QAAQ0Z,KAAK,wDACNha,OAGXA,KAAK2yG,SAASjrG,KAAK,IAAIlG,EAAOoyG,UAAU5zG,MAAMwF,KAAKiuF,EAAY/wD,EAAU+wE,EAAM98C,EAAOpiD,EAAQm/F,IAE1FhrE,GAEA1oC,KAAKgM,QAGFhM,OAeXgM,MAAO,SAAUxD,GAIb,QAFclC,IAAVkC,IAAuBA,EAAQ,GAE/BxI,KAAK+xG,cAGL,OADAzxG,QAAQ0Z,KAAK,wDACNha,KAGX,GAAkB,OAAdA,KAAK8C,MAAiC,OAAhB9C,KAAK4H,QAA4C,IAAzB5H,KAAK2yG,SAAShwG,QAAgB3C,KAAK26C,UAEjF,OAAO36C,KAIX,IAAS0C,EAAI,EAAGA,EAAI1C,KAAK2yG,SAAShwG,OAAQD,IAGtC,IAAK,IAAIwzC,KAAYl2C,KAAK2yG,SAASjwG,GAAGmxG,KAElC7zG,KAAKyzF,WAAWv9C,GAAYl2C,KAAK4H,OAAOsuC,IAAa,EAEhD7uC,MAAMC,QAAQtH,KAAKyzF,WAAWv9C,MAG/Bl2C,KAAKyzF,WAAWv9C,IAAa,GAKzC,IAAK,IAAIxzC,EAAI,EAAGA,EAAI1C,KAAK2yG,SAAShwG,OAAQD,IAEtC1C,KAAK2yG,SAASjwG,GAAGoxG,aAgBrB,OAbA9zG,KAAK0yG,QAAQ35E,IAAI/4B,MAEjBA,KAAK26C,WAAY,GAEbnyC,EAAQ,GAAKA,EAAQxI,KAAK2yG,SAAShwG,OAAS,KAE5C6F,EAAQ,GAGZxI,KAAKunC,QAAU/+B,EAEfxI,KAAK2yG,SAAS3yG,KAAKunC,SAASv7B,QAErBhM,MAcX6L,KAAM,SAAUme,GAsBZ,YApBiB1jB,IAAb0jB,IAA0BA,GAAW,GAEzChqB,KAAK26C,WAAY,EAEjB36C,KAAKqzG,kBAAoB,KACzBrzG,KAAKszG,yBAA2B,KAE5BtpF,IAEAhqB,KAAKkzG,WAAWjuE,SAASjlC,KAAK4H,OAAQ5H,MACtCA,KAAKwzG,aAAc,EAEfxzG,KAAKmzG,cAELnzG,KAAKmzG,aAAannG,SAI1BhM,KAAK0yG,QAAQ32F,OAAO/b,MAEbA,MAeX+zG,gBAAiB,SAAU79D,EAAUlvC,EAAOwB,GAExC,GAA6B,IAAzBxI,KAAK2yG,SAAShwG,OAAgB,OAAO3C,KAIzC,QAFcsG,IAAVkC,IAAuBA,EAAQ,IAEpB,IAAXA,EAEA,IAAK,IAAI9F,EAAI,EAAGA,EAAI1C,KAAK2yG,SAAShwG,OAAQD,IAEtC1C,KAAK2yG,SAASjwG,GAAGwzC,GAAYlvC,OAKjChH,KAAK2yG,SAASnqG,GAAO0tC,GAAYlvC,EAGrC,OAAOhH,MAeX22D,MAAO,SAAUj0B,EAAUl6B,GAEvB,OAAOxI,KAAK+zG,gBAAgB,QAASrxE,EAAUl6B,IAgBnD+L,OAAQ,SAAU2jC,EAAO87D,EAAaxrG,GAOlC,YALoBlC,IAAhB0tG,IAA6BA,EAAc,GAE/Ch0G,KAAK+zG,gBAAgB,gBAAiB77D,EAAO1vC,GAC7CxI,KAAK+zG,gBAAgB,cAAe77D,EAAO1vC,GAEpCxI,KAAK+zG,gBAAgB,cAAeC,EAAaxrG,IAe5DwrG,YAAa,SAAUtxE,EAAUl6B,GAE7B,OAAOxI,KAAK+zG,gBAAgB,cAAerxE,EAAUl6B,IAiBzDkrG,KAAM,SAAS/6F,EAAQs7F,EAAWzrG,GAM9B,YAJkBlC,IAAd2tG,IAA2BA,EAAY,GAE3Cj0G,KAAK+zG,gBAAgB,OAAQp7F,EAAQnQ,GAE9BxI,KAAK+zG,gBAAgB,YAAaE,EAAWzrG,IAexDyrG,UAAW,SAAUvxE,EAAUl6B,GAE3B,OAAOxI,KAAK+zG,gBAAgB,YAAarxE,EAAUl6B,IAevD0rG,OAAQ,SAAUT,EAAMjrG,GAOpB,MALoB,iBAATirG,GAAqBzzG,KAAK0yG,QAAQvE,QAAQsF,KAEjDA,EAAOzzG,KAAK0yG,QAAQvE,QAAQsF,IAGzBzzG,KAAK+zG,gBAAgB,iBAAkBN,EAAMjrG,IAgBxD2rG,cAAe,SAAUA,EAAe1mG,EAASjF,GAM7C,YAJgBlC,IAAZmH,IAAyBA,EAAUjM,EAAOiC,MAE9CzD,KAAK+zG,gBAAgB,wBAAyBI,EAAe3rG,GAEtDxI,KAAK+zG,gBAAgB,uBAAwBtmG,EAASjF,IAYjE4rG,UAAW,SAAUl8D,GAMjB,YAJc5xC,IAAV4xC,IAAuBA,EAAQ,GAEnCl4C,KAAK6yG,cAAgB36D,EAEdl4C,MAkBXq0G,MAAO,WAIH,IAFA,IAAI3xG,EAAI2tB,UAAU1tB,OAEXD,KAECA,EAAI,EAEJ2tB,UAAU3tB,EAAI,GAAGywG,aAAe9iF,UAAU3tB,GAI1C1C,KAAKmzG,aAAe9iF,UAAU3tB,GAItC,OAAO1C,MAoBXupE,KAAM,SAAUviE,GAMZ,YAJcV,IAAVU,IAAuBA,GAAQ,GAEnChH,KAAK6yG,cAAgB,GAAW,EAAI,EAE7B7yG,MAoBX4nC,iBAAkB,SAAUuM,EAAUtL,GAKlC,OAHA7oC,KAAKqzG,kBAAoBl/D,EACzBn0C,KAAKszG,yBAA2BzqE,EAEzB7oC,MASXuoC,MAAO,WAEHvoC,KAAKozG,UAAW,EAEhBpzG,KAAKs7C,aAAc,EAEnBt7C,KAAKuzG,YAAcvzG,KAAK8C,KAAKiiC,KAAKA,MAUtCutE,OAAQ,WAECtyG,KAAKs7C,cAENt7C,KAAKozG,UAAW,EAEhBpzG,KAAKuzG,YAAcvzG,KAAK8C,KAAKiiC,KAAKA,OAU1C0D,OAAQ,WAEJ,GAAIzoC,KAAKozG,SACT,CACIpzG,KAAKozG,UAAW,EAEhBpzG,KAAKs7C,aAAc,EAEnB,IAAK,IAAI54C,EAAI,EAAGA,EAAI1C,KAAK2yG,SAAShwG,OAAQD,IAEjC1C,KAAK2yG,SAASjwG,GAAGi4C,YAElB36C,KAAK2yG,SAASjwG,GAAG4xG,WAAct0G,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAKuzG,eAY1EhB,QAAS,WAEDvyG,KAAKs7C,aAMLt7C,KAAKyoC,UAYb9D,OAAQ,SAAUI,GAEd,GAAI/kC,KAAK+xG,gBAAkB/xG,KAAK4H,OAE5B,OAAO,EAGX,GAAI5H,KAAKozG,SAEL,OAAO,EAGX,IAAImB,EAASv0G,KAAK2yG,SAAS3yG,KAAKunC,SAAS5C,OAAOI,GAEhD,GAAIwvE,IAAW/yG,EAAOoyG,UAAUY,QAE5B,OAAO,EAEN,GAAID,IAAW/yG,EAAOoyG,UAAUa,QAcjC,OAZKz0G,KAAKwzG,cAENxzG,KAAK8yG,QAAQ7tE,SAASjlC,KAAK4H,OAAQ5H,MACnCA,KAAKwzG,aAAc,GAGQ,OAA3BxzG,KAAKqzG,mBAELrzG,KAAKqzG,kBAAkB9uG,KAAKvE,KAAKszG,yBAA0BtzG,KAAMA,KAAK2yG,SAAS3yG,KAAKunC,SAASvgC,MAAOhH,KAAK2yG,SAAS3yG,KAAKunC,UAIpHvnC,KAAK26C,UAEX,GAAI45D,IAAW/yG,EAAOoyG,UAAUc,OAWjC,OATmD,IAA/C10G,KAAK2yG,SAAS3yG,KAAKunC,SAASsrE,cAE5B7yG,KAAK+yG,OAAO9tE,SAASjlC,KAAK4H,OAAQ5H,MAIlCA,KAAKgzG,SAAS/tE,SAASjlC,KAAK4H,OAAQ5H,OAGjC,EAEN,GAAIu0G,IAAW/yG,EAAOoyG,UAAUe,SACrC,CACI,IAAI3qF,GAAW,EAwBf,OArBIhqB,KAAKke,UAELle,KAAKunC,QAEc,IAEfvnC,KAAKunC,QAAUvnC,KAAK2yG,SAAShwG,OAAS,EACtCqnB,GAAW,KAKfhqB,KAAKunC,UAEgBvnC,KAAK2yG,SAAShwG,SAE/B3C,KAAKunC,QAAU,EACfvd,GAAW,GAIfA,GAG4B,IAAxBhqB,KAAK6yG,eAEL7yG,KAAK2yG,SAAS3yG,KAAKunC,SAASv7B,QAC5BhM,KAAK+yG,OAAO9tE,SAASjlC,KAAK4H,OAAQ5H,OAC3B,GAEFA,KAAK6yG,cAAgB,GAE1B7yG,KAAK6yG,gBAEL7yG,KAAK2yG,SAAS3yG,KAAKunC,SAASv7B,QAC5BhM,KAAKgzG,SAAS/tE,SAASjlC,KAAK4H,OAAQ5H,OAC7B,IAKPA,KAAK26C,WAAY,EACjB36C,KAAKkzG,WAAWjuE,SAASjlC,KAAK4H,OAAQ5H,MACtCA,KAAKwzG,aAAc,EAEfxzG,KAAKmzG,cAELnzG,KAAKmzG,aAAannG,SAGf,IAMXhM,KAAKizG,gBAAgBhuE,SAASjlC,KAAK4H,OAAQ5H,MAC3CA,KAAK2yG,SAAS3yG,KAAKunC,SAASv7B,SACrB,KAiBnB4oG,aAAc,SAAUtrC,EAAWt1D,GAE/B,GAAkB,OAAdhU,KAAK8C,MAAiC,OAAhB9C,KAAK4H,OAE3B,OAAO,UAGOtB,IAAdgjE,IAA2BA,EAAY,SAC9BhjE,IAAT0N,IAAsBA,MAG1B,IAAStR,EAAI,EAAGA,EAAI1C,KAAK2yG,SAAShwG,OAAQD,IAGtC,IAAK,IAAIwzC,KAAYl2C,KAAK2yG,SAASjwG,GAAGmxG,KAElC7zG,KAAKyzF,WAAWv9C,GAAYl2C,KAAK4H,OAAOsuC,IAAa,EAEhD7uC,MAAMC,QAAQtH,KAAKyzF,WAAWv9C,MAG/Bl2C,KAAKyzF,WAAWv9C,IAAa,GAKzC,IAASxzC,EAAI,EAAGA,EAAI1C,KAAK2yG,SAAShwG,OAAQD,IAEtC1C,KAAK2yG,SAASjwG,GAAGoxG,aAGrB,IAAK,IAAIpxG,EAAI,EAAGA,EAAI1C,KAAK2yG,SAAShwG,OAAQD,IAEtCsR,EAAOA,EAAKoc,OAAOpwB,KAAK2yG,SAASjwG,GAAGkyG,aAAatrC,IAGrD,OAAOt1D,IAUfpN,OAAOuF,eAAe3K,EAAOgzE,MAAMlyE,UAAW,iBAE1CwE,IAAK,WAID,IAAK,IAFDoxC,EAAQ,EAEHx1C,EAAI,EAAGA,EAAI1C,KAAK2yG,SAAShwG,OAAQD,IAEtCw1C,GAASl4C,KAAK2yG,SAASjwG,GAAGggC,SAG9B,OAAOwV,KAMf12C,EAAOgzE,MAAMlyE,UAAUC,YAAcf,EAAOgzE,MAiB5ChzE,EAAOoyG,UAAY,SAAUvyG,GAKzBrB,KAAKqB,OAASA,EAKdrB,KAAK8C,KAAOzB,EAAOyB,KAMnB9C,KAAK60G,UAML70G,KAAK80G,eAML90G,KAAK6zG,QAML7zG,KAAK+0G,aAML/0G,KAAK0iC,SAAW,IAMhB1iC,KAAKyrG,QAAU,EAMfzrG,KAAKgH,MAAQ,EAKbhH,KAAK6yG,cAAgB,EAKrB7yG,KAAKg0G,YAAc,EAMnBh0G,KAAKg1G,YAAc,EAOnBh1G,KAAK+9B,aAAc,EAMnB/9B,KAAK0zG,MAAO,EAKZ1zG,KAAKi0G,UAAY,EAMjBj0G,KAAKi1G,WAAY,EAMjBj1G,KAAK22D,MAAQ,EAKb32D,KAAK6qF,GAAK,EAKV7qF,KAAKs0G,UAAY,KAMjBt0G,KAAKk1G,eAAiB1zG,EAAO6sG,OAAOsF,QAMpC3zG,KAAKm1G,sBAAwB3zG,EAAOiC,KAAKumG,oBAMzChqG,KAAKo1G,qBAAuB5zG,EAAOiC,KAMnCzD,KAAK26C,WAAY,EAMjB36C,KAAKq1G,QAAS,GAQlB7zG,EAAOoyG,UAAUY,QAAU,EAM3BhzG,EAAOoyG,UAAUa,QAAU,EAM3BjzG,EAAOoyG,UAAUc,OAAS,EAM1BlzG,EAAOoyG,UAAUe,SAAW,EAE5BnzG,EAAOoyG,UAAUtxG,WAeb4uB,GAAI,SAAUuiE,EAAY/wD,EAAU+wE,EAAM98C,EAAOpiD,EAAQm/F,GAWrD,OATA1zG,KAAK6zG,KAAOpgB,EACZzzF,KAAK0iC,SAAWA,EAChB1iC,KAAKk1G,eAAiBzB,EACtBzzG,KAAK22D,MAAQA,EACb32D,KAAKg1G,YAAczgG,EACnBvU,KAAK0zG,KAAOA,EAEZ1zG,KAAKq1G,QAAS,EAEPr1G,MAiBXwF,KAAM,SAAUiuF,EAAY/wD,EAAU+wE,EAAM98C,EAAOpiD,EAAQm/F,GAWvD,OATA1zG,KAAK6zG,KAAOpgB,EACZzzF,KAAK0iC,SAAWA,EAChB1iC,KAAKk1G,eAAiBzB,EACtBzzG,KAAK22D,MAAQA,EACb32D,KAAKg1G,YAAczgG,EACnBvU,KAAK0zG,KAAOA,EAEZ1zG,KAAKq1G,QAAS,EAEPr1G,MAUXgM,MAAO,WAsBH,GApBAhM,KAAKs0G,UAAYt0G,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK22D,MAExC32D,KAAKqB,OAAO6c,QAEZle,KAAK6qF,GAAK7qF,KAAK0iC,SAIf1iC,KAAK6qF,GAAK,EAGV7qF,KAAK22D,MAAQ,EAEb32D,KAAK26C,WAAY,EAIjB36C,KAAK26C,WAAY,EAGjB36C,KAAKq1G,OAGL,IAAK,IAAIn/D,KAAYl2C,KAAK80G,YAEtB90G,KAAK60G,OAAO3+D,GAAYl2C,KAAK+0G,UAAU7+D,GACvCl2C,KAAK6zG,KAAK39D,GAAYl2C,KAAK80G,YAAY5+D,GACvCl2C,KAAKqB,OAAOuG,OAAOsuC,GAAYl2C,KAAK60G,OAAO3+D,GAOnD,OAHAl2C,KAAKgH,MAAQ,EACbhH,KAAK6yG,cAAgB7yG,KAAKg1G,YAEnBh1G,MAWX8zG,WAAY,WAER,IAAK,IAAI59D,KAAYl2C,KAAKqB,OAAOoyF,WACjC,CAKI,GAHAzzF,KAAK60G,OAAO3+D,GAAYl2C,KAAKqB,OAAOoyF,WAAWv9C,GAG3C7uC,MAAMC,QAAQtH,KAAK6zG,KAAK39D,IAC5B,CACI,GAAmC,IAA/Bl2C,KAAK6zG,KAAK39D,GAAUvzC,OAEpB,SAGiB,IAAjB3C,KAAKyrG,UAILzrG,KAAK6zG,KAAK39D,IAAal2C,KAAK60G,OAAO3+D,IAAW9lB,OAAOpwB,KAAK6zG,KAAK39D,UAIpC,IAAxBl2C,KAAK6zG,KAAK39D,IAEkB,iBAAxBl2C,KAAK6zG,KAAK39D,KAGjBl2C,KAAK6zG,KAAK39D,GAAYl2C,KAAK60G,OAAO3+D,GAAYk+C,WAAWp0F,KAAK6zG,KAAK39D,GAAW,KAGlFl2C,KAAKqB,OAAOoyF,WAAWv9C,GAAYl2C,KAAK6zG,KAAK39D,IAK7Cl2C,KAAK6zG,KAAK39D,GAAYl2C,KAAK60G,OAAO3+D,GAGtCl2C,KAAK80G,YAAY5+D,GAAYl2C,KAAK60G,OAAO3+D,GACzCl2C,KAAK+0G,UAAU7+D,GAAYl2C,KAAK6zG,KAAK39D,GAGzC,OAAOl2C,MAYX2kC,OAAQ,SAAUI,GAEd,GAAK/kC,KAAK26C,WAcN,GAAI5V,EAAO/kC,KAAKs0G,UAEZ,OAAO9yG,EAAOoyG,UAAUa,YAfhC,CACI,KAAI1vE,GAAQ/kC,KAAKs0G,WAMb,OAAO9yG,EAAOoyG,UAAUY,QAJxBx0G,KAAK26C,WAAY,EAgBzB,IAAI26D,EAAMt1G,KAAKqB,OAAiB,WAAIrB,KAAK8C,KAAKiiC,KAAKyqC,iBAAmBxvE,KAAK8C,KAAKiiC,KAAKC,UAEjFhlC,KAAKqB,OAAO6c,SAEZle,KAAK6qF,IAAMyqB,EAAKt1G,KAAKqB,OAAOuxG,UAC5B5yG,KAAK6qF,GAAKpnF,KAAKuC,IAAIhG,KAAK6qF,GAAI,KAI5B7qF,KAAK6qF,IAAMyqB,EAAKt1G,KAAKqB,OAAOuxG,UAC5B5yG,KAAK6qF,GAAKpnF,KAAK21B,IAAIp5B,KAAK6qF,GAAI7qF,KAAK0iC,WAGrC1iC,KAAKyrG,QAAUzrG,KAAK6qF,GAAK7qF,KAAK0iC,SAE9B1iC,KAAKgH,MAAQhH,KAAKk1G,eAAel1G,KAAKyrG,SAEtC,IAAK,IAAIv1D,KAAYl2C,KAAK6zG,KAC1B,CACI,IAAI7nG,EAAQhM,KAAK60G,OAAO3+D,GACpBl7B,EAAMhb,KAAK6zG,KAAK39D,GAEhB7uC,MAAMC,QAAQ0T,GAEdhb,KAAKqB,OAAOuG,OAAOsuC,GAAYl2C,KAAKm1G,sBAAsB5wG,KAAKvE,KAAKo1G,qBAAsBp6F,EAAKhb,KAAKgH,OAIpGhH,KAAKqB,OAAOuG,OAAOsuC,GAAYlqC,GAAUgP,EAAMhP,GAAShM,KAAKgH,MAIrE,OAAMhH,KAAKqB,OAAO6c,SAA4B,IAAjBle,KAAKyrG,SAAmBzrG,KAAKqB,OAAO6c,SAA4B,IAAjBle,KAAKyrG,QAEtEzrG,KAAKuU,SAGT/S,EAAOoyG,UAAUa,SAa5BG,aAAc,SAAUtrC,GAEhBtpE,KAAKqB,OAAO6c,QAEZle,KAAK6qF,GAAK7qF,KAAK0iC,SAIf1iC,KAAK6qF,GAAK,EAGd,IAAI72E,KACAgW,GAAW,EACXurF,EAAO,EAAIjsC,EAAa,IAE5B,EACA,CACQtpE,KAAKqB,OAAO6c,SAEZle,KAAK6qF,IAAM0qB,EACXv1G,KAAK6qF,GAAKpnF,KAAKuC,IAAIhG,KAAK6qF,GAAI,KAI5B7qF,KAAK6qF,IAAM0qB,EACXv1G,KAAK6qF,GAAKpnF,KAAK21B,IAAIp5B,KAAK6qF,GAAI7qF,KAAK0iC,WAGrC1iC,KAAKyrG,QAAUzrG,KAAK6qF,GAAK7qF,KAAK0iC,SAE9B1iC,KAAKgH,MAAQhH,KAAKk1G,eAAel1G,KAAKyrG,SAEtC,IAAI+J,KAEJ,IAAK,IAAIt/D,KAAYl2C,KAAK6zG,KAC1B,CACI,IAAI7nG,EAAQhM,KAAK60G,OAAO3+D,GACpBl7B,EAAMhb,KAAK6zG,KAAK39D,GAEhB7uC,MAAMC,QAAQ0T,GAEdw6F,EAAKt/D,GAAYl2C,KAAKm1G,sBAAsB5wG,KAAKvE,KAAKo1G,qBAAsBp6F,EAAKhb,KAAKgH,OAItFwuG,EAAKt/D,GAAYlqC,GAAUgP,EAAMhP,GAAShM,KAAKgH,MAIvDgN,EAAKtM,KAAK8tG,KAEJx1G,KAAKqB,OAAO6c,SAA4B,IAAjBle,KAAKyrG,SAAmBzrG,KAAKqB,OAAO6c,SAA4B,IAAjBle,KAAKyrG,WAE7EzhF,GAAW,UAGTA,GAEV,GAAIhqB,KAAK0zG,KACT,CACI,IAAI+B,EAAWzhG,EAAK+b,QACpB0lF,EAASv3F,UACTlK,EAAOA,EAAKoc,OAAOqlF,GAGvB,OAAOzhG,GAWXO,OAAQ,WAGJ,GAAIvU,KAAK0zG,KACT,CAEI,GAAI1zG,KAAKi1G,WAAoC,IAAvBj1G,KAAK6yG,cAC3B,CAEI,IAAK,IAAI38D,KAAYl2C,KAAK80G,YAEtB90G,KAAK60G,OAAO3+D,GAAYl2C,KAAK80G,YAAY5+D,GACzCl2C,KAAK6zG,KAAK39D,GAAYl2C,KAAK+0G,UAAU7+D,GAKzC,OAFAl2C,KAAKi1G,WAAY,EAEVzzG,EAAOoyG,UAAUe,SAG5B30G,KAAKi1G,WAAaj1G,KAAKi1G,eAIvB,GAA2B,IAAvBj1G,KAAK6yG,cAEL,OAAOrxG,EAAOoyG,UAAUe,SAIhC,GAAI30G,KAAKi1G,UAGL,IAAK,IAAI/+D,KAAYl2C,KAAK80G,YAEtB90G,KAAK60G,OAAO3+D,GAAYl2C,KAAK+0G,UAAU7+D,GACvCl2C,KAAK6zG,KAAK39D,GAAYl2C,KAAK80G,YAAY5+D,OAI/C,CAEI,IAAK,IAAIA,KAAYl2C,KAAK80G,YAEtB90G,KAAK60G,OAAO3+D,GAAYl2C,KAAK80G,YAAY5+D,GACzCl2C,KAAK6zG,KAAK39D,GAAYl2C,KAAK+0G,UAAU7+D,GAKrCl2C,KAAK6yG,cAAgB,GAErB7yG,KAAK6yG,gBAwBb,OApBA7yG,KAAKs0G,UAAYt0G,KAAK8C,KAAKiiC,KAAKA,KAE5B/kC,KAAK0zG,MAAQ1zG,KAAKi1G,UAElBj1G,KAAKs0G,WAAat0G,KAAKi0G,UAEjBj0G,KAAKi1G,YAEXj1G,KAAKs0G,WAAat0G,KAAKg0G,aAGvBh0G,KAAKqB,OAAO6c,QAEZle,KAAK6qF,GAAK7qF,KAAK0iC,SAIf1iC,KAAK6qF,GAAK,EAGPrpF,EAAOoyG,UAAUc,SAMhClzG,EAAOoyG,UAAUtxG,UAAUC,YAAcf,EAAOoyG,UAehDpyG,EAAO6sG,QAOHK,QASIC,KAAM,SAAW13E,GAEb,OAAOA,IAWf43E,WASIiB,GAAI,SAAW74E,GAEX,OAAOA,EAAIA,GAWf63E,IAAK,SAAW73E,GAEZ,OAAOA,GAAM,EAAIA,IAWrBk6E,MAAO,SAAWl6E,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,GAC9B,MAAUA,GAAMA,EAAI,GAAM,KAW3C83E,OASIe,GAAI,SAAW74E,GAEX,OAAOA,EAAIA,EAAIA,GAWnB63E,IAAK,SAAW73E,GAEZ,QAASA,EAAIA,EAAIA,EAAI,GAWzBk6E,MAAO,SAAWl6E,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,EAAIA,EACpC,KAAUA,GAAK,GAAMA,EAAIA,EAAI,KAW5Cg4E,SASIa,GAAI,SAAW74E,GAEX,OAAOA,EAAIA,EAAIA,EAAIA,GAWvB63E,IAAK,SAAW73E,GAEZ,OAAO,KAAQA,EAAIA,EAAIA,EAAIA,GAW/Bk6E,MAAO,SAAWl6E,GAEd,OAAOA,GAAK,GAAM,EAAU,GAAMA,EAAIA,EAAIA,EAAIA,GACrC,KAAUA,GAAK,GAAMA,EAAIA,EAAIA,EAAI,KAWlDk4E,SASIW,GAAI,SAAW74E,GAEX,OAAOA,EAAIA,EAAIA,EAAIA,EAAIA,GAW3B63E,IAAK,SAAW73E,GAEZ,QAASA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,GAWjCk6E,MAAO,SAAWl6E,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAC5C,KAAUA,GAAK,GAAMA,EAAIA,EAAIA,EAAIA,EAAI,KAWpDo4E,YASIS,GAAI,SAAW74E,GAEX,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACb,EAAIxzB,KAAKI,IAAKozB,EAAIxzB,KAAKqxB,GAAK,IAWvCg6E,IAAK,SAAW73E,GAEZ,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACbxzB,KAAKG,IAAKqzB,EAAIxzB,KAAKqxB,GAAK,IAWnCq8E,MAAO,SAAWl6E,GAEd,OAAU,IAANA,EAAgB,EACV,IAANA,EAAgB,EACb,IAAQ,EAAIxzB,KAAKI,IAAKJ,KAAKqxB,GAAKmC,MAW/Cs4E,aASIO,GAAI,SAAW74E,GAEX,OAAa,IAANA,EAAU,EAAIxzB,KAAKglG,IAAK,KAAMxxE,EAAI,IAW7C63E,IAAK,SAAW73E,GAEZ,OAAa,IAANA,EAAU,EAAI,EAAIxzB,KAAKglG,IAAK,GAAK,GAAKxxE,IAWjDk6E,MAAO,SAAWl6E,GAEd,OAAW,IAANA,EAAiB,EACX,IAANA,EAAiB,GACfA,GAAK,GAAM,EAAW,GAAMxzB,KAAKglG,IAAK,KAAMxxE,EAAI,GAChD,IAA4C,EAAlCxzB,KAAKglG,IAAK,GAAK,IAAOxxE,EAAI,OAWnDw4E,UASIK,GAAI,SAAW74E,GAEX,OAAO,EAAIxzB,KAAKS,KAAM,EAAI+yB,EAAIA,IAWlC63E,IAAK,SAAW73E,GAEZ,OAAOxzB,KAAKS,KAAM,KAAQ+yB,EAAIA,IAWlCk6E,MAAO,SAAWl6E,GAEd,OAAOA,GAAK,GAAM,GAAY,IAAQxzB,KAAKS,KAAM,EAAI+yB,EAAIA,GAAK,GACvD,IAAQxzB,KAAKS,KAAM,GAAM+yB,GAAK,GAAKA,GAAK,KAWvDy4E,SASII,GAAI,SAAW74E,GAEX,IAAI7yB,EAAGnB,EAAI,GACX,OAAW,IAANg0B,EAAiB,EACX,IAANA,EAAiB,IAChBh0B,GAAKA,EAAI,GAAMA,EAAI,EAAGmB,EAAIrB,IAC3BqB,EAJe,GAIPX,KAAKiyG,KAAM,EAAIzyG,IAAQ,EAAIQ,KAAKqxB,KAClC7xB,EAAIQ,KAAKglG,IAAK,EAAG,IAAOxxE,GAAK,IAAQxzB,KAAKG,KAAOqzB,EAAI7yB,IAAQ,EAAIX,KAAKqxB,IAL7D,MAgBxBg6E,IAAK,SAAW73E,GAEZ,IAAI7yB,EAAGnB,EAAI,GACX,OAAW,IAANg0B,EAAiB,EACX,IAANA,EAAiB,IAChBh0B,GAAKA,EAAI,GAAMA,EAAI,EAAGmB,EAAIrB,IAC3BqB,EAJe,GAIPX,KAAKiyG,KAAM,EAAIzyG,IAAQ,EAAIQ,KAAKqxB,IACpC7xB,EAAIQ,KAAKglG,IAAK,GAAK,GAAKxxE,GAAKxzB,KAAKG,KAAOqzB,EAAI7yB,IAAQ,EAAIX,KAAKqxB,IALnD,IAKgE,IAWxFq8E,MAAO,SAAWl6E,GAEd,IAAI7yB,EAAGnB,EAAI,GACX,OAAW,IAANg0B,EAAiB,EACX,IAANA,EAAiB,IAChBh0B,GAAKA,EAAI,GAAMA,EAAI,EAAGmB,EAAIrB,IAC3BqB,EAJe,GAIPX,KAAKiyG,KAAM,EAAIzyG,IAAQ,EAAIQ,KAAKqxB,KACtCmC,GAAK,GAAM,EAAqBh0B,EAAIQ,KAAKglG,IAAK,EAAG,IAAOxxE,GAAK,IAAQxzB,KAAKG,KAAOqzB,EAAI7yB,IAAQ,EAAIX,KAAKqxB,IALzF,KAKW,GACxB7xB,EAAIQ,KAAKglG,IAAK,GAAI,IAAOxxE,GAAK,IAAQxzB,KAAKG,KAAOqzB,EAAI7yB,IAAQ,EAAIX,KAAKqxB,IAN1D,IAMuE,GAAM,KAWzG66E,MASIG,GAAI,SAAW74E,GAEX,IAAI7yB,EAAI,QACR,OAAO6yB,EAAIA,IAAQ7yB,EAAI,GAAM6yB,EAAI7yB,IAWrC0qG,IAAK,SAAW73E,GAEZ,IAAI7yB,EAAI,QACR,QAAS6yB,EAAIA,IAAQ7yB,EAAI,GAAM6yB,EAAI7yB,GAAM,GAW7C+sG,MAAO,SAAWl6E,GAEd,IAAI7yB,EAAI,UACR,OAAO6yB,GAAK,GAAM,EAAmBA,EAAIA,IAAQ7yB,EAAI,GAAM6yB,EAAI7yB,GAAlC,GACtB,KAAU6yB,GAAK,GAAMA,IAAQ7yB,EAAI,GAAM6yB,EAAI7yB,GAAM,KAWhEwrG,QASIE,GAAI,SAAW74E,GAEX,OAAO,EAAIz1B,EAAO6sG,OAAOuB,OAAOd,IAAK,EAAI73E,IAW7C63E,IAAK,SAAW73E,GAEZ,OAAKA,EAAM,EAAI,KAEJ,OAASA,EAAIA,EAEZA,EAAM,EAAI,KAEX,QAAWA,GAAO,IAAM,MAAWA,EAAI,IAEtCA,EAAM,IAAM,KAEb,QAAWA,GAAO,KAAO,MAAWA,EAAI,MAIxC,QAAWA,GAAO,MAAQ,MAAWA,EAAI,SAaxDk6E,MAAO,SAAWl6E,GAEd,OAAKA,EAAI,GAAgD,GAAnCz1B,EAAO6sG,OAAOuB,OAAOE,GAAQ,EAAJ74E,GACA,GAAxCz1B,EAAO6sG,OAAOuB,OAAOd,IAAS,EAAJ73E,EAAQ,GAAY,MAQjEz1B,EAAO6sG,OAAOsF,QAAUnyG,EAAO6sG,OAAOK,OAAOC,KAC7CntG,EAAO6sG,OAAOD,OAAS5sG,EAAO6sG,OAAOK,OAAOC,KAC5CntG,EAAO6sG,OAAOC,OAAS9sG,EAAO6sG,OAAOQ,UAAUC,IAC/CttG,EAAO6sG,OAAOE,OAAS/sG,EAAO6sG,OAAOU,MAAMD,IAC3CttG,EAAO6sG,OAAOG,OAAShtG,EAAO6sG,OAAOY,QAAQH,IAC7CttG,EAAO6sG,OAAOI,OAASjtG,EAAO6sG,OAAOc,QAAQL,IAuC7CttG,EAAOo7C,KAAO,SAAU95C,GAMpB9C,KAAK8C,KAAOA,EAOZ9C,KAAK+kC,KAAO,EAOZ/kC,KAAK21G,SAAW,EAchB31G,KAAKo8C,IAAM,EAgBXp8C,KAAK8+C,QAAU,EAaf9+C,KAAKglC,UAAY,EAajBhlC,KAAKm8F,eAAiB,EAAI,GAO1Bn8F,KAAKwvE,iBAAoB,EAAI,GAAM,IAOnCxvE,KAAKy+C,eAAiB,EAAM,GAW5Bz+C,KAAK41G,YAAc,GAYnB51G,KAAK61G,aAAe71G,KAAK4+C,WAczB5+C,KAAK2+C,WAAa,EAOlB3+C,KAAK81G,gBAAiB,EAStB91G,KAAK84F,OAAS,EASd94F,KAAK+1G,QAAU,EASf/1G,KAAKg2G,QAAU,EASfh2G,KAAKu1G,IAAM,EASXv1G,KAAKi2G,IAAM,EASXj2G,KAAKk2G,IAAM,EASXl2G,KAAKm2G,OAAS,IASdn2G,KAAKo2G,OAAS,EAUdp2G,KAAKq2G,MAAQ,IASbr2G,KAAKs2G,MAAQ,EAObt2G,KAAKu2G,cAAgB,EAMrBv2G,KAAKsnG,WAAa,EAMlBtnG,KAAKw2G,aAAe,EAMpBx2G,KAAK2zC,OAAS,IAAInyC,EAAOi1G,MAAMz2G,KAAK8C,MAAM,GAM1C9C,KAAK02G,YAAc,EAMnB12G,KAAK22G,oBAAsB,EAM3B32G,KAAK42G,SAAW,EAMhB52G,KAAK62G,gBAAkB,EAMvB72G,KAAK82G,cAAgB,EAMrB92G,KAAK+2G,cAAe,EAMpB/2G,KAAKg3G,YAITx1G,EAAOo7C,KAAKt6C,WAQRmhC,KAAM,WAEFzjC,KAAK42G,SAAWhqE,KAAKwP,MACrBp8C,KAAK+kC,KAAO6H,KAAKwP,MACjBp8C,KAAK2zC,OAAO3nC,QACZhM,KAAKw2G,aAAex2G,KAAK+kC,MAW7BhM,IAAK,SAAUk+E,GAIX,OAFAj3G,KAAKg3G,QAAQtvG,KAAKuvG,GAEXA,GAWX7uG,OAAQ,SAAU8uG,QAEM5wG,IAAhB4wG,IAA6BA,GAAc,GAE/C,IAAID,EAAQ,IAAIz1G,EAAOi1G,MAAMz2G,KAAK8C,KAAMo0G,GAIxC,OAFAl3G,KAAKg3G,QAAQtvG,KAAKuvG,GAEXA,GASXxtE,UAAW,WAEP,IAAK,IAAI/mC,EAAI,EAAGA,EAAI1C,KAAKg3G,QAAQr0G,OAAQD,IAErC1C,KAAKg3G,QAAQt0G,GAAGF,UAGpBxC,KAAKg3G,WAELh3G,KAAK2zC,OAAOlK,aAShBrgB,QAAS,WAGL,IAAI+tF,EAAkBn3G,KAAK+kC,KAG3B/kC,KAAK+kC,KAAO6H,KAAKwP,MAGjBp8C,KAAKglC,UAAYhlC,KAAK+kC,KAAOoyE,GAWjCxyE,OAAQ,SAAUI,GAGd,IAAIoyE,EAAkBn3G,KAAK+kC,KAG3B/kC,KAAK+kC,KAAO6H,KAAKwP,MAGjBp8C,KAAKglC,UAAYhlC,KAAK+kC,KAAOoyE,EAG7Bn3G,KAAK21G,SAAW31G,KAAKo8C,IAIrBp8C,KAAKo8C,IAAMrX,EAGX/kC,KAAK8+C,QAAU9+C,KAAKo8C,IAAMp8C,KAAK21G,SAE3B31G,KAAK8C,KAAK83C,IAAIosD,gBAKdhnG,KAAKsnG,WAAa7jG,KAAKsL,MAAMtL,KAAKuC,IAAI,EAAI,IAAShG,KAAK41G,aAAgB51G,KAAKw2G,aAAezxE,KAG5F/kC,KAAKw2G,aAAezxE,EAAO/kC,KAAKsnG,YAKhCtnG,KAAK81G,gBAEL91G,KAAKo3G,uBAIJp3G,KAAK8C,KAAK6jC,SAGX3mC,KAAK2zC,OAAOhP,OAAO3kC,KAAK+kC,MAEpB/kC,KAAKg3G,QAAQr0G,QAEb3C,KAAKq3G,iBAajBA,aAAc,WAMV,IAHA,IAAI30G,EAAI,EACJmuB,EAAM7wB,KAAKg3G,QAAQr0G,OAEhBD,EAAImuB,GAEH7wB,KAAKg3G,QAAQt0G,GAAGiiC,OAAO3kC,KAAK+kC,MAE5BriC,KAKA1C,KAAKg3G,QAAQtuG,OAAOhG,EAAG,GACvBmuB,MAaZumF,qBAAsB,WAoBlB,GAjBAp3G,KAAK02G,cACL12G,KAAK22G,qBAAuB32G,KAAK8+C,QAG7B9+C,KAAK02G,aAAkC,EAAnB12G,KAAK41G,cAGzB51G,KAAK61G,aAAiF,EAAlEpyG,KAAKsL,MAAM,KAAO/O,KAAK22G,oBAAsB32G,KAAK02G,cACtE12G,KAAK02G,YAAc,EACnB12G,KAAK22G,oBAAsB,GAG/B32G,KAAKq2G,MAAQ5yG,KAAK21B,IAAIp5B,KAAKq2G,MAAOr2G,KAAK8+C,SACvC9+C,KAAKs2G,MAAQ7yG,KAAKuC,IAAIhG,KAAKs2G,MAAOt2G,KAAK8+C,SAEvC9+C,KAAK84F,SAED94F,KAAKo8C,IAAMp8C,KAAK62G,gBAAkB,IACtC,CACI,IAAIS,EAAWt3G,KAAKo8C,IAAMp8C,KAAK62G,gBAC/B72G,KAAKu1G,IAAM9xG,KAAK8xB,MAAsB,IAAfv1B,KAAK84F,OAAkBwe,GAC9Ct3G,KAAKi2G,IAAMxyG,KAAK8xB,MAAsB,IAAfv1B,KAAK+1G,QAAkBuB,GAC9Ct3G,KAAKk2G,IAAMzyG,KAAK8xB,MAAsB,IAAfv1B,KAAKg2G,QAAkBsB,GAC9Ct3G,KAAKm2G,OAAS1yG,KAAK21B,IAAIp5B,KAAKm2G,OAAQn2G,KAAKu1G,KACzCv1G,KAAKo2G,OAAS3yG,KAAKuC,IAAIhG,KAAKo2G,OAAQp2G,KAAKu1G,KACzCv1G,KAAK62G,gBAAkB72G,KAAKo8C,IAC5Bp8C,KAAK84F,OAAS,EACd94F,KAAK+1G,QAAU,EACf/1G,KAAKg2G,QAAU,IAWvBh3D,YAAa,WAELh/C,KAAK81G,gBAEL91G,KAAK+1G,WAWb92D,YAAa,WAELj/C,KAAK81G,gBAEL91G,KAAKg2G,WAWbhlE,WAAY,WAERhxC,KAAK82G,cAAgBlqE,KAAKwP,MAE1Bp8C,KAAK2zC,OAAOpL,QAIZ,IAFA,IAAI7lC,EAAI1C,KAAKg3G,QAAQr0G,OAEdD,KAEH1C,KAAKg3G,QAAQt0G,GAAG4vG,UAWxBrhE,YAAa,WAGTjxC,KAAK+kC,KAAO6H,KAAKwP,MAEjBp8C,KAAKu2G,cAAgBv2G,KAAK+kC,KAAO/kC,KAAK82G,cAEtC92G,KAAK2zC,OAAOlL,SAIZ,IAFA,IAAI/lC,EAAI1C,KAAKg3G,QAAQr0G,OAEdD,KAEH1C,KAAKg3G,QAAQt0G,GAAG6vG,WAWxB1kE,oBAAqB,WACjB,MAAqC,MAA7B7tC,KAAK+kC,KAAO/kC,KAAK42G,WAU7BW,aAAc,SAAUC,GACpB,OAAOx3G,KAAK+kC,KAAOyyE,GAUvBC,oBAAqB,SAAUD,GAC3B,MAA6B,MAArBx3G,KAAK+kC,KAAOyyE,IAQxB5xE,MAAO,WAEH5lC,KAAK42G,SAAW52G,KAAK+kC,KACrB/kC,KAAKypC,cAiBb7iC,OAAOuF,eAAe3K,EAAOo7C,KAAKt6C,UAAW,cAEzCwE,IAAK,WAED,OAAO9G,KAAK41G,aAIhB7uG,IAAK,SAAUC,GAEXhH,KAAK41G,YAAc5uG,EAInBhH,KAAKm8F,eAAiB,EAAIn1F,EAE1BhH,KAAKwvE,iBAAyC,IAAtBxvE,KAAKm8F,eAE7Bn8F,KAAKy+C,eAAiB,EAAMz3C,KAMpCxF,EAAOo7C,KAAKt6C,UAAUC,YAAcf,EAAOo7C,KAsB3Cp7C,EAAOi1G,MAAQ,SAAU3zG,EAAMo0G,QAEP5wG,IAAhB4wG,IAA6BA,GAAc,GAM/Cl3G,KAAK8C,KAAOA,EAUZ9C,KAAK03G,SAAU,EAMf13G,KAAKk3G,YAAcA,EAOnBl3G,KAAK23G,SAAU,EAMf33G,KAAK8+C,QAAU,EAKf9+C,KAAK2zC,UASL3zC,KAAKkzG,WAAa,IAAI1xG,EAAO0gC,OAO7BliC,KAAK43G,SAAW,EAKhB53G,KAAK63G,QAAU,IAOf73G,KAAK2mC,QAAS,EAMd3mC,KAAKs7C,aAAc,EAOnBt7C,KAAK42G,SAAW,EAMhB52G,KAAK82G,cAAgB,EAMrB92G,KAAK83G,YAAc,EAMnB93G,KAAK+3G,KAAOnrE,KAAKwP,MAMjBp8C,KAAK2uC,KAAO,EAMZ3uC,KAAKg4G,QAAU,EAMfh4G,KAAK4uC,GAAK,EAMV5uC,KAAKi4G,MAAQ,EAMbj4G,KAAKk4G,SAAW,GASpB12G,EAAOi1G,MAAM0B,OAAS,IAOtB32G,EAAOi1G,MAAM2B,OAAS,IAOtB52G,EAAOi1G,MAAM4B,KAAO,IAOpB72G,EAAOi1G,MAAM6B,QAAU,IAEvB92G,EAAOi1G,MAAMn0G,WAiBT8F,OAAQ,SAAUuuD,EAAO4S,EAAMgvC,EAAapkE,EAAUtL,EAAiB3Y,GAInE,IAAIsoF,EAFJ7hD,EAAQlzD,KAAK8xB,MAAMohC,GAID,IAAd32D,KAAK+3G,KAELS,GAAQx4G,KAAK8C,KAAKiiC,KAAKA,KAIvByzE,GAAQx4G,KAAK+3G,KAGjB,IAAI/nE,EAAQ,IAAIxuC,EAAOi3G,WAAWz4G,KAAM22D,EAAO6hD,EAAMD,EAAahvC,EAAMp1B,EAAUtL,EAAiB3Y,GAQnG,OANAlwB,KAAK2zC,OAAOjsC,KAAKsoC,GAEjBhwC,KAAK43C,QAEL53C,KAAK23G,SAAU,EAER3nE,GAmBXjX,IAAK,SAAU49B,EAAOxiB,EAAUtL,GAE5B,OAAO7oC,KAAKoI,OAAOuuD,GAAO,EAAO,EAAGxiB,EAAUtL,EAAiBxhC,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,UAAW,KAqBzG9b,OAAQ,SAAUoiD,EAAO4hD,EAAapkE,EAAUtL,GAE5C,OAAO7oC,KAAKoI,OAAOuuD,GAAO,EAAO4hD,EAAapkE,EAAUtL,EAAiBxhC,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,UAAW,KAmBnHk5C,KAAM,SAAU5S,EAAOxiB,EAAUtL,GAE7B,OAAO7oC,KAAKoI,OAAOuuD,GAAO,EAAM,EAAGxiB,EAAUtL,EAAiBxhC,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,UAAW,KASxGrkB,MAAO,SAAU2qD,GAEb,IAAI32D,KAAK03G,QAAT,CAKA13G,KAAK42G,SAAW52G,KAAK8C,KAAKiiC,KAAKA,MAAQ4xB,GAAS,GAEhD32D,KAAK03G,SAAU,EAEf,IAAK,IAAIh1G,EAAI,EAAGA,EAAI1C,KAAK2zC,OAAOhxC,OAAQD,IAEpC1C,KAAK2zC,OAAOjxC,GAAG81G,KAAOx4G,KAAK2zC,OAAOjxC,GAAGi0D,MAAQ32D,KAAK42G,WAU1D/qG,KAAM,SAAU6sG,GAEZ14G,KAAK03G,SAAU,OAEKpxG,IAAhBoyG,IAA6BA,GAAc,GAE3CA,IAEA14G,KAAK2zC,OAAOhxC,OAAS,IAU7BoZ,OAAQ,SAAUi0B,GAEd,IAAK,IAAIttC,EAAI,EAAGA,EAAI1C,KAAK2zC,OAAOhxC,OAAQD,IAEpC,GAAI1C,KAAK2zC,OAAOjxC,KAAOstC,EAGnB,OADAhwC,KAAK2zC,OAAOjxC,GAAGqvG,eAAgB,GACxB,EAIf,OAAO,GAUXn6D,MAAO,WAEC53C,KAAK2zC,OAAOhxC,OAAS,IAGrB3C,KAAK2zC,OAAO/U,KAAK5+B,KAAKg4C,aAEtBh4C,KAAK43G,SAAW53G,KAAK2zC,OAAO,GAAG6kE,OAUvCxgE,YAAa,SAAU/0C,EAAGC,GAEtB,OAAID,EAAEu1G,KAAOt1G,EAAEs1G,MAEH,EAEHv1G,EAAEu1G,KAAOt1G,EAAEs1G,KAET,EAGJ,GAUXG,mBAAoB,WAIhB,IAFA34G,KAAK4uC,GAAK5uC,KAAK2zC,OAAOhxC,OAEf3C,KAAK4uC,MAEJ5uC,KAAK2zC,OAAO3zC,KAAK4uC,IAAImjE,eAErB/xG,KAAK2zC,OAAOjrC,OAAO1I,KAAK4uC,GAAI,GAIpC5uC,KAAK2uC,KAAO3uC,KAAK2zC,OAAOhxC,OACxB3C,KAAK4uC,GAAK,GAYdjK,OAAQ,SAAUI,GAEd,GAAI/kC,KAAK2mC,OAEL,OAAO,EAoBX,GAjBA3mC,KAAK8+C,QAAU/Z,EAAO/kC,KAAK+3G,KAC3B/3G,KAAK+3G,KAAOhzE,EAGR/kC,KAAK8+C,QAAU9+C,KAAK63G,SAKpB73G,KAAK44G,aAAa7zE,EAAO/kC,KAAK8+C,SAGlC9+C,KAAKg4G,QAAU,EAGfh4G,KAAK24G,qBAED34G,KAAK03G,SAAW13G,KAAK+3G,MAAQ/3G,KAAK43G,UAAY53G,KAAK2uC,KAAO,EAC9D,CACI,KAAO3uC,KAAK4uC,GAAK5uC,KAAK2uC,MAAQ3uC,KAAK03G,SACnC,CACI,IAAI1nE,EAAQhwC,KAAK2zC,OAAO3zC,KAAK4uC,IAE7B,KAAI5uC,KAAK+3G,MAAQ/nE,EAAMwoE,OAASxoE,EAAM+hE,cAgClC,MA7BA/xG,KAAKk4G,SAAYl4G,KAAK+3G,KAAO/nE,EAAM2mB,OAAU32D,KAAK+3G,KAAO/nE,EAAMwoE,MAE3Dx4G,KAAKk4G,SAAW,IAEhBl4G,KAAKk4G,SAAWl4G,KAAK+3G,KAAO/nE,EAAM2mB,QAGnB,IAAf3mB,EAAMu5B,MAENv5B,EAAMwoE,KAAOx4G,KAAKk4G,SAClBloE,EAAMmE,SAAS7uC,MAAM0qC,EAAMnH,gBAAiBmH,EAAM9f,OAE7C8f,EAAMuoE,YAAc,GAEzBvoE,EAAMuoE,cACNvoE,EAAMwoE,KAAOx4G,KAAKk4G,SAClBloE,EAAMmE,SAAS7uC,MAAM0qC,EAAMnH,gBAAiBmH,EAAM9f,QAIlDlwB,KAAKg4G,UACLhoE,EAAM+hE,eAAgB,EACtB/hE,EAAMmE,SAAS7uC,MAAM0qC,EAAMnH,gBAAiBmH,EAAM9f,OAGtDlwB,KAAK4uC,KAST5uC,KAAK2zC,OAAOhxC,OAAS3C,KAAKg4G,QAE1Bh4G,KAAK43C,SAIL53C,KAAK23G,SAAU,EACf33G,KAAKkzG,WAAWjuE,SAASjlC,OAIjC,OAAIA,KAAK23G,UAAW33G,KAAKk3G,aAe7B3uE,MAAO,WAEEvoC,KAAK03G,UAKV13G,KAAKs7C,aAAc,EAEft7C,KAAK2mC,SAKT3mC,KAAK82G,cAAgB92G,KAAK8C,KAAKiiC,KAAKA,KAEpC/kC,KAAK2mC,QAAS,KASlB2rE,OAAQ,YAEAtyG,KAAK2mC,QAAW3mC,KAAK03G,UAKzB13G,KAAK82G,cAAgB92G,KAAK8C,KAAKiiC,KAAKA,KAEpC/kC,KAAK2mC,QAAS,IAUlBiyE,aAAc,SAAUC,GAEpB,IAAK,IAAIn2G,EAAI,EAAGA,EAAI1C,KAAK2zC,OAAOhxC,OAAQD,IAEpC,IAAK1C,KAAK2zC,OAAOjxC,GAAGqvG,cACpB,CAEI,IAAInhF,EAAI5wB,KAAK2zC,OAAOjxC,GAAG81G,KAAOK,EAE1BjoF,EAAI,IAEJA,EAAI,GAIR5wB,KAAK2zC,OAAOjxC,GAAG81G,KAAOx4G,KAAK+3G,KAAOnnF,EAI1C,IAAIxtB,EAAIpD,KAAK43G,SAAWiB,EAIpB74G,KAAK43G,SAFLx0G,EAAI,EAEYpD,KAAK+3G,KAIL/3G,KAAK+3G,KAAO30G,GAUpCqlC,OAAQ,WAEJ,GAAKzoC,KAAK2mC,OAAV,CAKA,IAAIyV,EAAMp8C,KAAK8C,KAAKiiC,KAAKA,KACzB/kC,KAAK83G,aAAe17D,EAAMp8C,KAAK+3G,KAC/B/3G,KAAK+3G,KAAO37D,EAEZp8C,KAAK44G,aAAa54G,KAAK82G,eAEvB92G,KAAK2mC,QAAS,EACd3mC,KAAKs7C,aAAc,IASvBi3D,QAAS,WAEDvyG,KAAKs7C,aAMLt7C,KAAKyoC,UAWbgB,UAAW,WAEPzpC,KAAKkzG,WAAWzpE,YAChBzpC,KAAK2zC,OAAOhxC,OAAS,EACrB3C,KAAK2uC,KAAO,EACZ3uC,KAAK4uC,GAAK,GAUdpsC,QAAS,WAELxC,KAAKkzG,WAAWzpE,YAChBzpC,KAAK03G,SAAU,EACf13G,KAAK23G,SAAU,EACf33G,KAAK2zC,UACL3zC,KAAK2uC,KAAO,EACZ3uC,KAAK4uC,GAAK,IAWlBhoC,OAAOuF,eAAe3K,EAAOi1G,MAAMn0G,UAAW,QAE1CwE,IAAK,WACD,OAAO9G,KAAK43G,YAUpBhxG,OAAOuF,eAAe3K,EAAOi1G,MAAMn0G,UAAW,YAE1CwE,IAAK,WAED,OAAI9G,KAAK03G,SAAW13G,KAAK43G,SAAW53G,KAAK+3G,KAE9B/3G,KAAK43G,SAAW53G,KAAK+3G,KAIrB,KAYnBnxG,OAAOuF,eAAe3K,EAAOi1G,MAAMn0G,UAAW,UAE1CwE,IAAK,WACD,OAAO9G,KAAK2zC,OAAOhxC,UAU3BiE,OAAOuF,eAAe3K,EAAOi1G,MAAMn0G,UAAW,MAE1CwE,IAAK,WAED,OAAI9G,KAAK03G,QAEE13G,KAAK+3G,KAAO/3G,KAAK42G,SAAW52G,KAAK83G,YAIjC,KAYnBlxG,OAAOuF,eAAe3K,EAAOi1G,MAAMn0G,UAAW,WAE1CwE,IAAK,WAED,OAAI9G,KAAK03G,QAEY,KAAV13G,KAAKs1G,GAIL,KAOnB9zG,EAAOi1G,MAAMn0G,UAAUC,YAAcf,EAAOi1G,MA6B5Cj1G,EAAOi3G,WAAa,SAAUxB,EAAOtgD,EAAO6hD,EAAMD,EAAahvC,EAAMp1B,EAAUtL,EAAiB3Y,GAO5FlwB,KAAKi3G,MAAQA,EAKbj3G,KAAK22D,MAAQA,EAKb32D,KAAKw4G,KAAOA,EAKZx4G,KAAKu4G,YAAcA,EAAc,EAKjCv4G,KAAKupE,KAAOA,EAKZvpE,KAAKm0C,SAAWA,EAKhBn0C,KAAK6oC,gBAAkBA,EAKvB7oC,KAAKkwB,KAAOA,EAMZlwB,KAAK+xG,eAAgB,GAIzBvwG,EAAOi3G,WAAWn2G,UAAUC,YAAcf,EAAOi3G,WAgBjDj3G,EAAOipE,iBAAmB,SAAUvnD,GAKhCljB,KAAKkjB,OAASA,EAKdljB,KAAK8C,KAAOogB,EAAOpgB,KASnB9C,KAAK84G,aAAe,KAMpB94G,KAAK+4G,YAAc,KAMnB/4G,KAAKg5G,iBAAkB,EAMvBh5G,KAAKi5G,UAAW,EAOhBj5G,KAAKk5G,WAAa,KAMlBl5G,KAAKm5G,UAMLn5G,KAAKo5G,kBAIT53G,EAAOipE,iBAAiBnoE,WAYpBwtE,cAAe,SAAUE,EAAWhjE,GAEhC,QAAkB1G,IAAd0pE,EAEA,OAAO,EAGX,GAAIhwE,KAAKi5G,SAGL,IAAK,IAAII,KAAQr5G,KAAKm5G,OAElBn5G,KAAKm5G,OAAOE,GAAMxiB,gBAAgB7mB,GAwB1C,OApBAhwE,KAAKk5G,WAAalpC,OAEJ1pE,IAAV0G,GAAiC,OAAVA,EAEvBhN,KAAKgN,MAAQ,EAIQ,iBAAVA,EAEPhN,KAAK2wE,UAAY3jE,EAIjBhN,KAAKgN,MAAQA,EAIrBhN,KAAKi5G,UAAW,GAET,GAaXK,cAAe,SAAUtpC,EAAWhjE,GAIhC,GAFAhN,KAAKk5G,WAAalpC,EAAUj8C,QAExB/zB,KAAKi5G,SAGL,IAAK,IAAII,KAAQr5G,KAAKm5G,OAElBn5G,KAAKm5G,OAAOE,GAAMxiB,gBAAgB72F,KAAKk5G,YAsB/C,YAlBc5yG,IAAV0G,GAAiC,OAAVA,EAEvBhN,KAAKgN,MAAQ,EAIQ,iBAAVA,EAEPhN,KAAK2wE,UAAY3jE,EAIjBhN,KAAKgN,MAAQA,EAIrBhN,KAAKi5G,UAAW,GAET,GAeXlgF,IAAK,SAAUlH,EAAMinE,EAAQxvB,EAAWC,EAAMgwC,GAiC1C,OA/BAzgB,EAASA,MACTxvB,EAAYA,GAAa,QAEZhjE,IAATijE,IAAsBA,GAAO,QAGTjjE,IAApBizG,IAIIA,KAFAzgB,GAA+B,iBAAdA,EAAO,KAUhC94F,KAAKo5G,iBAELp5G,KAAKk5G,WAAWM,gBAAgB1gB,EAAQygB,EAAiBv5G,KAAKo5G,eAE9Dp5G,KAAKm5G,OAAOtnF,GAAQ,IAAIrwB,EAAO4nE,UAAUppE,KAAK8C,KAAM9C,KAAKkjB,OAAQ2O,EAAM7xB,KAAKk5G,WAAYl5G,KAAKo5G,cAAe9vC,EAAWC,GAEvHvpE,KAAK+4G,YAAc/4G,KAAKm5G,OAAOtnF,GAE3B7xB,KAAKkjB,OAAOe,gBAEZjkB,KAAKkjB,OAAOwtD,gBAAiB,GAG1B1wE,KAAKm5G,OAAOtnF,IAYvB4nF,eAAgB,SAAU3gB,EAAQygB,QAENjzG,IAApBizG,IAAiCA,GAAkB,GAEvD,IAAK,IAAI72G,EAAI,EAAGA,EAAIo2F,EAAOn2F,OAAQD,IAE/B,IAAwB,IAApB62G,GAEA,GAAIzgB,EAAOp2F,GAAK1C,KAAKk5G,WAAWhhE,MAE5B,OAAO,OAKX,IAAkD,IAA9Cl4C,KAAKk5G,WAAWQ,eAAe5gB,EAAOp2F,IAEtC,OAAO,EAKnB,OAAO,GAoBX2mE,KAAM,SAAUx3C,EAAMy3C,EAAWC,EAAMC,GAEnC,GAAIxpE,KAAKm5G,OAAOtnF,GAEZ,OAAI7xB,KAAK+4G,cAAgB/4G,KAAKm5G,OAAOtnF,IAEE,IAA/B7xB,KAAK+4G,YAAYY,WAEjB35G,KAAK+4G,YAAYpyE,QAAS,EACnB3mC,KAAK+4G,YAAY1vC,KAAKC,EAAWC,EAAMC,IAG3CxpE,KAAK+4G,aAIR/4G,KAAK+4G,aAAe/4G,KAAK+4G,YAAYY,WAErC35G,KAAK+4G,YAAYltG,OAGrB7L,KAAK+4G,YAAc/4G,KAAKm5G,OAAOtnF,GAC/B7xB,KAAK+4G,YAAYpyE,QAAS,EAC1B3mC,KAAK84G,aAAe94G,KAAK+4G,YAAYD,aAC9B94G,KAAK+4G,YAAY1vC,KAAKC,EAAWC,EAAMC,KAc1D39D,KAAM,SAAUgmB,EAAM05C,QAECjlE,IAAfilE,IAA4BA,GAAa,IAEzCvrE,KAAK+4G,aAAgC,iBAATlnF,GAAqBA,IAAS7xB,KAAK+4G,YAAYlnF,MAE3E7xB,KAAK+4G,YAAYltG,KAAK0/D,IAY9B5mC,OAAQ,WAEJ,QAAI3kC,KAAKg5G,kBAAoBh5G,KAAKkjB,OAAOhiB,cAKrClB,KAAK+4G,cAAe/4G,KAAK+4G,YAAYp0E,YAErC3kC,KAAK84G,aAAe94G,KAAK+4G,YAAYD,cAC9B,KAafnkE,KAAM,SAAUT,GAERl0C,KAAK+4G,cAEL/4G,KAAK+4G,YAAYpkE,KAAKT,GACtBl0C,KAAK84G,aAAe94G,KAAK+4G,YAAYD,eAW7ClkE,SAAU,SAAUV,GAEZl0C,KAAK+4G,cAEL/4G,KAAK+4G,YAAYnkE,SAASV,GAC1Bl0C,KAAK84G,aAAe94G,KAAK+4G,YAAYD,eAY7Cc,aAAc,SAAU/nF,GAEpB,MAAoB,iBAATA,GAEH7xB,KAAKm5G,OAAOtnF,GAEL7xB,KAAKm5G,OAAOtnF,GAIpB,MASXgoF,aAAc,aAadr3G,QAAS,WAED62G,EAAO,KAEX,IAAK,IAAIA,KAAQr5G,KAAKm5G,OAEdn5G,KAAKm5G,OAAO/nF,eAAeioF,IAE3Br5G,KAAKm5G,OAAOE,GAAM72G,UAI1BxC,KAAKm5G,UACLn5G,KAAKo5G,iBACLp5G,KAAKk5G,WAAa,KAClBl5G,KAAK+4G,YAAc,KACnB/4G,KAAK84G,aAAe,KACpB94G,KAAKkjB,OAAS,KACdljB,KAAK8C,KAAO,OAMpBtB,EAAOipE,iBAAiBnoE,UAAUC,YAAcf,EAAOipE,iBAOvD7jE,OAAOuF,eAAe3K,EAAOipE,iBAAiBnoE,UAAW,aAErDwE,IAAK,WACD,OAAO9G,KAAKk5G,cAUpBtyG,OAAOuF,eAAe3K,EAAOipE,iBAAiBnoE,UAAW,cAErDwE,IAAK,WAED,OAAO9G,KAAKk5G,WAAWhhE,SAS/BtxC,OAAOuF,eAAe3K,EAAOipE,iBAAiBnoE,UAAW,UAErDwE,IAAK,WAED,OAAO9G,KAAK+4G,YAAY3F,UAI5BrsG,IAAK,SAAUC,GAEXhH,KAAK+4G,YAAYpyE,OAAS3/B,KAUlCJ,OAAOuF,eAAe3K,EAAOipE,iBAAiBnoE,UAAW,QAErDwE,IAAK,WAED,GAAI9G,KAAK+4G,YAEL,OAAO/4G,KAAK+4G,YAAYlnF,QAWpCjrB,OAAOuF,eAAe3K,EAAOipE,iBAAiBnoE,UAAW,SAErDwE,IAAK,WAED,GAAI9G,KAAK84G,aAEL,OAAO94G,KAAK84G,aAAatwG,OAKjCzB,IAAK,SAAUC,GAEX,IAAI8yG,EAEiB,iBAAV9yG,GAAsBhH,KAAKk5G,aAAeY,EAAW95G,KAAKk5G,WAAWa,SAAS/yG,MAErFhH,KAAK84G,aAAegB,EACpB95G,KAAKkjB,OAAO0H,SAAS5qB,KAAK84G,kBAWtClyG,OAAOuF,eAAe3K,EAAOipE,iBAAiBnoE,UAAW,aAErDwE,IAAK,WAED,GAAI9G,KAAK84G,aAEL,OAAO94G,KAAK84G,aAAajnF,MAKjC9qB,IAAK,SAAUC,GAEX,IAAI8yG,EAEiB,iBAAV9yG,GAAsBhH,KAAKk5G,aAAeY,EAAW95G,KAAKk5G,WAAWc,eAAehzG,KAE3FhH,KAAK84G,aAAegB,EACpB95G,KAAKi6G,YAAcj6G,KAAK84G,aAAatwG,MACrCxI,KAAKkjB,OAAO0H,SAAS5qB,KAAK84G,eAI1Bx4G,QAAQ0Z,KAAK,yBAA2BhT,MA2BpDxF,EAAO4nE,UAAY,SAAUtmE,EAAMzB,EAAQwwB,EAAMm+C,EAAW8oB,EAAQxvB,EAAWC,QAE9DjjE,IAATijE,IAAsBA,GAAO,GAKjCvpE,KAAK8C,KAAOA,EAMZ9C,KAAKssE,QAAUjrE,EAMfrB,KAAKk5G,WAAalpC,EAKlBhwE,KAAK6xB,KAAOA,EAMZ7xB,KAAKk6G,WACLl6G,KAAKk6G,QAAUl6G,KAAKk6G,QAAQ9pF,OAAO0oE,GAKnC94F,KAAK22D,MAAQ,IAAO2S,EAKpBtpE,KAAKupE,KAAOA,EAKZvpE,KAAKm6G,UAAY,EAMjBn6G,KAAKwpE,gBAAiB,EAMtBxpE,KAAKo6G,YAAa,EAMlBp6G,KAAK25G,WAAY,EAMjB35G,KAAKozG,UAAW,EAOhBpzG,KAAKq6G,gBAAkB,EAOvBr6G,KAAKi6G,YAAc,EAOnBj6G,KAAKs6G,WAAa,EAOlBt6G,KAAKu6G,WAAa,EAKlBv6G,KAAK84G,aAAe94G,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQl6G,KAAKi6G,cAK/Dj6G,KAAK8yG,QAAU,IAAItxG,EAAO0gC,OAW1BliC,KAAKw6G,SAAW,KAKhBx6G,KAAKkzG,WAAa,IAAI1xG,EAAO0gC,OAK7BliC,KAAK+yG,OAAS,IAAIvxG,EAAO0gC,OAMzBliC,KAAKy6G,YAAa,EAGlBz6G,KAAK8C,KAAKwlC,QAAQvP,IAAI/4B,KAAKsoC,QAAStoC,MACpCA,KAAK8C,KAAK0lC,SAASzP,IAAI/4B,KAAKwoC,SAAUxoC,OAI1CwB,EAAO4nE,UAAU9mE,WAcb+mE,KAAM,SAAUC,EAAWC,EAAMC,GAsC7B,MApCyB,iBAAdF,IAGPtpE,KAAK22D,MAAQ,IAAO2S,GAGJ,kBAATC,IAGPvpE,KAAKupE,KAAOA,QAGc,IAAnBC,IAGPxpE,KAAKwpE,eAAiBA,GAG1BxpE,KAAK25G,WAAY,EACjB35G,KAAKo6G,YAAa,EAClBp6G,KAAK2mC,QAAS,EACd3mC,KAAKm6G,UAAY,EAEjBn6G,KAAK06G,eAAiB16G,KAAK8C,KAAKiiC,KAAKA,KACrC/kC,KAAK26G,eAAiB36G,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK22D,MAEjD32D,KAAKi6G,YAAcj6G,KAAKy6G,WAAaz6G,KAAKk6G,QAAQv3G,OAAS,EAAI,EAC/D3C,KAAK46G,oBAAmB,GAAO,GAE/B56G,KAAKssE,QAAQ34B,OAAOknE,0BAA0B76G,KAAKssE,QAAStsE,MAE5DA,KAAK8yG,QAAQ7tE,SAASjlC,KAAKssE,QAAStsE,MAEpCA,KAAKssE,QAAQ7C,WAAWsvC,YAAc/4G,KACtCA,KAAKssE,QAAQ7C,WAAWqvC,aAAe94G,KAAK84G,aAErC94G,MASXipC,QAAS,WAELjpC,KAAK25G,WAAY,EACjB35G,KAAKo6G,YAAa,EAClBp6G,KAAK2mC,QAAS,EACd3mC,KAAKm6G,UAAY,EAEjBn6G,KAAK06G,eAAiB16G,KAAK8C,KAAKiiC,KAAKA,KACrC/kC,KAAK26G,eAAiB36G,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK22D,MAEjD32D,KAAKi6G,YAAc,EAEnBj6G,KAAK84G,aAAe94G,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQl6G,KAAKi6G,cAE/Dj6G,KAAKssE,QAAQ1hD,SAAS5qB,KAAK84G,cAE3B94G,KAAKssE,QAAQ7C,WAAWsvC,YAAc/4G,KACtCA,KAAKssE,QAAQ7C,WAAWqvC,aAAe94G,KAAK84G,aAE5C94G,KAAK8yG,QAAQ7tE,SAASjlC,KAAKssE,QAAStsE,OAUxCke,QAAS,WAIL,OAFAle,KAAKy1G,UAAYz1G,KAAKy1G,SAEfz1G,MAYX86G,YAAa,WAIT,OAFA96G,KAAKkzG,WAAW1nE,QAAQxrC,KAAKke,QAASle,MAE/BA,KAAKke,WAWhB0M,SAAU,SAASmwF,EAASC,GAExB,IAAIC,EAQJ,QAN2B30G,IAAvB00G,IAEAA,GAAqB,GAIF,iBAAZD,EAEP,IAASr4G,EAAI,EAAGA,EAAI1C,KAAKk6G,QAAQv3G,OAAQD,IAEjC1C,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQx3G,IAAImvB,OAASkpF,IAEnDE,EAAav4G,QAIpB,GAAuB,iBAAZq4G,EAEZ,GAAIC,EAEAC,EAAaF,OAIb,IAAK,IAAIr4G,EAAI,EAAGA,EAAI1C,KAAKk6G,QAAQv3G,OAAQD,IAEjC1C,KAAKk6G,QAAQx3G,KAAOq4G,IAEpBE,EAAav4G,GAM7B,GAAIu4G,EACJ,CAEI,IAAIC,EAAoBl7G,KAAKy6G,YAAc,EAAI,EAC/Cz6G,KAAKi6G,YAAcgB,EAAaC,EAGhCl7G,KAAK26G,eAAiB36G,KAAK8C,KAAKiiC,KAAKA,KAErC/kC,KAAK2kC,WAab94B,KAAM,SAAU0/D,EAAY4vC,QAEL70G,IAAfilE,IAA4BA,GAAa,QACpBjlE,IAArB60G,IAAkCA,GAAmB,GAEzDn7G,KAAK25G,WAAY,EACjB35G,KAAKo6G,YAAa,EAClBp6G,KAAK2mC,QAAS,EAEV4kC,IAEAvrE,KAAK84G,aAAe94G,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQ,IAC1Dl6G,KAAKssE,QAAQ1hD,SAAS5qB,KAAK84G,eAG3BqC,IAEAn7G,KAAKssE,QAAQ34B,OAAOynE,6BAA6Bp7G,KAAKssE,QAAStsE,MAC/DA,KAAKkzG,WAAWjuE,SAASjlC,KAAKssE,QAAStsE,QAU/CsoC,QAAS,WAEDtoC,KAAK25G,YAEL35G,KAAKs6G,WAAat6G,KAAK26G,eAAiB36G,KAAK8C,KAAKiiC,KAAKA,OAU/DyD,SAAU,WAEFxoC,KAAK25G,YAEL35G,KAAK26G,eAAiB36G,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAKs6G,aAUzD31E,OAAQ,WAEJ,OAAI3kC,KAAKozG,cAKLpzG,KAAK25G,WAAa35G,KAAK8C,KAAKiiC,KAAKA,MAAQ/kC,KAAK26G,kBAE9C36G,KAAKu6G,WAAa,EAGlBv6G,KAAKs6G,WAAat6G,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK26G,eAE7C36G,KAAK06G,eAAiB16G,KAAK8C,KAAKiiC,KAAKA,KAEjC/kC,KAAKs6G,WAAat6G,KAAK22D,OAGvB32D,KAAKu6G,WAAa92G,KAAKsL,MAAM/O,KAAKs6G,WAAat6G,KAAK22D,OACpD32D,KAAKs6G,YAAet6G,KAAKu6G,WAAav6G,KAAK22D,OAIvD32D,KAAKs6G,WAAa,EAIVt6G,KAAK26G,eAAiB36G,KAAK8C,KAAKiiC,KAAKA,MAAQ/kC,KAAK22D,MAAQ32D,KAAKs6G,YAE3Dt6G,KAAKy6G,WAELz6G,KAAKi6G,aAAej6G,KAAKu6G,WAIzBv6G,KAAKi6G,aAAej6G,KAAKu6G,YAGxBv6G,KAAKy6G,YAAcz6G,KAAKi6G,aAAej6G,KAAKk6G,QAAQv3G,QAAU3C,KAAKy6G,YAAcz6G,KAAKi6G,cAAgB,EAEnGj6G,KAAKupE,MAGLvpE,KAAKi6G,YAAcx2G,KAAKgzB,IAAIz2B,KAAKi6G,aAAej6G,KAAKk6G,QAAQv3G,OAEzD3C,KAAKy6G,aAELz6G,KAAKi6G,YAAcj6G,KAAKk6G,QAAQv3G,OAAS,EAAI3C,KAAKi6G,aAGtDj6G,KAAK84G,aAAe94G,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQl6G,KAAKi6G,cAG3Dj6G,KAAK84G,cAEL94G,KAAKssE,QAAQ1hD,SAAS5qB,KAAK84G,cAG/B94G,KAAKm6G,YACLn6G,KAAKssE,QAAQ34B,OAAO0nE,yBAAyBr7G,KAAKssE,QAAStsE,MAC3DA,KAAK+yG,OAAO9tE,SAASjlC,KAAKssE,QAAStsE,OAE/BA,KAAKw6G,WAELx6G,KAAKw6G,SAASv1E,SAASjlC,KAAMA,KAAK84G,gBAGzB94G,KAAKk5G,cASlBl5G,KAAKgqB,YACE,GAKJhqB,KAAK46G,oBAAmB,MAoB3CA,mBAAoB,SAAUU,EAAcC,GAIxC,QAFiBj1G,IAAbi1G,IAA0BA,GAAW,IAEpCv7G,KAAKk5G,WAGN,OAAO,EAIX,IAAIllB,EAAMh0F,KAAK84G,aAAatwG,MAS5B,OAPAxI,KAAK84G,aAAe94G,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQl6G,KAAKi6G,cAE3Dj6G,KAAK84G,eAAiByC,IAAcA,GAAYvnB,IAAQh0F,KAAK84G,aAAatwG,QAE1ExI,KAAKssE,QAAQ1hD,SAAS5qB,KAAK84G,eAG3B94G,KAAKw6G,WAAYc,IAEjBt7G,KAAKw6G,SAASv1E,SAASjlC,KAAMA,KAAK84G,gBAGzB94G,KAAKk5G,aAetBvkE,KAAM,SAAUT,QAEK5tC,IAAb4tC,IAA0BA,EAAW,GAEzC,IAAIlnC,EAAQhN,KAAKi6G,YAAc/lE,EAE3BlnC,GAAShN,KAAKk6G,QAAQv3G,SAElB3C,KAAKupE,KAELv8D,GAAShN,KAAKk6G,QAAQv3G,OAItBqK,EAAQhN,KAAKk6G,QAAQv3G,OAAS,GAIlCqK,IAAUhN,KAAKi6G,cAEfj6G,KAAKi6G,YAAcjtG,EACnBhN,KAAK46G,oBAAmB,KAWhChmE,SAAU,SAAUV,QAEC5tC,IAAb4tC,IAA0BA,EAAW,GAEzC,IAAIlnC,EAAQhN,KAAKi6G,YAAc/lE,EAE3BlnC,EAAQ,IAEJhN,KAAKupE,KAELv8D,EAAQhN,KAAKk6G,QAAQv3G,OAASqK,EAI9BA,KAIJA,IAAUhN,KAAKi6G,cAEfj6G,KAAKi6G,YAAcjtG,EACnBhN,KAAK46G,oBAAmB,KAWhC/jB,gBAAiB,SAAU7mB,GAEvBhwE,KAAKk5G,WAAalpC,EAClBhwE,KAAK84G,aAAe94G,KAAKk5G,WAAal5G,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQl6G,KAAKi6G,YAAcj6G,KAAKk6G,QAAQv3G,SAAW,MAS3HH,QAAS,WAEAxC,KAAKk5G,aAMVl5G,KAAK8C,KAAKwlC,QAAQvsB,OAAO/b,KAAKsoC,QAAStoC,MACvCA,KAAK8C,KAAK0lC,SAASzsB,OAAO/b,KAAKwoC,SAAUxoC,MAEzCA,KAAK8C,KAAO,KACZ9C,KAAKssE,QAAU,KACftsE,KAAKk6G,QAAU,KACfl6G,KAAKk5G,WAAa,KAClBl5G,KAAK84G,aAAe,KACpB94G,KAAK25G,WAAY,EAEjB35G,KAAK8yG,QAAQ/mE,UACb/rC,KAAK+yG,OAAOhnE,UACZ/rC,KAAKkzG,WAAWnnE,UAEZ/rC,KAAKw6G,UAELx6G,KAAKw6G,SAASzuE,YAWtB/hB,SAAU,WAENhqB,KAAKi6G,YAAcj6G,KAAKk6G,QAAQv3G,OAAS,EACzC3C,KAAK84G,aAAe94G,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQl6G,KAAKi6G,cAE/Dj6G,KAAK25G,WAAY,EACjB35G,KAAKo6G,YAAa,EAClBp6G,KAAK2mC,QAAS,EAEd3mC,KAAKssE,QAAQ34B,OAAOynE,6BAA6Bp7G,KAAKssE,QAAStsE,MAE/DA,KAAKkzG,WAAWjuE,SAASjlC,KAAKssE,QAAStsE,MAEnCA,KAAKwpE,gBAELxpE,KAAKssE,QAAQ/1B,SAOzB/0C,EAAO4nE,UAAU9mE,UAAUC,YAAcf,EAAO4nE,UAMhDxiE,OAAOuF,eAAe3K,EAAO4nE,UAAU9mE,UAAW,UAE9CwE,IAAK,WAED,OAAO9G,KAAKozG,UAIhBrsG,IAAK,SAAUC,GAEXhH,KAAKozG,SAAWpsG,EAEZA,EAGAhH,KAAKq6G,gBAAkBr6G,KAAK8C,KAAKiiC,KAAKA,KAKlC/kC,KAAK25G,YAEL35G,KAAK26G,eAAiB36G,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK22D,UAYjE/vD,OAAOuF,eAAe3K,EAAO4nE,UAAU9mE,UAAW,YAE9CwE,IAAK,WAED,OAAO9G,KAAKy6G,YAIhB1zG,IAAK,SAAUC,GAEXhH,KAAKy6G,WAAazzG,KAW1BJ,OAAOuF,eAAe3K,EAAO4nE,UAAU9mE,UAAW,cAE9CwE,IAAK,WACD,OAAO9G,KAAKk6G,QAAQv3G,UAS5BiE,OAAOuF,eAAe3K,EAAO4nE,UAAU9mE,UAAW,SAE9CwE,IAAK,WAED,OAA0B,OAAtB9G,KAAK84G,aAEE94G,KAAK84G,aAAatwG,MAIlBxI,KAAKi6G,aAKpBlzG,IAAK,SAAUC,GAEXhH,KAAK84G,aAAe94G,KAAKk5G,WAAWa,SAAS/5G,KAAKk6G,QAAQlzG,IAEhC,OAAtBhH,KAAK84G,eAEL94G,KAAKi6G,YAAcjzG,EACnBhH,KAAKssE,QAAQ1hD,SAAS5qB,KAAK84G,cAEvB94G,KAAKw6G,UAELx6G,KAAKw6G,SAASv1E,SAASjlC,KAAMA,KAAK84G,kBAYlDlyG,OAAOuF,eAAe3K,EAAO4nE,UAAU9mE,UAAW,SAE9CwE,IAAK,WAED,OAAO,IAAO9G,KAAK22D,OAIvB5vD,IAAK,SAAUC,GAEPA,EAAQ,IAERhH,KAAK22D,MAAQ,IAAO3vD,MAWhCJ,OAAOuF,eAAe3K,EAAO4nE,UAAU9mE,UAAW,gBAE9CwE,IAAK,WAED,OAA0B,OAAlB9G,KAAKw6G,UAIjBzzG,IAAK,SAAUC,GAEPA,GAA2B,OAAlBhH,KAAKw6G,SAEdx6G,KAAKw6G,SAAW,IAAIh5G,EAAO0gC,OAErBl7B,GAA2B,OAAlBhH,KAAKw6G,WAEpBx6G,KAAKw6G,SAASzuE,UACd/rC,KAAKw6G,SAAW,SAqB5Bh5G,EAAO4nE,UAAUoyC,mBAAqB,SAAUhV,EAAQx6F,EAAOH,EAAMsoF,EAAQsnB,QAE1Dn1G,IAAX6tF,IAAwBA,EAAS,IAErC,IAAI3+D,KACAxoB,EAAQ,GAEZ,GAAIhB,EAAQH,EAER,IAASnJ,EAAIsJ,EAAOtJ,GAAKmJ,EAAMnJ,IAY3BsK,EAAQw5F,GAPJx5F,EAHmB,iBAAZyuG,EAGCj6G,EAAO+vB,MAAM4B,IAAIzwB,EAAE8lB,WAAYizF,EAAS,IAAK,GAI7C/4G,EAAE8lB,YAGW2rE,EAEzB3+D,EAAO9tB,KAAKsF,QAKhB,IAAK,IAAItK,EAAIsJ,EAAOtJ,GAAKmJ,EAAMnJ,IAY3BsK,EAAQw5F,GAPJx5F,EAHmB,iBAAZyuG,EAGCj6G,EAAO+vB,MAAM4B,IAAIzwB,EAAE8lB,WAAYizF,EAAS,IAAK,GAI7C/4G,EAAE8lB,YAGW2rE,EAEzB3+D,EAAO9tB,KAAKsF,GAIpB,OAAOwoB,GAsBXh0B,EAAO62E,MAAQ,SAAU7vE,EAAO1E,EAAGC,EAAGnG,EAAOC,EAAQg0B,GAKjD7xB,KAAKwI,MAAQA,EAKbxI,KAAK8D,EAAIA,EAKT9D,KAAK+D,EAAIA,EAKT/D,KAAKpC,MAAQA,EAKboC,KAAKnC,OAASA,EAEK,IAAfmC,KAAKpC,OAA+B,IAAhBoC,KAAKnC,QAEzByC,QAAQ0Z,KAAK,wBAA0Bha,KAAK6xB,KAAO,mCAMvD7xB,KAAK6xB,KAAOA,EAKZ7xB,KAAKm4B,QAAU10B,KAAKsL,MAAMnR,EAAQ,GAKlCoC,KAAKo4B,QAAU30B,KAAKsL,MAAMlR,EAAS,GAKnCmC,KAAKs1B,SAAW9zB,EAAOiC,KAAK6xB,SAAS,EAAG,EAAG13B,EAAOC,GAMlDmC,KAAKqO,SAAU,EAMfrO,KAAKqwE,SAAU,EAKfrwE,KAAKwwE,YAAc5yE,EAKnBoC,KAAKywE,YAAc5yE,EAMnBmC,KAAKswE,kBAAoB,EAMzBtwE,KAAKuwE,kBAAoB,EAMzBvwE,KAAK07G,kBAAoB,EAMzB17G,KAAK27G,kBAAoB,EAKzB37G,KAAKuzB,MAAQvzB,KAAK8D,EAAI9D,KAAKpC,MAK3BoC,KAAKo2B,OAASp2B,KAAK+D,EAAI/D,KAAKnC,QAIhC2D,EAAO62E,MAAM/1E,WAST4D,OAAQ,SAAUtI,EAAOC,GAErBmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EACdmC,KAAKm4B,QAAU10B,KAAKsL,MAAMnR,EAAQ,GAClCoC,KAAKo4B,QAAU30B,KAAKsL,MAAMlR,EAAS,GACnCmC,KAAKs1B,SAAW9zB,EAAOiC,KAAK6xB,SAAS,EAAG,EAAG13B,EAAOC,GAClDmC,KAAKwwE,YAAc5yE,EACnBoC,KAAKywE,YAAc5yE,EACnBmC,KAAKuzB,MAAQvzB,KAAK8D,EAAIlG,EACtBoC,KAAKo2B,OAASp2B,KAAK+D,EAAIlG,GAgB3B+9G,QAAS,SAAUvrC,EAASwrC,EAAaC,EAAcC,EAAOC,EAAOC,EAAWC,GAE5El8G,KAAKqwE,QAAUA,EAEXA,IAEArwE,KAAKwwE,YAAcqrC,EACnB77G,KAAKywE,YAAcqrC,EACnB97G,KAAKm4B,QAAU10B,KAAKsL,MAAM8sG,EAAc,GACxC77G,KAAKo4B,QAAU30B,KAAKsL,MAAM+sG,EAAe,GACzC97G,KAAKswE,kBAAoByrC,EACzB/7G,KAAKuwE,kBAAoByrC,EACzBh8G,KAAK07G,kBAAoBO,EACzBj8G,KAAK27G,kBAAoBO,IAYjCnoF,MAAO,WAEH,IAAIyB,EAAS,IAAIh0B,EAAO62E,MAAMr4E,KAAKwI,MAAOxI,KAAK8D,EAAG9D,KAAK+D,EAAG/D,KAAKpC,MAAOoC,KAAKnC,OAAQmC,KAAK6xB,MAExF,IAAK,IAAIu3B,KAAQppD,KAETA,KAAKoxB,eAAeg4B,KAEpB5zB,EAAO4zB,GAAQppD,KAAKopD,IAI5B,OAAO5zB,GAWX2mF,QAAS,SAAUpnF,GAWf,YATYzuB,IAARyuB,EAEAA,EAAM,IAAIvzB,EAAOS,UAAUjC,KAAK8D,EAAG9D,KAAK+D,EAAG/D,KAAKpC,MAAOoC,KAAKnC,QAI5Dk3B,EAAIG,MAAMl1B,KAAK8D,EAAG9D,KAAK+D,EAAG/D,KAAKpC,MAAOoC,KAAKnC,QAGxCk3B,IAMfvzB,EAAO62E,MAAM/1E,UAAUC,YAAcf,EAAO62E,MAc5C72E,EAAO02E,UAAY,WAMfl4E,KAAKk6G,WAMLl6G,KAAKo8G,gBAIT56G,EAAO02E,UAAU51E,WASb81E,SAAU,SAAUprE,GAWhB,OATAA,EAAMxE,MAAQxI,KAAKk6G,QAAQv3G,OAE3B3C,KAAKk6G,QAAQxyG,KAAKsF,GAEC,KAAfA,EAAM6kB,OAEN7xB,KAAKo8G,YAAYpvG,EAAM6kB,MAAQ7kB,EAAMxE,OAGlCwE,GAWX+sG,SAAU,SAAUvxG,GAOhB,OALIA,GAASxI,KAAKk6G,QAAQv3G,SAEtB6F,EAAQ,GAGLxI,KAAKk6G,QAAQ1xG,IAWxBwxG,eAAgB,SAAUnoF,GAEtB,MAAsC,iBAA3B7xB,KAAKo8G,YAAYvqF,GAEjB7xB,KAAKk6G,QAAQl6G,KAAKo8G,YAAYvqF,IAGlC,MAWX6nF,eAAgB,SAAU7nF,GAEtB,OAA8B,MAA1B7xB,KAAKo8G,YAAYvqF,IAezBkC,MAAO,WAKH,IAAK,IAHDyB,EAAS,IAAIh0B,EAAO02E,UAGfx1E,EAAI,EAAGA,EAAI1C,KAAKk6G,QAAQv3G,OAAQD,IAErC8yB,EAAO0kF,QAAQxyG,KAAK1H,KAAKk6G,QAAQx3G,GAAGqxB,SAGxC,IAAK,IAAIhxB,KAAK/C,KAAKo8G,YAEXp8G,KAAKo8G,YAAYhrF,eAAeruB,IAEhCyyB,EAAO4mF,YAAY10G,KAAK1H,KAAKo8G,YAAYr5G,IAIjD,OAAOyyB,GAaX6mF,cAAe,SAAUrwG,EAAOgP,EAAKwa,QAElBlvB,IAAXkvB,IAAwBA,MAE5B,IAAK,IAAI9yB,EAAIsJ,EAAOtJ,GAAKsY,EAAKtY,IAE1B8yB,EAAO9tB,KAAK1H,KAAKk6G,QAAQx3G,IAG7B,OAAO8yB,GAcXujE,UAAW,SAAUD,EAAQygB,EAAiB/jF,GAK1C,QAHwBlvB,IAApBizG,IAAiCA,GAAkB,QACxCjzG,IAAXkvB,IAAwBA,WAEblvB,IAAXwyF,GAA0C,IAAlBA,EAAOn2F,OAG/B,IAASD,EAAI,EAAGA,EAAI1C,KAAKk6G,QAAQv3G,OAAQD,IAGrC8yB,EAAO9tB,KAAK1H,KAAKk6G,QAAQx3G,SAM7B,IAAK,IAAIA,EAAI,EAAGA,EAAIo2F,EAAOn2F,OAAQD,IAG3B62G,EAGA/jF,EAAO9tB,KAAK1H,KAAK+5G,SAASjhB,EAAOp2F,KAKjC8yB,EAAO9tB,KAAK1H,KAAKg6G,eAAelhB,EAAOp2F,KAKnD,OAAO8yB,GAcXgkF,gBAAiB,SAAU1gB,EAAQygB,EAAiB/jF,GAKhD,QAHwBlvB,IAApBizG,IAAiCA,GAAkB,QACxCjzG,IAAXkvB,IAAwBA,WAEblvB,IAAXwyF,GAA0C,IAAlBA,EAAOn2F,OAG/B,IAASD,EAAI,EAAGA,EAAI1C,KAAKk6G,QAAQv3G,OAAQD,IAErC8yB,EAAO9tB,KAAK1H,KAAKk6G,QAAQx3G,GAAG8F,YAMhC,IAAK,IAAI9F,EAAI,EAAGA,EAAIo2F,EAAOn2F,OAAQD,IAG3B62G,GAAmBv5G,KAAKk6G,QAAQphB,EAAOp2F,IAEvC8yB,EAAO9tB,KAAK1H,KAAKk6G,QAAQphB,EAAOp2F,IAAI8F,OAIhCxI,KAAKg6G,eAAelhB,EAAOp2F,KAE3B8yB,EAAO9tB,KAAK1H,KAAKg6G,eAAelhB,EAAOp2F,IAAI8F,OAM3D,OAAOgtB,GASXhzB,QAAS,WAELxC,KAAKk6G,QAAU,KACfl6G,KAAKo8G,YAAc,OAM3B56G,EAAO02E,UAAU51E,UAAUC,YAAcf,EAAO02E,UAOhDtxE,OAAOuF,eAAe3K,EAAO02E,UAAU51E,UAAW,SAE9CwE,IAAK,WACD,OAAO9G,KAAKk6G,QAAQv3G,UAiB5BnB,EAAO86G,iBAgBHC,YAAa,SAAUz5G,EAAM8P,EAAKqpF,EAAYC,EAAasgB,EAAUC,EAAQC,EAASC,QAEjEr2G,IAAbk2G,IAA0BA,GAAY,QAC3Bl2G,IAAXm2G,IAAwBA,EAAS,QACrBn2G,IAAZo2G,IAAyBA,EAAU,QACpBp2G,IAAfq2G,IAA4BA,EAAa,GAE7C,IAAIxsC,EAAMv9D,EAOV,GALmB,iBAARA,IAEPu9D,EAAMrtE,EAAK6W,MAAMy2D,SAASx9D,IAGlB,OAARu9D,EAEA,OAAO,KAGX,IAAIvyE,EAAQuyE,EAAIvyE,MACZC,EAASsyE,EAAItyE,OAEbo+F,GAAc,IAEdA,EAAax4F,KAAKsL,OAAOnR,EAAQ6F,KAAK21B,KAAK,EAAG6iE,KAG9CC,GAAe,IAEfA,EAAcz4F,KAAKsL,OAAOlR,EAAS4F,KAAK21B,KAAK,EAAG8iE,KAGpD,IAEIhkD,EAFMz0C,KAAKsL,OAAOnR,EAAQ6+G,IAAWxgB,EAAaygB,IACzCj5G,KAAKsL,OAAOlR,EAAS4+G,IAAWvgB,EAAcwgB,IAG3D,GAAIC,EAAazkE,GAASykE,GAAczkE,EAMpC,OAJA53C,QAAQ0Z,KACJ,oDACA2iG,EAAWn0F,WAAa,uCACxB0vB,EAAM1vB,YACH,KAeX,GAZIm0F,EAAa,IAGbA,EAAazkE,EAAQykE,IAGP,IAAdH,IAEAtkE,EAAQykE,EAAaH,GAIX,IAAV5+G,GAA0B,IAAXC,GAAgBD,EAAQq+F,GAAcp+F,EAASq+F,GAAyB,IAAVhkD,EAG7E,OADA53C,QAAQ0Z,KAAK,wCAA0CpH,EAAM,uEACtD,KAQX,IAAK,IAJDoB,EAAO,IAAIxS,EAAO02E,UAClBp0E,EAAI24G,EACJ14G,EAAI04G,EAEC/5G,EAAI,EAAGA,EAAIw1C,EAAOx1C,IAEvBsR,EAAKokE,SAAS,IAAI52E,EAAO62E,MAAM31E,EAAGoB,EAAGC,EAAGk4F,EAAYC,EAAa,MAEjEp4F,GAAKm4F,EAAaygB,GAEVzgB,EAAar+F,IAEjBkG,EAAI24G,EACJ14G,GAAKm4F,EAAcwgB,GAI3B,OAAO1oG,GAYX4oG,SAAU,SAAU95G,EAAM+5G,GAGtB,IAAKA,EAAa,OAId,OAFAv8G,QAAQ0Z,KAAK,kGACb1Z,QAAQ2P,IAAI4sG,GAWhB,IAAK,IAFDC,EAJA9oG,EAAO,IAAIxS,EAAO02E,UAGlB4gB,EAAS+jB,EAAa,OAGjBn6G,EAAI,EAAGA,EAAIo2F,EAAOn2F,OAAQD,IAE/Bo6G,EAAW9oG,EAAKokE,SAAS,IAAI52E,EAAO62E,MAChC31E,EACAo2F,EAAOp2F,GAAGsK,MAAMlJ,EAChBg1F,EAAOp2F,GAAGsK,MAAMjJ,EAChB+0F,EAAOp2F,GAAGsK,MAAMiI,EAChB6jF,EAAOp2F,GAAGsK,MAAMmX,EAChB20E,EAAOp2F,GAAGq6G,WAGVjkB,EAAOp2F,GAAG2tE,SAEVysC,EAASlB,QACL9iB,EAAOp2F,GAAG2tE,QACVyoB,EAAOp2F,GAAGs6G,WAAW/nG,EACrB6jF,EAAOp2F,GAAGs6G,WAAW74F,EACrB20E,EAAOp2F,GAAGu6G,iBAAiBn5G,EAC3Bg1F,EAAOp2F,GAAGu6G,iBAAiBl5G,EAC3B+0F,EAAOp2F,GAAGu6G,iBAAiBhoG,EAC3B6jF,EAAOp2F,GAAGu6G,iBAAiB94F,GAI/B20E,EAAOp2F,GAAG2L,UAEVyuG,EAASzuG,SAAU,GAI3B,OAAO2F,GAYXkpG,cAAe,SAAUp6G,EAAM+5G,GAe3B,IAZiB,SAAU,YAAY,aAAa,YAAa,aAEvDnsF,QAAS,SAAS9d,GACxB,IAAKiqG,EAAKjqG,GAIN,OAFAtS,QAAQ0Z,KAAK,oFAAsFpH,EAAM,eACzGtS,QAAQ2P,IAAI4sG,KAMU,IAA1BA,EAAa,OAAEl6G,OAIf,OAFArC,QAAQ0Z,KAAK,wGACb1Z,QAAQ2P,IAAI4sG,GAYhB,IAAK,IARD7oG,EAAO,IAAIxS,EAAO02E,UAElBilC,EAAaN,EAAiB,WAC9BO,EAAYP,EAAgB,UAE5B/jB,EAAS+jB,EAAa,OAAE,GAAU,MAG7Bn6G,EAAI,EAAGA,EAAIo2F,EAAOn2F,OAAQD,IAEpBsR,EAAKokE,SAAS,IAAI52E,EAAO62E,MAChC31E,EACAo2F,EAAOp2F,GAAGoB,EACVg1F,EAAOp2F,GAAGqB,EACVq5G,EACAD,EACA,SAAWz6G,IAINk5G,SAAQ,GAGrB,OAAO5nG,GAYXqpG,aAAc,SAAUv6G,EAAM+5G,GAG1B,IAAKA,EAAa,OAId,OAFAv8G,QAAQ0Z,KAAK,uGACb1Z,QAAQ2P,IAAI4sG,GAKhB,IAIIC,EAJA9oG,EAAO,IAAIxS,EAAO02E,UAGlB4gB,EAAS+jB,EAAa,OAEtBn6G,EAAI,EAER,IAAK,IAAIkQ,KAAOkmF,EAEZgkB,EAAW9oG,EAAKokE,SAAS,IAAI52E,EAAO62E,MAChC31E,EACAo2F,EAAOlmF,GAAK5F,MAAMlJ,EAClBg1F,EAAOlmF,GAAK5F,MAAMjJ,EAClB+0F,EAAOlmF,GAAK5F,MAAMiI,EAClB6jF,EAAOlmF,GAAK5F,MAAMmX,EAClBvR,IAGAkmF,EAAOlmF,GAAKy9D,SAEZysC,EAASlB,QACL9iB,EAAOlmF,GAAKy9D,QACZyoB,EAAOlmF,GAAKoqG,WAAW/nG,EACvB6jF,EAAOlmF,GAAKoqG,WAAW74F,EACvB20E,EAAOlmF,GAAKqqG,iBAAiBn5G,EAC7Bg1F,EAAOlmF,GAAKqqG,iBAAiBl5G,EAC7B+0F,EAAOlmF,GAAKqqG,iBAAiBhoG,EAC7B6jF,EAAOlmF,GAAKqqG,iBAAiB94F,GAIjC20E,EAAOlmF,GAAKvE,UAEZyuG,EAASzuG,SAAU,GAGvB3L,IAGJ,OAAOsR,GAYXspG,QAAS,SAAUx6G,EAAMy6G,GAGrB,GAAKA,EAAIC,qBAAqB,gBAA9B,CAsBA,IAAK,IAbDV,EAEAjrF,EACA7kB,EACAlJ,EACAC,EACAnG,EACAC,EACA4/G,EACAC,EACAzhB,EACAC,EAbAloF,EAAO,IAAIxS,EAAO02E,UAClB4gB,EAASykB,EAAIC,qBAAqB,cAc7B96G,EAAI,EAAGA,EAAIo2F,EAAOn2F,OAAQD,IAI/BmvB,GAFA7kB,EAAQ8rF,EAAOp2F,GAAG2O,YAELwgB,KAAK7qB,MAClBlD,EAAIkvB,SAAShmB,EAAMlJ,EAAEkD,MAAO,IAC5BjD,EAAIivB,SAAShmB,EAAMjJ,EAAEiD,MAAO,IAC5BpJ,EAAQo1B,SAAShmB,EAAMpP,MAAMoJ,MAAO,IACpCnJ,EAASm1B,SAAShmB,EAAMnP,OAAOmJ,MAAO,IAEtCy2G,EAAS,KACTC,EAAS,KAEL1wG,EAAMywG,SAENA,EAASh6G,KAAKgzB,IAAIzD,SAAShmB,EAAMywG,OAAOz2G,MAAO,KAC/C02G,EAASj6G,KAAKgzB,IAAIzD,SAAShmB,EAAM0wG,OAAO12G,MAAO,KAC/Ci1F,EAAajpE,SAAShmB,EAAMivF,WAAWj1F,MAAO,IAC9Ck1F,EAAclpE,SAAShmB,EAAMkvF,YAAYl1F,MAAO,KAGpD81G,EAAW9oG,EAAKokE,SAAS,IAAI52E,EAAO62E,MAAM31E,EAAGoB,EAAGC,EAAGnG,EAAOC,EAAQg0B,IAGnD,OAAX4rF,GAA8B,OAAXC,GAEnBZ,EAASlB,SAAQ,EAAMh+G,EAAOC,EAAQ4/G,EAAQC,EAAQzhB,EAAYC,GAI1E,OAAOloF,EAlDH1T,QAAQ0Z,KAAK,iGAyFzBxY,EAAOysC,MAAQ,SAAUnrC,GAKrB9C,KAAK8C,KAAOA,EAMZ9C,KAAK29G,gBAAiB,EAOtB39G,KAAK4Z,QACD/C,UACAgD,SACA9b,WACAmoC,SACAkuC,SACA7B,QACAsqC,QACAU,OACAj3E,WACAwtC,WACA8pC,UACAtpC,cACAupC,cACAjxG,UACA7H,iBACA+4G,sBAOJ99G,KAAK+9G,WAML/9G,KAAKg+G,aAAe,IAAIrsC,MAMxB3xE,KAAKi+G,SAAW,KAKhBj+G,KAAKk+G,cAAgB,IAAI18G,EAAO0gC,OAMhCliC,KAAKm+G,aAELn+G,KAAKm+G,UAAU38G,EAAOysC,MAAM9kB,QAAUnpB,KAAK4Z,OAAO/C,OAClD7W,KAAKm+G,UAAU38G,EAAOysC,MAAM1hB,OAASvsB,KAAK4Z,OAAOC,MACjD7Z,KAAKm+G,UAAU38G,EAAOysC,MAAMmwE,SAAWp+G,KAAK4Z,OAAO7b,QACnDiC,KAAKm+G,UAAU38G,EAAOysC,MAAMowE,OAASr+G,KAAK4Z,OAAOssB,MACjDlmC,KAAKm+G,UAAU38G,EAAOysC,MAAMxhB,MAAQzsB,KAAK4Z,OAAO24D,KAChDvyE,KAAKm+G,UAAU38G,EAAOysC,MAAMqwE,SAAWt+G,KAAK4Z,OAAO0sB,QACnDtmC,KAAKm+G,UAAU38G,EAAOysC,MAAMnhB,SAAW9sB,KAAK4Z,OAAOk6D,QACnD9zE,KAAKm+G,UAAU38G,EAAOysC,MAAMswE,QAAUv+G,KAAK4Z,OAAOgkG,OAClD59G,KAAKm+G,UAAU38G,EAAOysC,MAAM/gB,YAAcltB,KAAK4Z,OAAO06D,WACtDt0E,KAAKm+G,UAAU38G,EAAOysC,MAAMuwE,YAAcx+G,KAAK4Z,OAAOikG,WACtD79G,KAAKm+G,UAAU38G,EAAOysC,MAAMwwE,MAAQz+G,KAAK4Z,OAAOijG,KAChD78G,KAAKm+G,UAAU38G,EAAOysC,MAAMywE,KAAO1+G,KAAK4Z,OAAO2jG,IAC/Cv9G,KAAKm+G,UAAU38G,EAAOysC,MAAMhgB,OAASjuB,KAAK4Z,OAAOw6D,MACjDp0E,KAAKm+G,UAAU38G,EAAOysC,MAAM0wE,QAAU3+G,KAAK4Z,OAAOhN,OAClD5M,KAAKm+G,UAAU38G,EAAOysC,MAAM2wE,gBAAkB5+G,KAAK4Z,OAAO7U,cAM1D/E,KAAK6+G,cAAgB,EAOrB7+G,KAAK09C,QAAU,IAAIl8C,EAAO0gC,OAE1BliC,KAAK8+G,cAQTt9G,EAAOysC,MAAM9kB,OAAS,EAMtB3nB,EAAOysC,MAAM1hB,MAAQ,EAMrB/qB,EAAOysC,MAAMmwE,QAAU,EAMvB58G,EAAOysC,MAAMowE,MAAQ,EAMrB78G,EAAOysC,MAAMxhB,KAAO,EAMpBjrB,EAAOysC,MAAMqwE,QAAU,EAMvB98G,EAAOysC,MAAMnhB,QAAU,EAMvBtrB,EAAOysC,MAAMswE,OAAS,EAMtB/8G,EAAOysC,MAAM/gB,WAAa,EAM1B1rB,EAAOysC,MAAMuwE,WAAa,GAM1Bh9G,EAAOysC,MAAMwwE,KAAO,GAMpBj9G,EAAOysC,MAAMywE,IAAM,GAMnBl9G,EAAOysC,MAAMhgB,MAAQ,GAMrBzsB,EAAOysC,MAAM0wE,OAAS,GAMtBn9G,EAAOysC,MAAM2wE,eAAiB,GAO9Bp9G,EAAOysC,MAAM3mB,QAAU,KAOvB9lB,EAAOysC,MAAM8wE,YAAc,YAO3Bv9G,EAAOysC,MAAM+wE,YAAc,yKAO3Bx9G,EAAOysC,MAAMgxE,QAAU,KAOvBz9G,EAAOysC,MAAMixE,YAAc,YAO3B19G,EAAOysC,MAAMkxE,YAAc,6WAQ3B39G,EAAOysC,MAAMmxE,cAAgB,IAE7B59G,EAAOysC,MAAM3rC,WAiBT+8G,6BAA8B,SAAUzsG,EAAKyhE,EAAKirC,EAAWC,GAErDv/G,KAAKg2F,cAAcpjF,IAEnB5S,KAAKw/G,YAAY5sG,GAGrB,IAAIoB,EAAQsrG,KAAa99G,EAAOi+G,aAAgBj+G,EAAOi+G,aAAaH,GAAWC,GAAeA,EAE1FxhH,GACA6U,IAAKA,EACLyhE,IAAKA,EACLrgE,KAAMA,EACN+F,KAAM,IAAIvb,KAAKurB,YAAY/V,EAAM,KAAMhU,KAAK8C,KAAK6B,YACjDqI,MAAO,IAAIxL,EAAO62E,MAAM,EAAG,EAAG,EAAGrkE,EAAKpW,MAAOoW,EAAKnW,OAAQ+U,GAC1Do9D,UAAW,IAAIxuE,EAAO02E,UACtBwnC,WAAYJ,GAShB,OANAvhH,EAAQiyE,UAAUoI,SAAS,IAAI52E,EAAO62E,MAAM,EAAG,EAAG,EAAGrkE,EAAKpW,MAAOoW,EAAKnW,OAAQw2E,IAE9Er0E,KAAK4Z,OAAOC,MAAMjH,GAAO7U,EAEzBiC,KAAK2/G,YAAYtrC,EAAKt2E,GAEfA,GAYX6hH,UAAW,SAAUhtG,EAAKiE,EAAQpJ,QAEdnH,IAAZmH,IAAyBA,EAAUoJ,EAAOsB,WAAW,OAEzDnY,KAAK4Z,OAAO/C,OAAOjE,IAASiE,OAAQA,EAAQpJ,QAASA,IAgBzDgsE,SAAU,SAAU7mE,EAAKyhE,EAAKrgE,GAEtBhU,KAAKg2F,cAAcpjF,IAEnB5S,KAAKw/G,YAAY5sG,IAGC,IAAlBoB,EAAKgW,UAEL1pB,QAAQ0Z,KAAK,iCAAmCpH,EAAM,gCAG1D,IAAIu9D,GACAv9D,IAAKA,EACLyhE,IAAKA,EACLrgE,KAAMA,EACN+F,KAAM,IAAIvb,KAAKurB,YAAY/V,EAAM,KAAMhU,KAAK8C,KAAK6B,YACjDqI,MAAO,IAAIxL,EAAO62E,MAAM,EAAG,EAAG,EAAGrkE,EAAKpW,MAAOoW,EAAKnW,OAAQ+U,GAC1Do9D,UAAW,IAAIxuE,EAAO02E,WAkB1B,OAfA/H,EAAIH,UAAUoI,SAAS,IAAI52E,EAAO62E,MAAM,EAAG,EAAG,EAAGrkE,EAAKpW,MAAOoW,EAAKnW,OAAQw2E,IAE1Er0E,KAAK4Z,OAAOC,MAAMjH,GAAOu9D,EAEzBnwE,KAAK2/G,YAAYtrC,EAAKlE,GAEV,cAARv9D,EAEApR,EAAOysC,MAAM3mB,QAAU,IAAI9oB,KAAK+N,QAAQ4jE,EAAIp2D,MAE/B,cAARnH,IAELpR,EAAOysC,MAAMgxE,QAAU,IAAIzgH,KAAK+N,QAAQ4jE,EAAIp2D,OAGzCo2D,GAQX0vC,cAAe,SAAUjtG,EAAKnD,EAAK0kC,GAE/B,IAAIlZ,EAAOj7B,KACPmwE,EAAM,IAAIwB,MAEdxB,EAAIqJ,OAAS,WACTrlC,EAAS5vC,KAAKvE,KAAMi7B,EAAKw+C,SAAS7mE,EAAK,KAAMu9D,IAC7Cl1C,EAAK6kF,iBACL3vC,EAAIqJ,OAAS,MAGjBx5E,KAAK+/G,cACL5vC,EAAI1gE,IAAMA,GAaduwG,gBAAiB,WAEbhgH,KAAK6/G,cAAcr+G,EAAOysC,MAAM8wE,YAAav9G,EAAOysC,MAAM+wE,YAAa,SAAUptF,GAE7EA,EAAI7X,KAAK5M,YAAa,EAGtB3L,EAAOysC,MAAM3mB,QAAU,IAAI9oB,KAAK+N,QAAQqlB,EAAI7X,SAcpDkmG,gBAAiB,WAEbjgH,KAAK6/G,cAAcr+G,EAAOysC,MAAMixE,YAAa19G,EAAOysC,MAAMkxE,YAAa,SAAUvtF,GAE7EpwB,EAAOysC,MAAMgxE,QAAU,IAAIzgH,KAAK+N,QAAQqlB,EAAI7X,SAepDmmG,SAAU,SAAUttG,EAAKyhE,EAAKrgE,EAAM6pC,EAAUsiE,QAEzB75G,IAAbu3C,IAA0BA,GAAW,EAAMsiE,GAAW,QACzC75G,IAAb65G,IAA0BtiE,GAAW,EAAOsiE,GAAW,GAE3D,IAAIC,GAAU,EAEVD,IAEAC,GAAU,GAGdpgH,KAAK4Z,OAAOssB,MAAMtzB,IACdyhE,IAAKA,EACLrgE,KAAMA,EACNqsG,YAAY,EACZD,QAASA,EACTviE,SAAUA,EACVsiE,SAAUA,EACVj6D,OAAQlmD,KAAK8C,KAAKojC,MAAMo6E,aAG5BtgH,KAAK2/G,YAAYtrC,EAAKr0E,KAAK4Z,OAAOssB,MAAMtzB,KAY5C2tG,QAAS,SAAU3tG,EAAKyhE,EAAKrgE,GAEzBhU,KAAK4Z,OAAO24D,KAAK3/D,IAASyhE,IAAKA,EAAKrgE,KAAMA,GAE1ChU,KAAK2/G,YAAYtrC,EAAKr0E,KAAK4Z,OAAO24D,KAAK3/D,KAa3C4tG,eAAgB,SAAU5tG,EAAKyhE,EAAKuoC,EAAUvoG,GAE1CrU,KAAK4Z,OAAO0sB,QAAQ1zB,IAASyhE,IAAKA,EAAKrgE,KAAM4oG,EAAUvoG,OAAQA,GAE/DrU,KAAK2/G,YAAYtrC,EAAKr0E,KAAK4Z,OAAO0sB,QAAQ1zB,KAa9C6tG,WAAY,SAAU7tG,EAAKyhE,EAAKqsC,EAASrsG,GAErCrU,KAAK4Z,OAAOk6D,QAAQlhE,IAASyhE,IAAKA,EAAKrgE,KAAM0sG,EAASrsG,OAAQA,GAE9DrU,KAAK2/G,YAAYtrC,EAAKr0E,KAAK4Z,OAAOk6D,QAAQlhE,KAW9C+tG,UAAW,SAAU/tG,EAAKguG,GAEtB5gH,KAAK4Z,OAAOgkG,OAAOhrG,GAAOguG,GAa9BrsC,cAAe,SAAU3hE,EAAK0hE,EAAYtE,GAYtC,OAVAsE,EAAW1hE,IAAMA,OAECtM,IAAd0pE,IAEAA,EAAY,IAAIxuE,EAAO02E,WACbE,SAAS9D,EAAW6D,cAGlCn4E,KAAK4Z,OAAO06D,WAAW1hE,IAASoB,KAAMsgE,EAAYtE,UAAWA,GAEtDsE,GAgBXusC,cAAe,SAAUjuG,EAAKyhE,EAAKrgE,EAAM8sG,EAAWC,EAAWvtC,EAAUC,GAErE,IAAI7hD,GACAyiD,IAAKA,EACLrgE,KAAMA,EACNm/D,KAAM,KACNp5D,KAAM,IAAIvb,KAAKurB,YAAY/V,EAAM,KAAMhU,KAAK8C,KAAK6B,kBAGpC2B,IAAbktE,IAA0BA,EAAW,QACxBltE,IAAbmtE,IAA0BA,EAAW,GAIrC7hD,EAAIuhD,KAFU,SAAd4tC,EAEWv/G,EAAOi+G,aAAauB,eAAeF,EAAWlvF,EAAI7X,KAAMy5D,EAAUC,GAAU,EAAOzzE,KAAK8C,KAAK6B,YAI7FnD,EAAOi+G,aAAawB,cAAcH,EAAWlvF,EAAI7X,KAAMy5D,EAAUC,GAAU,EAAOzzE,KAAK8C,KAAK6B,YAG3G3E,KAAK4Z,OAAOikG,WAAWjrG,GAAOgf,EAE9B5xB,KAAK2/G,YAAYtrC,EAAKziD,IAwB1BsvF,uBAAwB,SAAUtuG,EAAKuuG,EAAUC,EAAYC,EAASC,EAAU9tC,EAAUC,GAEtF,IAAIzmE,EAAQhN,KAAKg6G,eAAemH,EAAUC,GAE1C,GAAKp0G,EAAL,CAKA,IAAI4kB,GACAuhD,KAAM,KACNp5D,KAAM/Z,KAAKuhH,eAAeJ,GAC1Bn0G,MAAOA,QAGM1G,IAAbktE,IAA0BA,EAAW,QACxBltE,IAAbmtE,IAA0BA,EAAW,GAEzC,IAAI+tC,EAEa,SAAbF,GAEAE,EAAWxhH,KAAKyhH,QAAQJ,GACxBzvF,EAAIuhD,KAAO3xE,EAAOi+G,aAAauB,eAAeQ,EAAU5vF,EAAI7X,KAAMy5D,EAAUC,EAAUzmE,EAAOhN,KAAK8C,KAAK6B,cAIvG68G,EAAWxhH,KAAK0hH,OAAOL,GACvBzvF,EAAIuhD,KAAO3xE,EAAOi+G,aAAawB,cAAcO,EAAU5vF,EAAI7X,KAAMy5D,EAAUC,EAAUzmE,EAAOhN,KAAK8C,KAAK6B,aAG1G3E,KAAK4Z,OAAOikG,WAAWjrG,GAAOgf,IAYlC+vF,QAAS,SAAU/uG,EAAKyhE,EAAKrgE,GAEzBhU,KAAK4Z,OAAOijG,KAAKjqG,IAASyhE,IAAKA,EAAKrgE,KAAMA,GAE1ChU,KAAK2/G,YAAYtrC,EAAKr0E,KAAK4Z,OAAOijG,KAAKjqG,KAY3CgvG,OAAQ,SAAUhvG,EAAKyhE,EAAKrgE,GAExBhU,KAAK4Z,OAAO2jG,IAAI3qG,IAASyhE,IAAKA,EAAKrgE,KAAMA,GAEzChU,KAAK2/G,YAAYtrC,EAAKr0E,KAAK4Z,OAAO2jG,IAAI3qG,KAa1CivG,SAAU,SAAUjvG,EAAKyhE,EAAKrgE,EAAM8tG,GAEhC9hH,KAAK4Z,OAAOw6D,MAAMxhE,IAASyhE,IAAKA,EAAKrgE,KAAMA,EAAM8tG,OAAQA,EAAQ57D,QAAQ,GAEzElmD,KAAK2/G,YAAYtrC,EAAKr0E,KAAK4Z,OAAOw6D,MAAMxhE,KAY5CmvG,UAAW,SAAUnvG,EAAKyhE,EAAKrgE,GAE3BhU,KAAK4Z,OAAOhN,OAAOgG,IAASyhE,IAAKA,EAAKrgE,KAAMA,GAE5ChU,KAAK2/G,YAAYtrC,EAAKr0E,KAAK4Z,OAAOhN,OAAOgG,KAW7CuhE,iBAAkB,SAAUvhE,EAAK7U,GAE7BiC,KAAK4Z,OAAO7U,cAAc6N,IAAS7U,QAASA,EAASiP,MAAO,IAAIxL,EAAO62E,MAAM,EAAG,EAAG,EAAGt6E,EAAQH,MAAOG,EAAQF,OAAQ,GAAI,MAkB7HmkH,eAAgB,SAAUpvG,EAAKyhE,EAAKrgE,EAAMioF,EAAYC,EAAasgB,EAAUC,EAAQC,EAASC,QAEzEr2G,IAAbk2G,IAA0BA,GAAY,QAC3Bl2G,IAAXm2G,IAAwBA,EAAS,QACrBn2G,IAAZo2G,IAAyBA,EAAU,GAEvC,IAAI9qF,GACAhf,IAAKA,EACLyhE,IAAKA,EACLrgE,KAAMA,EACNioF,WAAYA,EACZC,YAAaA,EACbugB,OAAQA,EACRC,QAASA,EACT3iG,KAAM,IAAIvb,KAAKurB,YAAY/V,EAAM,KAAMhU,KAAK8C,KAAK6B,YACjDqrE,UAAWxuE,EAAO86G,gBAAgBC,YAAYv8G,KAAK8C,KAAMkR,EAAMioF,EAAYC,EAAasgB,EAAUC,EAAQC,EAASC,IAGvH38G,KAAK4Z,OAAOC,MAAMjH,GAAOgf,EAEzB5xB,KAAK2/G,YAAYtrC,EAAKziD,IAc1BqwF,gBAAiB,SAAUrvG,EAAKyhE,EAAKrgE,EAAM8sG,EAAWzsG,GAElD,IAAIud,GACAhf,IAAKA,EACLyhE,IAAKA,EACLrgE,KAAMA,EACN+F,KAAM,IAAIvb,KAAKurB,YAAY/V,EAAM,KAAMhU,KAAK8C,KAAK6B,aAGjD0P,IAAW7S,EAAOm7C,OAAOulE,2BAEzBtwF,EAAIo+C,UAAYxuE,EAAO86G,gBAAgBgB,QAAQt9G,KAAK8C,KAAMg+G,EAAWluG,GAEhEyB,IAAW7S,EAAOm7C,OAAOwlE,yBAE9BvwF,EAAIo+C,UAAYxuE,EAAO86G,gBAAgBY,cAAcl9G,KAAK8C,KAAMg+G,EAAWluG,GAKvEvL,MAAMC,QAAQw5G,EAAUhoB,QAExBlnE,EAAIo+C,UAAYxuE,EAAO86G,gBAAgBM,SAAS58G,KAAK8C,KAAMg+G,EAAWluG,GAItEgf,EAAIo+C,UAAYxuE,EAAO86G,gBAAgBe,aAAar9G,KAAK8C,KAAMg+G,EAAWluG,GAIlF5S,KAAK4Z,OAAOC,MAAMjH,GAAOgf,EAEzB5xB,KAAK2/G,YAAYtrC,EAAKziD,IAc1BwwF,YAAa,SAAUxvG,GAEnB,IAAIo5B,EAAQhsC,KAERkmC,EAAQlmC,KAAKqiH,SAASzvG,GAEtBszB,IAEAA,EAAMlyB,KAAKvE,IAAMy2B,EAAMmuC,IAEvBnuC,EAAMlyB,KAAKo8B,iBAAiB,iBAAkB,WAC1C,OAAOpE,EAAMs2E,oBAAoB1vG,KAClC,GAEHszB,EAAMlyB,KAAKiyB,SAWnBq8E,oBAAqB,SAAU1vG,GAE3B,IAAIszB,EAAQlmC,KAAKqiH,SAASzvG,GAEtBszB,IAEAA,EAAMggB,QAAS,EACflmD,KAAKk+G,cAAcj5E,SAASryB,KAWpC2vG,YAAa,SAAU3vG,EAAKsjC,EAAUlvC,GAElC,IAAIk/B,EAAQlmC,KAAKqiH,SAASzvG,GAEtBszB,IAEAA,EAAMgQ,GAAYlvC,IAY1Bw7G,aAAc,SAAU5vG,EAAKoB,GAEzB,IAAIkyB,EAAQlmC,KAAKqiH,SAASzvG,GAE1BszB,EAAMlyB,KAAOA,EACbkyB,EAAMk6E,SAAU,EAChBl6E,EAAMm6E,YAAa,GAWvBoC,eAAgB,SAAU7vG,GAEtB,IAAIszB,EAAQlmC,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMowE,MAAO,kBAElD,GAAIn4E,EAEA,OAAOA,EAAMk6E,SAarBsC,aAAc,SAAU9vG,GAEpB,IAAIszB,EAAQlmC,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMowE,MAAO,kBAElD,GAAIn4E,EAEA,OAAQA,EAAMk6E,UAAYpgH,KAAK8C,KAAKojC,MAAMo6E,aAiBlDqC,SAAU,SAAUhpG,EAAO/G,GAEvB,QAAI5S,KAAKm+G,UAAUxkG,GAAO/G,IAmB9BgwG,SAAU,SAAUvuC,GAEhB,QAAIr0E,KAAK+9G,QAAQ/9G,KAAK2/G,YAAYtrC,KAgBtCwuC,eAAgB,SAAUjwG,GAEtB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAM9kB,OAAQvW,IAW9CojF,cAAe,SAAUpjF,GAErB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAM1hB,MAAO3Z,IAW7CkwG,gBAAiB,SAAUlwG,GAEvB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMmwE,QAASxrG,IAW/CmwG,cAAe,SAAUnwG,GAErB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMowE,MAAOzrG,IAW7CowG,aAAc,SAAUpwG,GAEpB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMxhB,KAAM7Z,IAW5CqwG,gBAAiB,SAAUrwG,GAEvB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMqwE,QAAS1rG,IAW/CswG,gBAAiB,SAAUtwG,GAEvB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMnhB,QAASla,IAW/CuwG,eAAgB,SAAUvwG,GAEtB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMswE,OAAQ3rG,IAW9CwwG,mBAAoB,SAAUxwG,GAE1B,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAM/gB,WAAYta,IAWlDywG,mBAAoB,SAAUzwG,GAE1B,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMuwE,WAAY5rG,IAWlD0wG,aAAc,SAAU1wG,GAEpB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMwwE,KAAM7rG,IAW5C2wG,YAAa,SAAU3wG,GAEnB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMywE,IAAK9rG,IAW3C4wG,cAAe,SAAU5wG,GAErB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAMhgB,MAAOrb,IAW7C6wG,eAAgB,SAAU7wG,GAEtB,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAM0wE,OAAQ/rG,IAW9C8wG,sBAAuB,SAAU9wG,GAE7B,OAAO5S,KAAK2iH,SAASnhH,EAAOysC,MAAM2wE,eAAgBhsG,IAqBtDoxF,QAAS,SAAUpxF,EAAK+G,EAAOu9B,EAAQhB,GAEnC,OAAKl2C,KAAK2iH,SAAShpG,EAAO/G,QASLtM,IAAb4vC,EAEOl2C,KAAKm+G,UAAUxkG,GAAO/G,GAItB5S,KAAKm+G,UAAUxkG,GAAO/G,GAAKsjC,IAblCgB,GAEA52C,QAAQ0Z,KAAK,gBAAkBk9B,EAAS,UAAYtkC,EAAM,yBAe3D,OAeXkpE,UAAW,SAAUlpE,GAEjB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAM9kB,OAAQ,YAAa,WAoB/DinD,SAAU,SAAUx9D,EAAK+wG,QAETr9G,IAARsM,GAA6B,OAARA,IAErBA,EAAM,kBAGGtM,IAATq9G,IAAsBA,GAAO,GAEjC,IAAKxzC,EAAMnwE,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAM1hB,MAAO,YAOjD,OALY,OAAR4jD,IAEAA,EAAMnwE,KAAKgkG,QAAQ,YAAaxiG,EAAOysC,MAAM1hB,MAAO,aAGpDo3F,EAEOxzC,EAIAA,EAAIn8D,MAcnB4vG,gBAAiB,SAAUhxG,GAEvB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMmwE,QAAS,kBAAmB,UAetEiE,SAAU,SAAUzvG,GAEhB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMowE,MAAO,aAejDwF,aAAc,SAAUjxG,GAEpB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMowE,MAAO,eAAgB,SAejEyF,QAAS,SAAUlxG,GAEf,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMxhB,KAAM,UAAW,SAmB3Ds3F,eAAgB,SAAUnxG,EAAKgmC,EAAQorE,GAEnC,IAAIhwG,EAAOhU,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMqwE,QAAS,iBAAkB,QAErE,GAAa,OAATtqG,QAA4B1N,IAAXsyC,GAAmC,OAAXA,EAEzC,OAAO5kC,EAIP,GAAIA,EAAK4kC,GACT,CACI,IAAIqrE,EAAWjwG,EAAK4kC,GAGpB,IAAIqrE,IAAYD,EAmBZ,OAAOC,EAjBP,IAAK,IAAIC,KAAWD,EAMhB,IAHAC,EAAUD,EAASC,IAGPF,aAAeA,EAEvB,OAAOE,EAKf5jH,QAAQ0Z,KAAK,kEAAoEgqG,EAAa,OAASpxG,EAAM,UASjHtS,QAAQ0Z,KAAK,qDAAuDpH,EAAM,MAAQgmC,EAAS,KAInG,OAAO,MAeXurE,eAAgB,SAAUvxG,GAEtB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMnhB,QAAS,mBAenDs3F,UAAW,SAAUxxG,GAEjB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMswE,OAAQ,cAelD8F,cAAe,SAAUzxG,GAErB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAM/gB,WAAY,gBAAiB,SAevEynE,cAAe,SAAU/hF,GAErB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMuwE,WAAY,kBAmBtDiD,QAAS,SAAU7uG,EAAKmhB,GAEpB,IAAI/f,EAAOhU,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMwwE,KAAM,UAAW,QAE3D,OAAIzqG,EAEI+f,EAEOvyB,EAAO+vB,MAAMoC,QAAO,EAAMtsB,MAAMC,QAAQ0M,SAAiBA,GAIzDA,EAKJ,MAgBf0tG,OAAQ,SAAU9uG,GAEd,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMywE,IAAK,SAAU,SAezD4F,SAAU,SAAU1xG,GAEhB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAMhgB,MAAO,aAejDs2F,UAAW,SAAU3xG,GAEjB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAM0wE,OAAQ,YAAa,SAe/D6F,iBAAkB,SAAU5xG,GAExB,OAAO5S,KAAKgkG,QAAQpxF,EAAKpR,EAAOysC,MAAM2wE,eAAgB,qBAgB1D2C,eAAgB,SAAU3uG,EAAK+G,GAI3B,YAFcrT,IAAVqT,IAAuBA,EAAQnY,EAAOysC,MAAM1hB,OAEzCvsB,KAAKgkG,QAAQpxF,EAAK+G,EAAO,iBAAkB,SAYtDogG,SAAU,SAAUnnG,EAAK+G,GAIrB,YAFcrT,IAAVqT,IAAuBA,EAAQnY,EAAOysC,MAAM1hB,OAEzCvsB,KAAKgkG,QAAQpxF,EAAK+G,EAAO,WAAY,UAYhD8qG,cAAe,SAAU7xG,EAAK+G,GAE1B,IAAI3F,EAAOhU,KAAK+vE,aAAan9D,EAAK+G,GAElC,OAAI3F,EAEOA,EAAKkkC,MAIL,GAiBf63B,aAAc,SAAUn9D,EAAK+G,GAIzB,YAFcrT,IAAVqT,IAAuBA,EAAQnY,EAAOysC,MAAM1hB,OAEzCvsB,KAAKgkG,QAAQpxF,EAAK+G,EAAO,eAAgB,cAYpDk2D,aAAc,SAAUj9D,EAAK+G,GAIzB,YAFcrT,IAAVqT,IAAuBA,EAAQnY,EAAOysC,MAAM1hB,OAEM,OAA9CvsB,KAAKgkG,QAAQpxF,EAAK+G,EAAO,GAAI,cAYzCk9E,gBAAiB,SAAUjkF,EAAKo9D,EAAWr2D,QAEzBrT,IAAVqT,IAAuBA,EAAQnY,EAAOysC,MAAM1hB,OAE5CvsB,KAAKm+G,UAAUxkG,GAAO/G,KAEtB5S,KAAKm+G,UAAUxkG,GAAO/G,GAAKo9D,UAAYA,IAc/C00C,gBAAiB,SAAU9xG,EAAKpK,EAAOmR,GAEnC,IAAI3F,EAAOhU,KAAK+vE,aAAan9D,EAAK+G,GAElC,OAAI3F,EAEOA,EAAK+lG,SAASvxG,GAId,MAcfwxG,eAAgB,SAAUpnG,EAAKif,EAAMlY,GAEjC,IAAI3F,EAAOhU,KAAK+vE,aAAan9D,EAAK+G,GAElC,OAAI3F,EAEOA,EAAKgmG,eAAenoF,GAIpB,MAcf8yF,OAAQ,SAAUtwC,GAId,OAFIA,EAAMr0E,KAAK2/G,YAAYtrC,IAIhBr0E,KAAK+9G,QAAQ1pC,IAIpB/zE,QAAQ0Z,KAAK,sCAAwCq6D,EAAO,uCACrD,OAYfuwC,QAAS,SAAUjrG,QAEDrT,IAAVqT,IAAuBA,EAAQnY,EAAOysC,MAAM1hB,OAEhD,IAAIwI,KAEJ,GAAI/0B,KAAKm+G,UAAUxkG,GAEf,IAAK,IAAI/G,KAAO5S,KAAKm+G,UAAUxkG,GAEf,cAAR/G,GAA+B,cAARA,GAEvBmiB,EAAIrtB,KAAKkL,GAKrB,OAAOmiB,GAiBX8vF,aAAc,SAAUjyG,UAEb5S,KAAK4Z,OAAO/C,OAAOjE,IAgB9B4sG,YAAa,SAAU5sG,EAAKkyG,QAEGx+G,IAAvBw+G,IAAoCA,GAAqB,GAE7D,IAAI30C,EAAMnwE,KAAKowE,SAASx9D,GAAK,GAEzBkyG,GAAsB30C,EAAIp2D,MAE1Bo2D,EAAIp2D,KAAKvX,iBAGNxC,KAAK4Z,OAAOC,MAAMjH,IAiB7BmyG,YAAa,SAAUnyG,UAEZ5S,KAAK4Z,OAAOssB,MAAMtzB,IAa7BoyG,WAAY,SAAUpyG,UAEX5S,KAAK4Z,OAAO24D,KAAK3/D,IAa5BqyG,cAAe,SAAUryG,UAEd5S,KAAK4Z,OAAO0sB,QAAQ1zB,IAa/BsyG,cAAe,SAAUtyG,UAEd5S,KAAK4Z,OAAOk6D,QAAQlhE,IAa/BuyG,aAAc,SAAUvyG,UAEb5S,KAAK4Z,OAAOgkG,OAAOhrG,IAa9BwyG,iBAAkB,SAAUxyG,UAEjB5S,KAAK4Z,OAAO06D,WAAW1hE,IAalCyyG,iBAAkB,SAAUzyG,UAEjB5S,KAAK4Z,OAAOikG,WAAWjrG,IAalC0yG,WAAY,SAAU1yG,UAEX5S,KAAK4Z,OAAOijG,KAAKjqG,IAa5B2yG,UAAW,SAAU3yG,UAEV5S,KAAK4Z,OAAO2jG,IAAI3qG,IAa3B4yG,YAAa,SAAU5yG,UAEZ5S,KAAK4Z,OAAOw6D,MAAMxhE,IAa7B6yG,aAAc,SAAU7yG,UAEb5S,KAAK4Z,OAAOhN,OAAOgG,IAa9B8yG,oBAAqB,SAAU9yG,UAEpB5S,KAAK4Z,OAAO7U,cAAc6N,IAarC+yG,kBAAmB,SAAU/yG,UAElB5S,KAAK4Z,OAAO2iG,YAAY3pG,IAanCgzG,mBAAoB,SAAUhzG,UAEnB5S,KAAK4Z,OAAOC,MAAMjH,IAW7B2rC,gBAAiB,WAEb,IAAK,IAAI3rC,KAAO5S,KAAK4Z,OAAOC,MAExB7Z,KAAK4Z,OAAOC,MAAMjH,GAAKmH,KAAKlG,gBAepC8rG,YAAa,SAAUtrC,EAAKrgE,GAExB,OAAKhU,KAAK29G,gBAKV39G,KAAKg+G,aAAavuG,IAAMzP,KAAK8C,KAAKmjC,KAAK4/E,QAAUxxC,EAEjDr0E,KAAKi+G,SAAWj+G,KAAKg+G,aAAavuG,IAGlCzP,KAAKg+G,aAAavuG,IAAM,GAGpBuE,IAEAhU,KAAK+9G,QAAQ/9G,KAAKi+G,UAAYjqG,GAG3BhU,KAAKi+G,UAhBD,MA4Bfz7G,QAAS,WAEL,IAAK,IAAIE,EAAI,EAAGA,EAAI1C,KAAKm+G,UAAUx7G,OAAQD,IAC3C,CACI,IAAIiX,EAAQ3Z,KAAKm+G,UAAUz7G,GAE3B,IAAK,IAAIkQ,KAAO+G,EAEA,cAAR/G,GAA+B,cAARA,IAEvB5S,KAAK8lH,YAAYnsG,EAAM/G,WAEhB+G,EAAM/G,IAKzB5S,KAAK+9G,QAAU,KACf/9G,KAAKg+G,aAAe,KACpBh+G,KAAKi+G,SAAW,MASpB6H,YAAa,SAAU5+G,GAEfA,EAAK1E,QAEL0E,EAAK1E,WAID0E,EAAK6S,MAAQ7S,EAAK6S,KAAKvX,SAEvB0E,EAAK6S,KAAKvX,UAGV0E,EAAK8M,MAAQ9M,EAAK8M,KAAKxR,SAEvB0E,EAAK8M,KAAKxR,UAGV0E,EAAK8oE,WAAa9oE,EAAK8oE,UAAUxtE,SAEjC0E,EAAK8oE,UAAUxtE,UAGf0E,EAAKnJ,SAAWmJ,EAAKnJ,QAAQyE,SAE7B0E,EAAKnJ,QAAQyE,SAAQ,KAWjCs8G,WAAY,WAER9+G,KAAK6+G,cAAgB,EAErB7+G,KAAKggH,kBACLhgH,KAAKigH,kBAEL,IAAIhlF,EAAOj7B,KACP+lH,EAAevkH,EAAOysC,MAAMmxE,cAE5B59G,EAAOysC,MAAMmxE,cAAgB,EAE7B7d,WAAW,WACFtmE,EAAKwiB,UAENn9C,QAAQ0Z,KAAK,sDAAuD+rG,GAEpE9qF,EAAK+qF,WAEVxkH,EAAOysC,MAAMmxE,eAIhBp/G,KAAKgmH,UAWbjG,YAAa,WAET//G,KAAK6+G,eAAiB,GAU1BiB,eAAgB,WAEZ9/G,KAAK6+G,eAAiB,EACtB7+G,KAAKimH,eAUTA,YAAa,WAELjmH,KAAKy9C,SAELz9C,KAAKgmH,UAWbA,OAAQ,WAEJhmH,KAAK6+G,cAAgB,EACrB7+G,KAAK09C,QAAQzY,SAASjlC,QAM9BwB,EAAOysC,MAAM3rC,UAAUC,YAAcf,EAAOysC,MAO5CrnC,OAAOuF,eAAe3K,EAAOysC,MAAM3rC,UAAW,WAC1CwE,IAAK,WACD,OAAO9G,KAAK6+G,eAAiB,KAyBrCr9G,EAAOm7C,OAAS,SAAU75C,GAOtB9C,KAAK8C,KAAOA,EAOZ9C,KAAK2Z,MAAQ7W,EAAK6W,MAOlB3Z,KAAKiiD,aAAc,EAOnBjiD,KAAKkmH,WAAY,EAOjBlmH,KAAK8M,WAAY,EAUjB9M,KAAKmmH,cAAgB,KAOrBnmH,KAAKomH,aAAc,EASnBpmH,KAAK6lH,QAAU,GAsBf7lH,KAAK4sF,KAAO,GAuBZ5sF,KAAKqmH,SACDC,eAAiB,EACjBzJ,KAAQ,mBACRU,IAAO,mBASXv9G,KAAKumH,YAAc,IAAI/kH,EAAO0gC,OAO9BliC,KAAKwmH,eAAiB,IAAIhlH,EAAO0gC,OAWjCliC,KAAKymH,eAAiB,IAAIjlH,EAAO0gC,OAUjCliC,KAAK0mH,YAAc,IAAIllH,EAAO0gC,OAa9BliC,KAAK2mH,eAAiB,IAAInlH,EAAO0gC,OAWjCliC,KAAK4mH,YAAc,IAAIplH,EAAO0gC,OAS9BliC,KAAK6mH,gBAAiB,EAWtB7mH,KAAK8mH,qBAAuB,EAM5B9mH,KAAK+mH,oBAAsB,EAU3B/mH,KAAKgnH,aAcLhnH,KAAKinH,gBAQLjnH,KAAKknH,gBAAkB,EASvBlnH,KAAKmnH,kBAAmB,EAOxBnnH,KAAKonH,gBAAkB,EAOvBpnH,KAAKqnH,gBAAkB,EAOvBrnH,KAAKsnH,iBAAmB,EAOxBtnH,KAAKunH,iBAAmB,GAQ5B/lH,EAAOm7C,OAAO6qE,yBAA2B,EAMzChmH,EAAOm7C,OAAO8qE,wBAA0B,EAMxCjmH,EAAOm7C,OAAOulE,2BAA6B,EAM3C1gH,EAAOm7C,OAAO+qE,yBAA2B,EAMzClmH,EAAOm7C,OAAOgrE,oBAAsB,EAMpCnmH,EAAOm7C,OAAOwlE,yBAA2B,EAEzC3gH,EAAOm7C,OAAOr6C,WAcVslH,iBAAkB,SAAU1kG,EAAQmhB,GAEhCA,EAAYA,GAAa,EAEzBrkC,KAAKmmH,eAAkBjjG,OAAQA,EAAQmhB,UAAWA,EAAWzmC,MAAOslB,EAAOtlB,MAAOC,OAAQqlB,EAAOrlB,OAAQ68B,KAAM,MAK3G16B,KAAKmmH,cAAczrF,KAHL,IAAd2J,EAG0B,IAAI7iC,EAAOS,UAAU,EAAG,EAAG,EAAGihB,EAAOrlB,QAKrC,IAAI2D,EAAOS,UAAU,EAAG,EAAGihB,EAAOtlB,MAAO,GAGvEslB,EAAO3V,KAAKvN,KAAKmmH,cAAczrF,MAE/BxX,EAAOhiB,SAAU,GAYrBgF,OAAQ,WAEAlG,KAAKmmH,eAAiBnmH,KAAKmmH,cAActoH,SAAWmC,KAAKmmH,cAAcjjG,OAAOrlB,SAE9EmC,KAAKmmH,cAAczrF,KAAK78B,OAASmC,KAAKmmH,cAAcjjG,OAAOrlB,SAenEgqH,eAAgB,SAAUz0G,EAAMR,GAE5B,OAAO5S,KAAK8nH,cAAc10G,EAAMR,IAAQ,GAe5Ck1G,cAAe,SAAU10G,EAAMR,GAI3B,IAAK,IAFDm1G,GAAa,EAERrlH,EAAI,EAAGA,EAAI1C,KAAKgnH,UAAUrkH,OAAQD,IAC3C,CACI,IAAIs7F,EAAOh+F,KAAKgnH,UAAUtkH,GAE1B,GAAIs7F,EAAK5qF,OAASA,GAAQ4qF,EAAKprF,MAAQA,IAEnCm1G,EAAYrlH,GAGPs7F,EAAKgqB,SAAWhqB,EAAKiqB,SAEtB,MAKZ,OAAOF,GAeXG,SAAU,SAAU90G,EAAMR,GAEtB,IAAIu1G,EAAYnoH,KAAK8nH,cAAc10G,EAAMR,GAEzC,OAAIu1G,GAAa,IAEJ3/G,MAAO2/G,EAAWnqB,KAAMh+F,KAAKgnH,UAAUmB,KAmBxDviF,MAAO,SAAUwe,EAAMs0D,QAECpyG,IAAhBoyG,IAA6BA,GAAc,GAE3C14G,KAAKiiD,cAKLmC,IAEApkD,KAAKmmH,cAAgB,MAGzBnmH,KAAKkmH,WAAY,EAEjBlmH,KAAKknH,gBAAkB,EACvBlnH,KAAKgnH,UAAUrkH,OAAS,EACxB3C,KAAKinH,aAAatkH,OAAS,EAE3B3C,KAAKmnH,kBAAmB,EACxBnnH,KAAKqnH,gBAAkB,EACvBrnH,KAAKonH,gBAAkB,EACvBpnH,KAAKsnH,iBAAmB,EACxBtnH,KAAKunH,iBAAmB,EAEpB7O,IAEA14G,KAAKumH,YAAY98E,YACjBzpC,KAAKwmH,eAAe/8E,YACpBzpC,KAAKymH,eAAeh9E,YACpBzpC,KAAK0mH,YAAYj9E,YACjBzpC,KAAK2mH,eAAel9E,YACpBzpC,KAAK4mH,YAAYn9E,eAkBzB2+E,cAAe,SAAUh1G,EAAMR,EAAKyhE,EAAKof,EAAY40B,EAAW/I,GAI5D,QAFkBh5G,IAAd+hH,IAA2BA,GAAY,QAE/B/hH,IAARsM,GAA6B,KAARA,EAGrB,OADAtS,QAAQ0Z,KAAK,kDAAoD5G,GAC1DpT,KAGX,QAAYsG,IAAR+tE,GAA6B,OAARA,EACzB,CACI,IAAIirC,EAOA,OADAh/G,QAAQ0Z,KAAK,8CAAgD5G,EAAO,SAAWR,GACxE5S,KALPq0E,EAAMzhE,EAAM0sG,EASpB,IAAIthB,GACA5qF,KAAMA,EACNR,IAAKA,EACLg6E,KAAM5sF,KAAK4sF,KACXvY,IAAKA,EACLi0C,UAAWtoH,KAAK+mH,oBAAsB,EACtC/yG,KAAM,KACNi0G,SAAS,EACTD,QAAQ,EACRznH,OAAO,GAGX,GAAIkzF,EAEA,IAAK,IAAIrqC,KAAQqqC,EAEbuK,EAAK50C,GAAQqqC,EAAWrqC,GAIhC,IAAI++D,EAAYnoH,KAAK8nH,cAAc10G,EAAMR,GAEzC,GAAIy1G,GAAaF,GAAa,EAC9B,CACI,IAAII,EAAcvoH,KAAKgnH,UAAUmB,GAE5BI,EAAYN,SAAYM,EAAYP,QAMrChoH,KAAKgnH,UAAUt/G,KAAKs2F,GACpBh+F,KAAKqnH,mBALLrnH,KAAKgnH,UAAUmB,GAAanqB,OAQZ,IAAfmqB,IAELnoH,KAAKgnH,UAAUt/G,KAAKs2F,GACpBh+F,KAAKqnH,mBAGT,OAAOrnH,MAcXwoH,kBAAmB,SAAUp1G,EAAMR,EAAKyhE,EAAKof,GAEzC,OAAOzzF,KAAKooH,cAAch1G,EAAMR,EAAKyhE,EAAKof,GAAY,IA0B1Dg1B,KAAM,SAAU71G,EAAKyhE,EAAKrgE,EAAM60B,GAM5B,QAJYviC,IAAR+tE,IAAqBA,EAAM,WAClB/tE,IAAT0N,IAAsBA,EAAO,WACT1N,IAApBuiC,IAAiCA,EAAkB,OAElDwrC,IAAQrgE,EAIT,OAFA1T,QAAQ0Z,KAAK,qEAENha,KAGX,IAAIyoH,GACAr1G,KAAM,WACNR,IAAKA,EACLyhE,IAAKA,EACLuY,KAAM5sF,KAAK4sF,KACX07B,WAAW,EACXt0G,KAAM,KACNi0G,SAAS,EACTD,QAAQ,EACRznH,OAAO,EACPsoC,gBAAiBA,GAIjB70B,IAEoB,iBAATA,IAEPA,EAAOyqG,KAAKngF,MAAMtqB,IAGtBy0G,EAAKz0G,KAAOA,MAGZy0G,EAAKT,QAAS,GAKlB,IAAK,IAAItlH,EAAI,EAAGA,EAAI1C,KAAKgnH,UAAUrkH,OAAS,EAAGD,IAC/C,CACI,IAAIs7F,EAAOh+F,KAAKgnH,UAAUtkH,GAE1B,IAAKs7F,IAAUA,EAAKgqB,SAAWhqB,EAAKiqB,SAAyB,aAAdjqB,EAAK5qF,KACpD,CACIpT,KAAKgnH,UAAUt+G,OAAOhG,EAAG,EAAG+lH,GAC5BzoH,KAAKonH,kBACL,OAIR,OAAOpnH,MAqDX6Z,MAAO,SAAUjH,EAAKyhE,EAAKg0C,GAEvB,MAAmB,iBAARh0C,EAEAr0E,KAAKjC,QAAQ6U,EAAKyhE,EAAKg0C,GAIvBroH,KAAKooH,cAAc,QAASx1G,EAAKyhE,OAAK/tE,EAAW+hH,EAAW,SAc3EK,oBAAqB,SAAU91G,EAAK0hE,EAAY+zC,GAE5C,OAAOroH,KAAK6Z,MAAMjH,EAAK0hE,EAAWz9D,OAAO6iE,UAAU,aAAc2uC,IAUrEM,cAAe,SAAU/1G,EAAKhV,EAAOC,EAAQ02C,EAAWC,EAAYv+B,GAEhE,OAAOjW,KAAK0oH,oBAAoB91G,EAAK5S,KAAK8C,KAAKsF,OAAOkvD,KAAK1kD,EAAKhV,EAAOC,EAAQ02C,EAAWC,EAAYv+B,GAAO,KAUjH2yG,iBAAkB,SAAUh2G,EAAKoB,EAAM60G,EAAYC,EAAaC,GAE5D,OAAO/oH,KAAK0oH,oBAAoB91G,EAAK5S,KAAK8C,KAAKsF,OAAOrK,QAAQ6U,EAAKoB,EAAM60G,EAAYC,EAAaC,GAAS,KAgD/GhrH,QAAS,SAAU6U,EAAKgmC,EAAQyvE,GAE5B,GAAIroH,KAAK8C,KAAKknC,aAAexoC,EAAO+U,MACpC,CACI,IACIyyG,EADAlwG,EAAc9Y,KAAK8C,KAAK8B,SAAS0R,WAAWwC,YAGhD,IAAKkwG,KAASpwE,EAEV,GAAIowE,EAAM/vB,gBAAiBngF,EAEvB,OAAO9Y,KAAKooH,cAAc,UAAWx1G,EAAKgmC,EAAOowE,QAAQ1iH,EAAW+hH,EAAW,QAa3F,OALIzvE,EAAkB,WAElB54C,KAAKooH,cAAc,QAASx1G,EAAKgmC,EAAkB,eAAGtyC,EAAW+hH,EAAW,QAGzEroH,MA4BXipH,OAAQ,SAAU50F,EAAM60F,GAEpB,GAAI7hH,MAAMC,QAAQ4hH,GAEd,IAASxmH,EAAI,EAAGA,EAAI2xB,EAAK1xB,OAAQD,IAE7B1C,KAAK6Z,MAAMwa,EAAK3xB,GAAIwmH,EAAKxmH,SAK7B,IAAK,IAAIA,EAAI,EAAGA,EAAI2xB,EAAK1xB,OAAQD,IAE7B1C,KAAK6Z,MAAMwa,EAAK3xB,IAIxB,OAAO1C,MAyBXuyE,KAAM,SAAU3/D,EAAKyhE,EAAKg0C,GAEtB,OAAOroH,KAAKooH,cAAc,OAAQx1G,EAAKyhE,OAAK/tE,EAAW+hH,EAAW,SA0BtExL,KAAM,SAAUjqG,EAAKyhE,EAAKg0C,GAEtB,OAAOroH,KAAKooH,cAAc,OAAQx1G,EAAKyhE,OAAK/tE,EAAW+hH,EAAW,UAyBtEz7G,OAAQ,SAAUgG,EAAKyhE,EAAKg0C,GAExB,OAAOroH,KAAKooH,cAAc,SAAUx1G,EAAKyhE,OAAK/tE,EAAW+hH,EAAW,UAyBxE9K,IAAK,SAAU3qG,EAAKyhE,EAAKg0C,GAErB,OAAOroH,KAAKooH,cAAc,MAAOx1G,EAAKyhE,OAAK/tE,EAAW+hH,EAAW,SA6BrEc,OAAQ,SAAUv2G,EAAKyhE,EAAKlgC,EAAUtL,GAMlC,YAJiBviC,IAAb6tC,IAA0BA,GAAW,IAExB,IAAbA,QAA0C7tC,IAApBuiC,IAAiCA,EAAkB7oC,MAEtEA,KAAKooH,cAAc,SAAUx1G,EAAKyhE,GAAOi0C,WAAW,EAAMn0E,SAAUA,EAAUtL,gBAAiBA,IAAmB,EAAO,QA+BpI+0E,OAAQ,SAAUhrG,EAAKyhE,EAAKlgC,EAAUtL,GAOlC,YALiBviC,IAAb6tC,IAA0BA,GAAW,IAGxB,IAAbA,QAA0C7tC,IAApBuiC,IAAiCA,EAAkBsL,GAEtEn0C,KAAKooH,cAAc,SAAUx1G,EAAKyhE,GAAOlgC,SAAUA,EAAUtL,gBAAiBA,IAAmB,EAAO,SAqCnHugF,YAAa,SAAUx2G,EAAKyhE,EAAK4nB,EAAYC,EAAasgB,EAAUC,EAAQC,EAASC,GAOjF,YALiBr2G,IAAbk2G,IAA0BA,GAAY,QAC3Bl2G,IAAXm2G,IAAwBA,EAAS,QACrBn2G,IAAZo2G,IAAyBA,EAAU,QACpBp2G,IAAfq2G,IAA4BA,EAAa,GAEtC38G,KAAKooH,cAAc,cAAex1G,EAAKyhE,GAAO4nB,WAAYA,EAAYC,YAAaA,EAAasgB,SAAUA,EAAUC,OAAQA,EAAQC,QAASA,EAASC,WAAYA,IAAc,EAAO,SA6BlM1qC,MAAO,SAAUr/D,EAAKs2G,EAAMG,GAExB,OAAIrpH,KAAK8C,KAAKojC,MAAMojF,QAETtpH,WAGQsG,IAAf+iH,IAA4BA,GAAa,GAEzB,iBAATH,IAEPA,GAAQA,IAGLlpH,KAAKooH,cAAc,QAASx1G,EAAKs2G,GAAQruG,OAAQ,KAAMwuG,WAAYA,MA4B9En3C,YAAa,SAAUt/D,EAAKs2G,EAAMK,EAASC,EAAUH,GAEjD,OAAIrpH,KAAK8C,KAAKojC,MAAMojF,QAETtpH,WAGKsG,IAAZijH,IAAyBA,EAAU,WACtBjjH,IAAbkjH,IAA0BA,EAAW,WACtBljH,IAAf+iH,IAA4BA,GAAa,GAE7CrpH,KAAKiyE,MAAMr/D,EAAKs2G,EAAMG,GAElBE,EAEAvpH,KAAK68G,KAAKjqG,EAAM,cAAe22G,GAE1BC,GAEmB,iBAAbA,IAEPA,EAAW/K,KAAKngF,MAAMkrF,IAG1BxpH,KAAK2Z,MAAMgoG,QAAQ/uG,EAAM,cAAe,GAAI42G,IAI5ClpH,QAAQ0Z,KAAK,8FAGVha,OAgBXypH,YAAa,SAAU72G,EAAKs2G,EAAMK,EAASC,EAAUH,GAEjD,OAAOrpH,KAAKkyE,YAAYt/D,EAAKs2G,EAAMK,EAASC,EAAUH,IAiC1Dj1C,MAAO,SAAUxhE,EAAKs2G,EAAMQ,EAAWC,GAqBnC,YAnBkBrjH,IAAdojH,IAIIA,EAFA1pH,KAAK8C,KAAK+mB,OAAO+0E,QAEL,aAIA,uBAILt4F,IAAXqjH,IAAwBA,GAAS,GAEjB,iBAATT,IAEPA,GAAQA,IAGLlpH,KAAKooH,cAAc,QAASx1G,EAAKs2G,GAAQruG,OAAQ,KAAM8uG,OAAQA,EAAQD,UAAWA,KAqC7F51C,QAAS,SAAUlhE,EAAKyhE,EAAKrgE,EAAMK,GAmB/B,QAjBY/N,IAAR+tE,IAAqBA,EAAM,WAClB/tE,IAAT0N,IAAsBA,EAAO,WAClB1N,IAAX+N,IAAwBA,EAAS7S,EAAOyuE,QAAQ25C,KAE/Cv1C,GAAQrgE,IAILqgE,EAFAhgE,IAAW7S,EAAOyuE,QAAQ25C,IAEpBh3G,EAAM,OAINA,EAAM,SAKhBoB,EACJ,CACI,OAAQK,GAGJ,KAAK7S,EAAOyuE,QAAQ25C,IAChB,MAGJ,KAAKpoH,EAAOyuE,QAAQ45C,WAEI,iBAAT71G,IAEPA,EAAOyqG,KAAKngF,MAAMtqB,IAK9BhU,KAAK2Z,MAAM8mG,WAAW7tG,EAAK,KAAMoB,EAAMK,QAIvCrU,KAAKooH,cAAc,UAAWx1G,EAAKyhE,GAAOhgE,OAAQA,IAGtD,OAAOrU,MAmCXsmC,QAAS,SAAU1zB,EAAKyhE,EAAKrgE,EAAMK,GA0B/B,YAxBY/N,IAAR+tE,IAAqBA,EAAM,WAClB/tE,IAAT0N,IAAsBA,EAAO,WAClB1N,IAAX+N,IAAwBA,EAAS7S,EAAOqwC,QAAQi4E,kBAE/Cz1C,GAAQrgE,IAETqgE,EAAMzhE,EAAM,SAIZoB,GAEoB,iBAATA,IAEPA,EAAOyqG,KAAKngF,MAAMtqB,IAGtBhU,KAAK2Z,MAAM6mG,eAAe5tG,EAAK,KAAMoB,EAAMK,IAI3CrU,KAAKooH,cAAc,UAAWx1G,EAAKyhE,GAAOhgE,OAAQA,IAG/CrU,MA0CX69G,WAAY,SAAUjrG,EAAKm3G,EAAYC,EAAUlJ,EAAWttC,EAAUC,GAmBlE,QAjBmBntE,IAAfyjH,GAA2C,OAAfA,IAE5BA,EAAan3G,EAAM,aAGNtM,IAAb0jH,IAA0BA,EAAW,WACvB1jH,IAAdw6G,IAA2BA,EAAY,MAE1B,OAAbkJ,GAAmC,OAAdlJ,IAErBkJ,EAAWp3G,EAAM,aAGJtM,IAAbktE,IAA0BA,EAAW,QACxBltE,IAAbmtE,IAA0BA,EAAW,GAGrCu2C,EAEAhqH,KAAKooH,cAAc,aAAcx1G,EAAKm3G,GAAcC,SAAUA,EAAUx2C,SAAUA,EAAUC,SAAUA,SAKtG,GAAyB,iBAAdqtC,EACX,CACI,IAAIjE,EAAMU,EAEV,IAEIV,EAAO4B,KAAKngF,MAAMwiF,GAEtB,MAAQxyG,GAEJivG,EAAMv9G,KAAKiqH,SAASnJ,GAGxB,IAAKvD,IAAQV,EAET,MAAM,IAAIl0G,MAAM,kDAGpB3I,KAAKooH,cAAc,aAAcx1G,EAAKm3G,GAAcC,SAAU,KAAMlJ,UAAWjE,GAAQU,EACnFwD,UAAclE,EAAO,OAAS,MAAQrpC,SAAUA,EAAUC,SAAUA,IAIhF,OAAOzzE,MA4CXkqH,eAAgB,SAAUt3G,EAAKm3G,EAAYC,EAAUlJ,GAEjD,OAAO9gH,KAAKmqH,MAAMv3G,EAAKm3G,EAAYC,EAAUlJ,EAAWt/G,EAAOm7C,OAAO6qE,2BA4C1E4C,cAAe,SAAUx3G,EAAKm3G,EAAYC,EAAUlJ,GAEhD,OAAO9gH,KAAKmqH,MAAMv3G,EAAKm3G,EAAYC,EAAUlJ,EAAWt/G,EAAOm7C,OAAO8qE,0BA4C1E4C,SAAU,SAAUz3G,EAAKm3G,EAAYC,EAAUlJ,GAU3C,YARiBx6G,IAAb0jH,IAA0BA,EAAW,WACvB1jH,IAAdw6G,IAA2BA,EAAY,MAEtCkJ,GAAalJ,IAEdkJ,EAAWp3G,EAAM,QAGd5S,KAAKmqH,MAAMv3G,EAAKm3G,EAAYC,EAAUlJ,EAAWt/G,EAAOm7C,OAAOulE,6BA2C1EiI,MAAO,SAAUv3G,EAAKm3G,EAAYC,EAAUlJ,EAAWzsG,GAwBnD,QAtBmB/N,IAAfyjH,GAA2C,OAAfA,IAE5BA,EAAan3G,EAAM,aAGNtM,IAAb0jH,IAA0BA,EAAW,WACvB1jH,IAAdw6G,IAA2BA,EAAY,WAC5Bx6G,IAAX+N,IAAwBA,EAAS7S,EAAOm7C,OAAO6qE,0BAE9CwC,GAAalJ,IAIVkJ,EAFA31G,IAAW7S,EAAOm7C,OAAOulE,2BAEdtvG,EAAM,OAINA,EAAM,SAKrBo3G,EAEAhqH,KAAKooH,cAAc,eAAgBx1G,EAAKm3G,GAAcC,SAAUA,EAAU31G,OAAQA,QAGtF,CACI,OAAQA,GAGJ,KAAK7S,EAAOm7C,OAAO6qE,yBAEU,iBAAd1G,IAEPA,EAAYrC,KAAKngF,MAAMwiF,IAE3B,MAGJ,KAAKt/G,EAAOm7C,OAAOulE,2BAEf,GAAyB,iBAAdpB,EACX,CACI,IAAIvD,EAAMv9G,KAAKiqH,SAASnJ,GAExB,IAAKvD,EAED,MAAM,IAAI50G,MAAM,kDAGpBm4G,EAAYvD,GAKxBv9G,KAAKooH,cAAc,eAAgBx1G,EAAKm3G,GAAcC,SAAU,KAAMlJ,UAAWA,EAAWzsG,OAAQA,IAIxG,OAAOrU,MAiBXsqH,cAAe,SAAUn2E,EAAUtL,GAE/B7oC,KAAK+mH,sBAEL,IACI5yE,EAAS5vC,KAAKskC,GAAmB7oC,KAAMA,MACzC,QACEA,KAAK+mH,sBAGT,OAAO/mH,MAcXuqH,aAAc,SAAUn3G,EAAMR,GAE1B,IAAI43G,EAAQxqH,KAAKkoH,SAAS90G,EAAMR,GAOhC,OALI43G,IAEAA,EAAMxsB,KAAKsqB,WAAY,GAGpBtoH,MAaXyqH,WAAY,SAAUr3G,EAAMR,GAExB,IAAI43G,EAAQxqH,KAAKkoH,SAAS90G,EAAMR,GAE5B43G,IAEKA,EAAMxC,QAAWwC,EAAMvC,SAExBjoH,KAAKgnH,UAAUt+G,OAAO8hH,EAAMhiH,MAAO,KAY/CihC,UAAW,WAEPzpC,KAAKgnH,UAAUrkH,OAAS,EACxB3C,KAAKinH,aAAatkH,OAAS,GAS/BqJ,MAAO,WAEChM,KAAKkmH,YAKTlmH,KAAK8M,WAAY,EACjB9M,KAAKkmH,WAAY,EAEjBlmH,KAAK0qH,iBAEL1qH,KAAK2qH,qBAiBTA,iBAAkB,WAEd,IAAK3qH,KAAKkmH,UAIN,OAFA5lH,QAAQ0Z,KAAK,wDACbha,KAAK4qH,iBAAgB,GAKzB,IAASloH,EAAI,EAAGA,EAAI1C,KAAKinH,aAAatkH,OAAQD,MAEtCs7F,EAAOh+F,KAAKinH,aAAavkH,IAEpBslH,QAAUhqB,EAAKz9F,SAEpBP,KAAKinH,aAAav+G,OAAOhG,EAAG,GAC5BA,IAEAs7F,EAAKiqB,SAAU,EACfjqB,EAAK6sB,WAAa,KAClB7sB,EAAK8sB,cAAgB,KAEjB9sB,EAAKz9F,OAELP,KAAK4mH,YAAY3hF,SAAS+4D,EAAKprF,IAAKorF,GAGtB,aAAdA,EAAK5qF,MAELpT,KAAKunH,mBACLvnH,KAAK2mH,eAAe1hF,SAASjlC,KAAK+qH,SAAU/sB,EAAKprF,KAAMorF,EAAKz9F,MAAOP,KAAKunH,iBAAkBvnH,KAAKqnH,kBAE5E,aAAdrpB,EAAK5qF,MAAuB4qF,EAAKz9F,QAGtCP,KAAKsnH,mBACLtnH,KAAKymH,eAAexhF,SAAS+4D,EAAKprF,KAAMorF,EAAKz9F,MAAOP,KAAKsnH,iBAAkBtnH,KAAKonH,mBAW5F,IAAK,IAJD4D,GAAY,EAEZC,EAAgBjrH,KAAK6mH,eAAiBpjH,KAAKuC,IAAI,EAAGhG,KAAK8mH,sBAAwB,EAE1EpkH,EAAI1C,KAAKknH,gBAAiBxkH,EAAI1C,KAAKgnH,UAAUrkH,OAAQD,IAC9D,CACI,IAAIs7F,EAAOh+F,KAAKgnH,UAAUtkH,GAuD1B,GApDkB,aAAds7F,EAAK5qF,OAAwB4qF,EAAKz9F,OAASy9F,EAAKgqB,QAAUtlH,IAAM1C,KAAKknH,kBAGrElnH,KAAKkrH,YAAYltB,GAEjBh+F,KAAKsnH,mBACLtnH,KAAKymH,eAAexhF,SAAS+4D,EAAKprF,KAAMorF,EAAKz9F,MAAOP,KAAKsnH,iBAAkBtnH,KAAKonH,kBAGhFppB,EAAKgqB,QAAUhqB,EAAKz9F,MAGhBmC,IAAM1C,KAAKknH,kBAEXlnH,KAAKknH,gBAAkBxkH,EAAI,IAGzBs7F,EAAKiqB,SAAWjoH,KAAKinH,aAAatkH,OAASsoH,IAG/B,aAAdjtB,EAAK5qF,MAAwB4qF,EAAKhqF,KAS5Bg3G,IAEDhrH,KAAKmnH,mBAENnnH,KAAKmnH,kBAAmB,EACxBnnH,KAAKumH,YAAYthF,YAGrBjlC,KAAKinH,aAAav/G,KAAKs2F,GACvBA,EAAKiqB,SAAU,EACfjoH,KAAK0mH,YAAYzhF,SAASjlC,KAAK+qH,SAAU/sB,EAAKprF,IAAKorF,EAAK3pB,KAExDr0E,KAAKmrH,SAASntB,KAjBdh+F,KAAKinH,aAAav/G,KAAKs2F,GACvBA,EAAKiqB,SAAU,EAEfjoH,KAAKmrH,SAASntB,MAkBjBA,EAAKgqB,QAAUhqB,EAAKsqB,YAErB0C,GAAY,GAKZhrH,KAAKinH,aAAatkH,QAAUsoH,GAC3BD,GAAahrH,KAAKsnH,mBAAqBtnH,KAAKonH,gBAE7C,MAQR,GAJApnH,KAAK0qH,iBAID1qH,KAAKknH,iBAAmBlnH,KAAKgnH,UAAUrkH,OAEvC3C,KAAK4qH,uBAEJ,IAAK5qH,KAAKinH,aAAatkH,OAC5B,CAGIrC,QAAQ0Z,KAAK,8EAEb,IAAIgyB,EAAQhsC,KAEZuhG,WAAW,WACPv1D,EAAM4+E,iBAAgB,IACvB,OAYXA,gBAAiB,SAAUQ,GAEnBprH,KAAK8M,YAKT9M,KAAK8M,WAAY,EACjB9M,KAAKkmH,WAAY,EAGZkF,GAAaprH,KAAKmnH,mBAEnBnnH,KAAKmnH,kBAAmB,EACxBnnH,KAAKumH,YAAYthF,YAGrBjlC,KAAK4lC,QAEL5lC,KAAKwmH,eAAevhF,WAGhBjlC,KAAK8C,KAAKqjC,OAEVnmC,KAAK8C,KAAKqjC,MAAMqD,iBAcxB6hF,cAAe,SAAUrtB,EAAMstB,QAENhlH,IAAjBglH,IAA8BA,EAAe,IAEjDttB,EAAKgqB,QAAS,EACdhqB,EAAKz9F,QAAU+qH,EAEXA,IAEAttB,EAAKstB,aAAeA,EAEpBhrH,QAAQ0Z,KAAK,mBAAqBgkF,EAAK5qF,KAAO,IAAM4qF,EAAKprF,IAAM,MAAa04G,IAGhFtrH,KAAK2qH,oBAWTO,YAAa,SAAUzC,GAEnB,IAAI8C,EAAW9C,EAAKz0G,KAAKy0G,EAAK71G,KAE9B,GAAK24G,EAML,IAAK,IAAI7oH,EAAI,EAAGA,EAAI6oH,EAAS5oH,OAAQD,IACrC,CACI,IAAIs7F,EAAOutB,EAAS7oH,GAEpB,OAAQs7F,EAAK5qF,MAET,IAAK,QACDpT,KAAK6Z,MAAMmkF,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKqqB,WACpC,MAEJ,IAAK,OACDroH,KAAKuyE,KAAKyrB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKqqB,WACnC,MAEJ,IAAK,OACDroH,KAAK68G,KAAK7e,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKqqB,WACnC,MAEJ,IAAK,MACDroH,KAAKu9G,IAAIvf,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKqqB,WAClC,MAEJ,IAAK,SACDroH,KAAKmpH,OAAOnrB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAK7pD,SAAUs0E,EAAK5/E,iBAAmB7oC,MACvE,MAEJ,IAAK,SACDA,KAAK49G,OAAO5f,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAK7pD,SAAUs0E,EAAK5/E,iBAAmB7oC,MACvE,MAEJ,IAAK,cACDA,KAAKopH,YAAYprB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAK/B,WAAY+B,EAAK9B,YAAa8B,EAAKwe,SAAUxe,EAAKye,OAAQze,EAAK0e,QAAS1e,EAAK2e,YACvH,MAEJ,IAAK,QACD38G,KAAKo0E,MAAM4pB,EAAKprF,IAAKorF,EAAKkrB,MAC1B,MAEJ,IAAK,QACDlpH,KAAKiyE,MAAM+rB,EAAKprF,IAAKorF,EAAKkrB,KAAMlrB,EAAKqrB,YACrC,MAEJ,IAAK,cACDrpH,KAAKypH,YAAYzrB,EAAKprF,IAAKorF,EAAKkrB,KAAMlrB,EAAKurB,QAASvrB,EAAKwrB,SAAUxrB,EAAKqrB,YACxE,MAEJ,IAAK,UACDrpH,KAAK8zE,QAAQkqB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMxS,EAAOyuE,QAAQ+tB,EAAK3pF,SAChE,MAEJ,IAAK,UACDrU,KAAKsmC,QAAQ03D,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMxS,EAAOm7C,OAAOqhD,EAAK3pF,SAC/D,MAEJ,IAAK,aACDrU,KAAK69G,WAAW7f,EAAKprF,IAAKorF,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAK8iB,UAAW9iB,EAAKxqB,SAAUwqB,EAAKvqB,UAC9F,MAEJ,IAAK,iBACDzzE,KAAKkqH,eAAelsB,EAAKprF,IAAKorF,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAK8iB,WACnE,MAEJ,IAAK,gBACD9gH,KAAKoqH,cAAcpsB,EAAKprF,IAAKorF,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAK8iB,WAClE,MAEJ,IAAK,WACD9gH,KAAKqqH,SAASrsB,EAAKprF,IAAKorF,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAK8iB,WAC7D,MAEJ,IAAK,QACD9gH,KAAKmqH,MAAMnsB,EAAKprF,IAAKorF,EAAK+rB,WAAY/rB,EAAKgsB,SAAUhsB,EAAK8iB,UAAWt/G,EAAOm7C,OAAOqhD,EAAK3pF,SACxF,MAEJ,IAAK,SACDrU,KAAK4M,OAAOoxF,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKqqB,iBA/E7C/nH,QAAQ0Z,KAAK,mBAAqByuG,EAAK71G,IAAM,0CAiGrD44G,aAAc,SAAUn3C,EAAK2pB,GAEzB,QAAK3pB,IAKDA,EAAIrL,MAAM,8CAEHqL,EAIAr0E,KAAK6lH,QAAU7nB,EAAKpR,KAAOvY,IAc1C82C,SAAU,SAAUntB,GAGhB,OAAQA,EAAK5qF,MAET,IAAK,WACDpT,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,OAAQh+F,KAAK0rH,cACnE,MAEJ,IAAK,QACL,IAAK,cACL,IAAK,eACL,IAAK,aACD1rH,KAAK2rH,aAAa3tB,GAClB,MAEJ,IAAK,QACDA,EAAK3pB,IAAMr0E,KAAK4rH,YAAY5tB,EAAK3pB,KAE7B2pB,EAAK3pB,IAGDr0E,KAAK8C,KAAKojC,MAAM2lF,cAEhB7rH,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,cAAeh+F,KAAK0rH,cAErE1rH,KAAK8C,KAAKojC,MAAM4lF,eAErB9rH,KAAK+rH,aAAa/tB,GAKtBh+F,KAAKgsH,UAAUhuB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,QACDA,EAAK3pB,IAAMr0E,KAAKisH,YAAYjuB,EAAK3pB,KAE7B2pB,EAAK3pB,IAED2pB,EAAK2rB,OAEL3pH,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,OAAQh+F,KAAK0rH,cAInE1rH,KAAKksH,aAAaluB,GAKtBh+F,KAAKgsH,UAAUhuB,EAAM,KAAM,mFAE/B,MAEJ,IAAK,OAEDh+F,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,OAAQh+F,KAAKmsH,kBACnE,MAEJ,IAAK,MAEDnsH,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,OAAQh+F,KAAKosH,iBACnE,MAEJ,IAAK,UAEGpuB,EAAK3pF,SAAW7S,EAAOyuE,QAAQ45C,WAE/B7pH,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,OAAQh+F,KAAKmsH,kBAE9DnuB,EAAK3pF,SAAW7S,EAAOyuE,QAAQ25C,IAEpC5pH,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,OAAQh+F,KAAKqsH,iBAInErsH,KAAKqrH,cAAcrtB,EAAM,2BAA6BA,EAAK3pF,QAE/D,MAEJ,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,UACDrU,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,OAAQh+F,KAAK0rH,cACnE,MAEJ,IAAK,UAEiC,cAA9B1tB,EAAKprF,IAAI8e,MAAM,KAAKlR,MAEpBxgB,KAAK2rH,aAAa3tB,GAIlBh+F,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,cAAeh+F,KAAK0rH,cAE9E,MAEJ,IAAK,SACD1rH,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAAO,cAAeh+F,KAAK0rH,gBAUtFC,aAAc,SAAU3tB,GACpB,IAAIhyD,EAAQhsC,KAEZg+F,EAAKhqF,KAAO,IAAI29D,MAChBqsB,EAAKhqF,KAAK6d,KAAOmsE,EAAKprF,IAElB5S,KAAKomH,cAELpoB,EAAKhqF,KAAKoyG,YAAcpmH,KAAKomH,aAGjCpoB,EAAKhqF,KAAKwlE,OAAS,WACXwkB,EAAKhqF,KAAKwlE,SAEVwkB,EAAKhqF,KAAKwlE,OAAS,KACnBwkB,EAAKhqF,KAAKs4G,QAAU,KACpBtgF,EAAM0/E,aAAa1tB,KAI3BA,EAAKhqF,KAAKs4G,QAAU,WACZtuB,EAAKhqF,KAAKwlE,SAEVwkB,EAAKhqF,KAAKwlE,OAAS,KACnBwkB,EAAKhqF,KAAKs4G,QAAU,KACpBtgF,EAAMggF,UAAUhuB,KAIxBA,EAAKhqF,KAAKvE,IAAMzP,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,IAKvCh+F,KAAK8C,KAAK+mB,OAAO+0E,SAAWZ,EAAKhqF,KAAKgW,UAAYg0E,EAAKhqF,KAAKpW,OAASogG,EAAKhqF,KAAKnW,SAEhFmgG,EAAKhqF,KAAKwlE,OAAS,KACnBwkB,EAAKhqF,KAAKs4G,QAAU,KACpBtsH,KAAK0rH,aAAa1tB,KAS1BkuB,aAAc,SAAUluB,GAEpB,IAAIhyD,EAAQhsC,KAEZg+F,EAAKhqF,KAAO27B,SAAS0kD,cAAc,SACnC2J,EAAKhqF,KAAK6d,KAAOmsE,EAAKprF,IACtBorF,EAAKhqF,KAAKu4G,UAAW,EACrBvuB,EAAKhqF,KAAKw4G,UAAW,EAErB,IAAIC,EAAiB,WAEjBzuB,EAAKhqF,KAAKo9B,oBAAoB4sD,EAAK0rB,UAAW+C,GAAgB,GAC9DzuB,EAAKhqF,KAAKs4G,QAAU,KACpBtuB,EAAKhqF,KAAK04G,SAAU,EACpBlrH,EAAOoqB,MAAMogB,EAAMlpC,KAAKgR,IAAImyB,KAAKylF,aAAa1tB,IAIlDA,EAAKhqF,KAAKs4G,QAAU,WAChBtuB,EAAKhqF,KAAKo9B,oBAAoB4sD,EAAK0rB,UAAW+C,GAAgB,GAC9DzuB,EAAKhqF,KAAKs4G,QAAU,KACpBtuB,EAAKhqF,KAAK04G,SAAU,EACpB1gF,EAAMggF,UAAUhuB,IAGpBA,EAAKhqF,KAAKo8B,iBAAiB4tD,EAAK0rB,UAAW+C,GAAgB,GAE3DzuB,EAAKhqF,KAAKvE,IAAMzP,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAC5CA,EAAKhqF,KAAKiyB,QAQd8lF,aAAc,SAAU/tB,GAEpB,IAAIhyD,EAAQhsC,KAEZ,GAAIA,KAAK8C,KAAKojC,MAAMo6E,YAGhBtiB,EAAKhqF,KAAO,IAAI24G,MAChB3uB,EAAKhqF,KAAK6d,KAAOmsE,EAAKprF,IACtBorF,EAAKhqF,KAAKuyB,QAAU,OACpBy3D,EAAKhqF,KAAKvE,IAAMzP,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAE5Ch+F,KAAK0rH,aAAa1tB,OAGtB,CACIA,EAAKhqF,KAAO,IAAI24G,MAChB3uB,EAAKhqF,KAAK6d,KAAOmsE,EAAKprF,IAEtB,IAAIg6G,EAAmB,WACnB5uB,EAAKhqF,KAAKo9B,oBAAoB,iBAAkBw7E,GAAkB,GAClE5uB,EAAKhqF,KAAKs4G,QAAU,KACpBtgF,EAAM0/E,aAAa1tB,IAGvBA,EAAKhqF,KAAKs4G,QAAU,WAChBtuB,EAAKhqF,KAAKo9B,oBAAoB,iBAAkBw7E,GAAkB,GAClE5uB,EAAKhqF,KAAKs4G,QAAU,KACpBtgF,EAAMggF,UAAUhuB,IAGpBA,EAAKhqF,KAAKuyB,QAAU,OACpBy3D,EAAKhqF,KAAKvE,IAAMzP,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,GAC5CA,EAAKhqF,KAAKo8B,iBAAiB,iBAAkBw8E,GAAkB,GAC/D5uB,EAAKhqF,KAAKiyB,SAkBlBwlF,QAAS,SAAUztB,EAAM3pB,EAAKjhE,EAAMomE,EAAQ8yC,GAExC,IAAIO,EAAM,IAAIC,eACdD,EAAIE,KAAK,MAAO14C,GAAK,GACrBw4C,EAAIG,aAAe55G,GAEmB,IAAlCpT,KAAKqmH,QAAuB,eAE5BwG,EAAII,iBAAiB,mBAAoBjtH,KAAKqmH,QAAuB,eAGrErmH,KAAKqmH,QAAQroB,EAAK5qF,OAElBy5G,EAAII,iBAAiB,SAAUjtH,KAAKqmH,QAAQroB,EAAK5qF,OAGrDk5G,EAAUA,GAAWtsH,KAAKgsH,UAE1B,IAAIhgF,EAAQhsC,KAEZ6sH,EAAIrzC,OAAS,WAET,IACI,OAAuB,IAAnBqzC,EAAIvrB,YAAoBurB,EAAItY,QAAU,KAAOsY,EAAItY,QAAU,IACpD+X,EAAQ/nH,KAAKynC,EAAOgyD,EAAM6uB,GAG1BrzC,EAAOj1E,KAAKynC,EAAOgyD,EAAM6uB,GAEtC,MAAOv+G,GAKA09B,EAAMl/B,UAMHkD,OAAgB,SAEhB1P,QAAQC,MAAM+N,GANlB09B,EAAMq/E,cAAcrtB,EAAM1vF,EAAE4+G,SAAW,eAYnDL,EAAIP,QAAU,WAEV,IAEI,OAAOA,EAAQ/nH,KAAKynC,EAAOgyD,EAAM6uB,GAEnC,MAAOv+G,GAEA09B,EAAMl/B,UAMHkD,OAAgB,SAEhB1P,QAAQC,MAAM+N,GANlB09B,EAAMq/E,cAAcrtB,EAAM1vF,EAAE4+G,SAAW,eAanDlvB,EAAK8sB,cAAgB+B,EACrB7uB,EAAK6sB,WAAax2C,EAElBw4C,EAAIM,QAcRlB,YAAa,SAAU/C,GAEnB,IAAK,IAAIxmH,EAAI,EAAGA,EAAIwmH,EAAKvmH,OAAQD,IACjC,CACI,IACI0qH,EADA/4C,EAAM60C,EAAKxmH,GAGf,GAAI2xE,EAAIg5C,KAKJ,GAHAD,EAAY/4C,EAAIjhE,KAChBihE,EAAMA,EAAIg5C,IAENrtH,KAAK8C,KAAK+mB,OAAO67E,aAAa0nB,GAE9B,OAAO/4C,MAIf,CAEI,GAA6B,IAAzBA,EAAIprE,QAAQ,UAA2C,IAAzBorE,EAAIprE,QAAQ,SAE1C,OAAOorE,EAYX,GATIA,EAAIprE,QAAQ,MAAQ,IAEpBorE,EAAMA,EAAI5rD,OAAO,EAAG4rD,EAAIprE,QAAQ,OAKpCmkH,EAFgB/4C,EAAI5rD,QAAQhlB,KAAKuC,IAAI,EAAGquE,EAAIi5C,YAAY,OAAS/iH,EAAAA,GAAY,GAEvDwjD,cAElB/tD,KAAK8C,KAAK+mB,OAAO67E,aAAa0nB,GAE9B,OAAOlE,EAAKxmH,IAKxB,OAAO,MAcXkpH,YAAa,SAAU1C,GAEnB,GAAIlpH,KAAK8C,KAAKojC,MAAMojF,QAEhB,OAAO,KAGX,IAAK,IAAI5mH,EAAI,EAAGA,EAAIwmH,EAAKvmH,OAAQD,IACjC,CACI,IACI6qH,EADAl5C,EAAM60C,EAAKxmH,GAGf,GAAI2xE,EAAIg5C,KAKJ,GAHAE,EAAYl5C,EAAIjhE,KAChBihE,EAAMA,EAAIg5C,IAENrtH,KAAK8C,KAAK+mB,OAAO47E,aAAa8nB,GAE9B,OAAOl5C,MAIf,CAEI,GAA6B,IAAzBA,EAAIprE,QAAQ,UAA2C,IAAzBorE,EAAIprE,QAAQ,SAE1C,OAAOorE,EAYX,GATIA,EAAIprE,QAAQ,MAAQ,IAEpBorE,EAAMA,EAAI5rD,OAAO,EAAG4rD,EAAIprE,QAAQ,OAKpCskH,EAFgBl5C,EAAI5rD,QAAQhlB,KAAKuC,IAAI,EAAGquE,EAAIi5C,YAAY,OAAS/iH,EAAAA,GAAY,GAEvDwjD,cAElB/tD,KAAK8C,KAAK+mB,OAAO47E,aAAa8nB,GAE9B,OAAOrE,EAAKxmH,IAKxB,OAAO,MAaXspH,UAAW,SAAUhuB,EAAM6uB,EAAKW,GAE5B,IACIN,EAAU,iCADJlvB,EAAK6sB,YAAc7qH,KAAKwrH,aAAaxtB,EAAK3pB,IAAK2pB,KAGpDwvB,GAAUX,IAEXW,EAASX,EAAItY,QAGbiZ,IAEAN,EAAUA,EAAU,KAAOM,EAAS,KAGxCxtH,KAAKqrH,cAAcrtB,EAAMkvB,IAY7BxB,aAAc,SAAU1tB,EAAM6uB,GAE1B,IAAIY,GAAW,EAEf,OAAQzvB,EAAK5qF,MAET,IAAK,WAGGY,EAAOyqG,KAAKngF,MAAMuuF,EAAIa,cAC1B1vB,EAAKhqF,KAAOA,MACZ,MAEJ,IAAK,UAED,IAAIsrG,EAAY,aAAalsB,KAAK4K,EAAK3pB,IAAI3iD,MAAM,IAAK,GAAG,IAAI,GAAGq8B,cAC9C,OAAdiwC,EAAKhqF,KAELhU,KAAK2Z,MAAM0lG,6BAA6BrhB,EAAKprF,IAAKorF,EAAK3pB,IAAKirC,EAAWthB,EAAKhqF,MAI5EhU,KAAK2Z,MAAM0lG,6BAA6BrhB,EAAKprF,IAAKorF,EAAK3pB,IAAKirC,EAAWuN,EAAIc,UAE/E,MAEJ,IAAK,QAED3tH,KAAK2Z,MAAM8/D,SAASukB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,MAC7C,MAEJ,IAAK,cAEDhU,KAAK2Z,MAAMqoG,eAAehkB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMgqF,EAAK/B,WAAY+B,EAAK9B,YAAa8B,EAAKwe,SAAUxe,EAAKye,OAAQze,EAAK0e,QAAS1e,EAAK2e,YAC3I,MAEJ,IAAK,eAED,GAAqB,MAAjB3e,EAAKgsB,SAELhqH,KAAK2Z,MAAMsoG,gBAAgBjkB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMgqF,EAAK8iB,UAAW9iB,EAAK3pF,aAO/E,GAFAo5G,GAAW,EAEPzvB,EAAK3pF,SAAW7S,EAAOm7C,OAAO6qE,0BAA4BxpB,EAAK3pF,SAAW7S,EAAOm7C,OAAO8qE,yBAA2BzpB,EAAK3pF,SAAW7S,EAAOm7C,OAAOwlE,yBAEjJniH,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAKgsB,SAAUhsB,GAAO,OAAQh+F,KAAKmsH,sBAEvE,CAAA,GAAInuB,EAAK3pF,SAAW7S,EAAOm7C,OAAOulE,2BAMnC,MAAM,IAAIv5G,MAAM,gDAAkDq1F,EAAK3pF,QAJvErU,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAKgsB,SAAUhsB,GAAO,OAAQh+F,KAAKosH,iBAOhF,MAEJ,IAAK,aAEIpuB,EAAKgsB,UAONyD,GAAW,EACXztH,KAAKyrH,QAAQztB,EAAMh+F,KAAKwrH,aAAaxtB,EAAKgsB,SAAUhsB,GAAO,OAAQ,SAAUA,EAAM6uB,GAC/E,IAAIhQ,EAEJ,IAGIA,EAAO4B,KAAKngF,MAAMuuF,EAAIa,cAE1B,MAAOp/G,IAEDuuG,GAEF7e,EAAK+iB,UAAY,OACjB/gH,KAAKmsH,iBAAiBnuB,EAAM6uB,KAI5B7uB,EAAK+iB,UAAY,MACjB/gH,KAAKosH,gBAAgBpuB,EAAM6uB,OAxBnC7sH,KAAK2Z,MAAMknG,cAAc7iB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMgqF,EAAK8iB,UAAW9iB,EAAK+iB,UAAW/iB,EAAKxqB,SAAUwqB,EAAKvqB,UA4BhH,MAEJ,IAAK,QAED,GAAIuqB,EAAK2rB,OAEL,IAEI3rB,EAAKhqF,KAAO64G,EAAIc,SAEpB,MAAOr/G,GAEH,MAAM,IAAI3F,MAAM,sDAAwDq1F,EAAKprF,KAIrF5S,KAAK2Z,MAAMkoG,SAAS7jB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMgqF,EAAK2rB,QACxD,MAEJ,IAAK,QAEG3pH,KAAK8C,KAAKojC,MAAM2lF,eAEhB7tB,EAAKhqF,KAAO64G,EAAIc,SAEhB3tH,KAAK2Z,MAAMumG,SAASliB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,MAAM,GAAM,GAErDgqF,EAAKqrB,YAELrpH,KAAK8C,KAAKojC,MAAM0nF,OAAO5vB,EAAKprF,MAKhC5S,KAAK2Z,MAAMumG,SAASliB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,MAAM,GAAO,GAE9D,MAEJ,IAAK,OACDgqF,EAAKhqF,KAAO64G,EAAIa,aAChB1tH,KAAK2Z,MAAM4mG,QAAQviB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,MAC5C,MAEJ,IAAK,SACDgqF,EAAKhqF,KAAO64G,EAAIa,aAChB1tH,KAAK2Z,MAAMooG,UAAU/jB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,MAC9C,MAEJ,IAAK,UACD,IAAIA,EAAOyqG,KAAKngF,MAAMuuF,EAAIa,cAC1B1tH,KAAK2Z,MAAM6mG,eAAexiB,EAAKprF,IAAKorF,EAAK3pB,IAAKrgE,EAAMgqF,EAAK3pF,QACzD,MAEJ,IAAK,SACD2pF,EAAKhqF,KAAO27B,SAAS0kD,cAAc,UACnC2J,EAAKhqF,KAAK65G,SAAW,aACrB7vB,EAAKhqF,KAAKZ,KAAO,kBACjB4qF,EAAKhqF,KAAK85G,OAAQ,EAClB9vB,EAAKhqF,KAAKu+D,KAAOs6C,EAAIa,aACrB/9E,SAASo+E,KAAK1nB,YAAYrI,EAAKhqF,MAC3BgqF,EAAK7pD,WAEL6pD,EAAKhqF,KAAOgqF,EAAK7pD,SAAS5vC,KAAKy5F,EAAKn1D,gBAAiBm1D,EAAKprF,IAAKi6G,EAAIa,eAEvE,MAEJ,IAAK,SACG1vB,EAAK7pD,SAEL6pD,EAAKhqF,KAAOgqF,EAAK7pD,SAAS5vC,KAAKy5F,EAAKn1D,gBAAiBm1D,EAAKprF,IAAKi6G,EAAIc,UAInE3vB,EAAKhqF,KAAO64G,EAAIc,SAGpB3tH,KAAK2Z,MAAMgnG,UAAU3iB,EAAKprF,IAAKorF,EAAKhqF,MAKxCy5G,GAEAztH,KAAKqrH,cAAcrtB,IAa3BmuB,iBAAkB,SAAUnuB,EAAM6uB,GAE9B,IAAI74G,EAAOyqG,KAAKngF,MAAMuuF,EAAIa,cAER,YAAd1vB,EAAK5qF,KAELpT,KAAK2Z,MAAM8mG,WAAWziB,EAAKprF,IAAKorF,EAAK3pB,IAAKrgE,EAAMgqF,EAAK3pF,QAElC,eAAd2pF,EAAK5qF,KAEVpT,KAAK2Z,MAAMknG,cAAc7iB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMA,EAAMgqF,EAAK+iB,UAAW/iB,EAAKxqB,SAAUwqB,EAAKvqB,UAE/E,SAAduqB,EAAK5qF,KAEVpT,KAAK2Z,MAAMgoG,QAAQ3jB,EAAKprF,IAAKorF,EAAK3pB,IAAKrgE,GAIvChU,KAAK2Z,MAAMsoG,gBAAgBjkB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMA,EAAMgqF,EAAK3pF,QAGzErU,KAAKqrH,cAAcrtB,IAWvBquB,gBAAiB,SAAUruB,EAAM6uB,GAE7B,IAAI74G,EAAO64G,EAAIa,aAEf1tH,KAAK2Z,MAAM8mG,WAAWziB,EAAKprF,IAAKorF,EAAK3pB,IAAKrgE,EAAMgqF,EAAK3pF,QAErDrU,KAAKqrH,cAAcrtB,IAYvBouB,gBAAiB,SAAUpuB,EAAM6uB,GAG7B,IAAI74G,EAAO64G,EAAIa,aACXnQ,EAAMv9G,KAAKiqH,SAASj2G,GAExB,IAAKupG,EACL,CACI,IAAIyP,EAAeH,EAAIG,cAAgBH,EAAImB,YAG3C,OAFA1tH,QAAQ0Z,KAAK,mBAAqBgkF,EAAKprF,IAAM,kBAAoBo6G,EAAe,UAChFhtH,KAAKqrH,cAAcrtB,EAAM,eAIX,eAAdA,EAAK5qF,KAELpT,KAAK2Z,MAAMknG,cAAc7iB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMupG,EAAKvf,EAAK+iB,UAAW/iB,EAAKxqB,SAAUwqB,EAAKvqB,UAE9E,iBAAduqB,EAAK5qF,KAEVpT,KAAK2Z,MAAMsoG,gBAAgBjkB,EAAKprF,IAAKorF,EAAK3pB,IAAK2pB,EAAKhqF,KAAMupG,EAAKvf,EAAK3pF,QAEjD,QAAd2pF,EAAK5qF,MAEVpT,KAAK2Z,MAAMioG,OAAO5jB,EAAKprF,IAAKorF,EAAK3pB,IAAKkpC,GAG1Cv9G,KAAKqrH,cAAcrtB,IAYvBisB,SAAU,SAAUj2G,GAEhB,IAAIupG,EAEJ,IAEI,GAAIvtG,OAAkB,UACtB,CACI,IAAIi+G,EAAY,IAAIC,UACpB3Q,EAAM0Q,EAAUE,gBAAgBn6G,EAAM,iBAItCupG,EAAM,IAAI6Q,cAAc,qBAEpBC,MAAQ,QACZ9Q,EAAI+Q,QAAQt6G,GAGpB,MAAO1F,GAEHivG,EAAM,KAGV,OAAKA,GAAQA,EAAIpY,kBAAmBoY,EAAIC,qBAAqB,eAAe76G,OAMjE46G,EAJA,MAefmN,eAAgB,WAER1qH,KAAKmmH,gBAEgC,IAAjCnmH,KAAKmmH,cAAc9hF,UAEnBrkC,KAAKmmH,cAAczrF,KAAK98B,MAAQ6F,KAAKsL,MAAO/O,KAAKmmH,cAAcvoH,MAAQ,IAAOoC,KAAK+qH,UAInF/qH,KAAKmmH,cAAczrF,KAAK78B,OAAS4F,KAAKsL,MAAO/O,KAAKmmH,cAActoH,OAAS,IAAOmC,KAAK+qH,UAGrF/qH,KAAKmmH,cAAcjjG,OAEnBljB,KAAKmmH,cAAcjjG,OAAOooD,aAK1BtrE,KAAKmmH,cAAgB,OAajCoI,iBAAkB,WAEd,OAAOvuH,KAAKunH,kBAWhBj+E,iBAAkB,WAEd,OAAOtpC,KAAKqnH,gBAAkBrnH,KAAKunH,kBAWvCiH,iBAAkB,WAEd,OAAOxuH,KAAKonH,iBAWhB79E,iBAAkB,WAEd,OAAOvpC,KAAKonH,gBAAkBpnH,KAAKsnH,mBAe3C1gH,OAAOuF,eAAe3K,EAAOm7C,OAAOr6C,UAAW,iBAE3CwE,IAAK,WACD,IAAIikH,EAAY/qH,KAAKunH,iBAAmBvnH,KAAKqnH,gBAAmB,IAChE,OAAO7lH,EAAOiC,KAAK84B,MAAMwuF,GAAY,EAAG,EAAG,QAWnDnkH,OAAOuF,eAAe3K,EAAOm7C,OAAOr6C,UAAW,YAE3CwE,IAAK,WACD,OAAOrD,KAAK8xB,MAAMv1B,KAAKyuH,kBAK/BjtH,EAAOm7C,OAAOr6C,UAAUC,YAAcf,EAAOm7C,OAa7Cn7C,EAAOi+G,cAcH5B,WAAY,SAAUN,EAAKp3G,EAAaqtE,EAAUC,EAAUzmE,EAAOrI,GAE/D,OAAO3E,KAAKihH,cAAc1D,EAAKp3G,EAAaqtE,EAAUC,EAAUzmE,EAAOrI,IAgB3Es8G,cAAe,SAAU1D,EAAKp3G,EAAaqtE,EAAUC,EAAUzmE,EAAOrI,GAEhD,MAAdA,IAEAA,EAAa,GAGjB,IAAIqP,KACA06G,EAAOnR,EAAIC,qBAAqB,QAAQ,GACxCmR,EAASpR,EAAIC,qBAAqB,UAAU,GAEhDxpG,EAAKm/D,KAAOu7C,EAAKE,aAAa,QAC9B56G,EAAK0N,KAAOsR,SAAS07F,EAAKE,aAAa,QAAS,IAChD56G,EAAK+8E,WAAa/9D,SAAS27F,EAAOC,aAAa,cAAe,IAAMn7C,EACpEz/D,EAAKs/D,SAOL,IAAK,IALDu7C,EAAUtR,EAAIC,qBAAqB,QAEnC15G,EAAI,EAAUkJ,EAAMlJ,EAAI,EACxBC,EAAI,EAAUiJ,EAAMjJ,EAAI,EAEnBrB,EAAI,EAAGA,EAAImsH,EAAQlsH,OAAQD,IACpC,CACI,IAAIogE,EAAW9vC,SAAS67F,EAAQnsH,GAAGksH,aAAa,MAAO,IAEvD56G,EAAKs/D,MAAMxQ,IACPh/D,EAAGA,EAAIkvB,SAAS67F,EAAQnsH,GAAGksH,aAAa,KAAM,IAC9C7qH,EAAGA,EAAIivB,SAAS67F,EAAQnsH,GAAGksH,aAAa,KAAM,IAC9ChxH,MAAOo1B,SAAS67F,EAAQnsH,GAAGksH,aAAa,SAAU,IAClD/wH,OAAQm1B,SAAS67F,EAAQnsH,GAAGksH,aAAa,UAAW,IACpDl7C,QAAS1gD,SAAS67F,EAAQnsH,GAAGksH,aAAa,WAAY,IAAMjqH,EAC5DgvE,QAAS3gD,SAAS67F,EAAQnsH,GAAGksH,aAAa,WAAY,IAAMjqH,EAC5DgxF,UAAW3iE,SAAS67F,EAAQnsH,GAAGksH,aAAa,YAAa,IAAMp7C,GAAY7uE,EAC3E+wF,YAIR,IAAIo5B,EAAWvR,EAAIC,qBAAqB,WAExC,IAAK96G,EAAI,EAAGA,EAAIosH,EAASnsH,OAAQD,IACjC,CACI,IAAIusD,EAAQj8B,SAAS87F,EAASpsH,GAAGksH,aAAa,SAAU,IACpDG,EAAS/7F,SAAS87F,EAASpsH,GAAGksH,aAAa,UAAW,IACtDz4E,EAASnjB,SAAS87F,EAASpsH,GAAGksH,aAAa,UAAW,IAAMjqH,EAEhEqP,EAAKs/D,MAAMy7C,GAAQr5B,QAAQzmC,GAAS9Y,EAGxC,OAAOn2C,KAAKgvH,mBAAmB7oH,EAAa6N,IAgBhDgtG,eAAgB,SAAUnE,EAAM12G,EAAaqtE,EAAUC,EAAUzmE,EAAOrI,GAElD,MAAdA,IAEAA,EAAa,GAGjB,IAAIqP,GACAm/D,KAAM0pC,EAAK1pC,KAAKu7C,KAAKO,MACrBvtG,KAAMsR,SAAS6pF,EAAK1pC,KAAKu7C,KAAKh2C,MAAO,IACrCqY,WAAY/9D,SAAS6pF,EAAK1pC,KAAKw7C,OAAOO,YAAa,IAAMz7C,EACzDH,UAGAxvE,EAAI,EAAUkJ,EAAMlJ,EAAI,EACxBC,EAAI,EAAUiJ,EAAMjJ,EAAI,EAmC5B,OAjCA84G,EAAK1pC,KAAKG,MAAY,KAAE5iD,QAEpB,SAAmBmhE,GAEf,IAAI/uB,EAAW9vC,SAAS6+D,EAAOs9B,IAAK,IAEpCn7G,EAAKs/D,MAAMxQ,IACPh/D,EAAGA,EAAIkvB,SAAS6+D,EAAOlvC,GAAI,IAC3B5+C,EAAGA,EAAIivB,SAAS6+D,EAAOjvC,GAAI,IAC3BhlD,MAAOo1B,SAAS6+D,EAAOzlF,OAAQ,IAC/BvO,OAAQm1B,SAAS6+D,EAAOxlF,QAAS,IACjCqnE,QAAS1gD,SAAS6+D,EAAOu9B,SAAU,IAAMzqH,EACzCgvE,QAAS3gD,SAAS6+D,EAAOw9B,SAAU,IAAM1qH,EACzCgxF,UAAW3iE,SAAS6+D,EAAOy9B,UAAW,IAAM97C,GAAY7uE,EACxD+wF,cAMRmnB,EAAK1pC,KAAK27C,UAAYjS,EAAK1pC,KAAK27C,SAASp5B,SAEzCmnB,EAAK1pC,KAAK27C,SAASp5B,QAAQhlE,QAEvB,SAAsBglE,GAElB1hF,EAAKs/D,MAAMoiB,EAAQ65B,SAAS75B,QAAQA,EAAQ85B,QAAUx8F,SAAS0iE,EAAQ+5B,QAAS,IAAM9qH,IAO3F3E,KAAKgvH,mBAAmB7oH,EAAa6N,IAahDg7G,mBAAoB,SAAU7oH,EAAaupH,GAcvC,OAZA9oH,OAAOytB,KAAKq7F,EAAep8C,OAAO5iD,QAE9B,SAAoBoyC,GAEhB,IAAI+uB,EAAS69B,EAAep8C,MAAMxQ,GAElC+uB,EAAO9zF,QAAU,IAAIS,KAAK+N,QAAQpG,EAAa,IAAI3E,EAAOS,UAAU4vF,EAAO/tF,EAAG+tF,EAAO9tF,EAAG8tF,EAAOj0F,MAAOi0F,EAAOh0F,WAM9G6xH,GAWXC,IAAK,SAAUpQ,GAkBX,IAII3jG,EAJAg0G,EAAY,IAAIztG,YAAYo9F,EAAYxvF,MAAM,EAAG,KACjD8/F,EAAY,IAAIliC,WAAW4xB,GAC3BuQ,EAAY,KACZC,EAAeH,EAAU,IAAM,GAAKA,EAAU,GAE9Cv0G,EAAoB,EAExB,GAAqB,WAAjBu0G,EAAU,KAEN,EAAG,EAAG,EAAG,EACT,EAAG,EAAG,EAAG,IACX3mH,QAAQ8mH,IAAgB,EAC5B,CASE,OARIA,GAAe,GAAKA,GAAe,EACnCn0G,EAAuB,QAChBm0G,GAAe,GAAKA,GAAe,GAC1Cn0G,EAAuB,OACA,IAAhBm0G,IACPn0G,EAAuB,QAGnBm0G,GACJ,KAAK,EACD10G,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,EACDA,EAAoB,MACpB,MACJ,KAAK,GACDA,EAAoB,MACpB,MACJ,QACIA,GAAqB,EAG7By0G,GACI9lG,UAAU,EACV01F,WAAY,MACZ9jG,qBAAsBA,EACtBo0G,MAAOJ,EAAU,GACjBG,YAAaA,EACbE,WAAYL,EAAU,GACtBM,YAAaN,EAAU,GACvB/xH,OAAQ+xH,EAAU,GAClBhyH,MAAOgyH,EAAU,GACjBO,MAAOP,EAAU,GACjBQ,iBAAkBR,EAAU,GAC5BS,cAAeT,EAAU,IACzBU,gBAAiBV,EAAU,IAC3BW,aAAcX,EAAU,IACxB77G,YAAa87G,EAAUhrG,SAAS,GAAK+qG,EAAU,IAAKC,EAAUW,YAC9Dn1G,kBAAmBA,GAI3B,OAAOy0G,GAWXW,IAAK,SAAUlR,GAkCX,IAAIsQ,EAAY,IAAIliC,WAAW4xB,GAC3BqQ,EAAY,IAAIztG,YAAYo9F,GAC5BmR,EAAY,KAkDhB,OAhDqB,KAAjBb,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IAoCqB,UAnC/Ba,GACI1mG,UAAU,EACV01F,WAAY,MACZ9jG,qBAAsB,OACtB8F,KAAMkuG,EAAU,GAChBI,MAAOJ,EAAU,GACjB/xH,OAAQ+xH,EAAU,GAClBhyH,MAAOgyH,EAAU,GACjBe,MAAOf,EAAU,GACjBO,MAAOP,EAAU,GACjBgB,YAAahB,EAAU,GACvBiB,WAAYjB,EAAU,IACtBkB,WAAYlB,EAAU,IACtBmB,cACInuD,OAAOC,aAAagtD,EAAU,KAC9BjtD,OAAOC,aAAagtD,EAAU,KAC9BjtD,OAAOC,aAAagtD,EAAU,KAC9BjtD,OAAOC,aAAagtD,EAAU,MAChCngH,KAAK,IACPshH,eAAgBpB,EAAU,IAC1BqB,eAAgBrB,EAAU,IAC1BsB,eAAgBtB,EAAU,IAC1BuB,eAAgBvB,EAAU,IAC1BwB,eAAgBxB,EAAU,IAC1ByB,MAAOzB,EAAU,IACjB0B,MAAO1B,EAAU,IACjB2B,MAAO3B,EAAU,IACjB4B,MAAO5B,EAAU,IACjB6B,UAAW7B,EAAU,IACrB8B,WAAY,KACZC,kBAAmB,KACnBC,SAAU,KACVC,UAAW,KACX99G,YAAa87G,EAAUhrG,SAAS+qG,EAAU,GAAK,EAAGC,EAAUW,cAElDO,eACVL,EAAUgB,WAAa9B,EAAU,IACjCc,EAAUiB,kBAAoB/B,EAAU,IACxCc,EAAUkB,SAAWhC,EAAU,IAC/Bc,EAAUmB,UAAYjC,EAAU,IAChCc,EAAUkB,SAAWhC,EAAU,KAIhCc,GAWXoB,IAAK,SAAUvS,GAwBX,IAAIsQ,EAAY,IAAIliC,WAAW4xB,GAC3BqQ,EAAY,IAAIztG,YAAYo9F,GAC5BwS,EAAY,KACZC,EAAkB,GAAMpC,EAAU,IAAM,EAAK,EAC7CqC,EAAYrC,EAAUoC,GACtBE,EAAmBtC,EAAU,GAC7Bh0G,EAAuB,EAE3B,GAAqB,MAAjBi0G,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,MAAjBA,EAAU,IAClB,KAAjBA,EAAU,IAAgC,KAAjBA,EAAU,IACjB,KAAlBA,EAAU,KAAkC,KAAlBA,EAAU,MAIhC,MAEA,MAAQ,MAAQ,MAAQ,MAExB,MAAQ,MAAQ,MAAQ,OAC1B5mH,QAAQipH,IAAqB,EAAG,CAClC,OAAQA,GACJ,KAAK,MACDt2G,EAAuB,OACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,QACvB,MACJ,KAAK,MACL,KAAK,MACL,KAAK,MACL,KAAK,MACDA,EAAuB,OAI/Bm2G,GACI/nG,UAAU,EACV01F,WAAY,MACZ9jG,qBAAsBA,EACtBu2G,WAAYvC,EAAU,GACtBwC,OAAQxC,EAAU,GAClByC,WAAYzC,EAAU,GACtB0C,SAAU1C,EAAU,GACpBsC,iBAAkBtC,EAAU,GAC5B2C,qBAAsB3C,EAAU,GAChChyH,MAAOgyH,EAAU,GACjB/xH,OAAQ+xH,EAAU,IAClB4C,WAAY5C,EAAU,IACtB6C,sBAAuB7C,EAAU,IACjCS,cAAeT,EAAU,IACzB8C,qBAAsB9C,EAAU,IAChC+C,oBAAqB/C,EAAU,IAC/BgD,oBAAqBhD,EAAU,IAC/BqC,UAAWA,EACXl+G,YAAa87G,EAAUhrG,SAAiC,GAAvBmtG,EAAkB,GAAQC,EAAY,MAI/E,OAAOF,GAWXc,IAAK,SAAUtT,GAaX,IAAIsQ,EAAY,IAAIliC,WAAW4xB,GAC3BuT,EAAY,KAoBhB,OAlBqB,KAAjBjD,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,IACO,KAAjBA,EAAU,KAEViD,GACI9oG,UAAU,EACV01F,WAAY,MACZ9jG,qBAAsB,OACtBvH,OAA+C,OAArCw7G,EAAU,IAAM,EAAIA,EAAU,IACxCjyH,MAA8C,OAArCiyH,EAAU,IAAM,EAAIA,EAAU,IACvChyH,OAAiD,OAAvCgyH,EAAU,KAAO,EAAIA,EAAU,KACzCkD,cAAwD,OAAvClD,EAAU,KAAO,EAAIA,EAAU,KAChDmD,eAAyD,OAAvCnD,EAAU,KAAO,EAAIA,EAAU,KACjD97G,YAAa87G,EAAUhrG,SAAS,GAAIgrG,EAAUltH,UAI/CmwH,IAsBftxH,EAAOo1E,YAAc,SAAU9zE,EAAM8P,GAMjC5S,KAAK8C,KAAOA,EAMZ9C,KAAK4S,IAAMA,EAMX5S,KAAKoW,OAASpW,KAAK8C,KAAK6W,MAAM8nG,QAAQ7uG,EAAM,eAM5C5S,KAAKizH,YAAc,KAOnBjzH,KAAKwsH,UAAW,EAMhBxsH,KAAKkzH,UAEL,IAAK,IAAIj8F,KAAKj3B,KAAKoW,OAAO+8G,UAC1B,CACI,IAAI38C,EAASx2E,KAAKoW,OAAO+8G,UAAUl8F,GAC/BiP,EAAQlmC,KAAK8C,KAAKi2B,IAAImN,MAAMlmC,KAAK4S,KAErCszB,EAAMktF,UAAUn8F,EAAGu/C,EAAOxqE,MAAQwqE,EAAOx7D,IAAMw7D,EAAOxqE,MAAQ,KAAMwqE,EAAOjN,MAE3EvpE,KAAKkzH,OAAOj8F,GAAKiP,EAGjBlmC,KAAKoW,OAAOo2G,WAEZxsH,KAAKizH,YAAcjzH,KAAKoW,OAAOo2G,SAC/BxsH,KAAKqpE,KAAKrpE,KAAKizH,aACfjzH,KAAKwsH,SAAWxsH,KAAKkzH,OAAOlzH,KAAKizH,eAKzCzxH,EAAOo1E,YAAYt0E,WAUf+mE,KAAM,SAAUmN,EAAQp1C,GAIpB,YAFe96B,IAAX86B,IAAwBA,EAAS,GAE9BphC,KAAKkzH,OAAO18C,GAAQnN,KAAKmN,EAAQ,KAAMp1C,IAUlDv1B,KAAM,SAAU2qE,GAEZ,GAAKA,EASDx2E,KAAKkzH,OAAO18C,GAAQ3qE,YAPpB,IAAK,IAAI+G,KAAO5S,KAAKkzH,OAEjBlzH,KAAKkzH,OAAOtgH,GAAK/G,QAiB7B/E,IAAK,SAAS0vE,GAEV,OAAOx2E,KAAKkzH,OAAO18C,KAM3Bh1E,EAAOo1E,YAAYt0E,UAAUC,YAAcf,EAAOo1E,YAkBlDp1E,EAAOm1E,MAAQ,SAAU7zE,EAAM8P,EAAKwuB,EAAQmoC,EAAMtP,QAE/B3zD,IAAX86B,IAAwBA,EAAS,QACxB96B,IAATijE,IAAsBA,GAAO,QACjBjjE,IAAZ2zD,IAAyBA,EAAUn3D,EAAKojC,MAAMmtF,iBAMlDrzH,KAAK8C,KAAOA,EAKZ9C,KAAK6xB,KAAOjf,EAKZ5S,KAAK4S,IAAMA,EAKX5S,KAAKupE,KAAOA,EAKZvpE,KAAKszH,WAKLtzH,KAAKyN,QAAU,KAKfzN,KAAKwsH,UAAW,EAKhBxsH,KAAKuzH,cAAgB,EAMrBvzH,KAAKs0G,UAAY,EAKjBt0G,KAAKwzH,YAAc,EAKnBxzH,KAAK0iC,SAAW,EAKhB1iC,KAAKyzH,WAAa,EAKlBzzH,KAAKY,SAAW,EAKhBZ,KAAK0zH,SAAW,EAMhB1zH,KAAK2mC,QAAS,EAKd3mC,KAAK2zH,eAAiB,EAKtB3zH,KAAK4zH,WAAa,EAMlB5zH,KAAK25G,WAAY,EAMjB35G,KAAK6zH,cAAgB,GAKrB7zH,KAAK8zH,UAAY,KAMjB9zH,KAAK+zH,iBAAkB,EAMvB/zH,KAAKg0H,UAAW,EAMhBh0H,KAAKi0H,eAAgB,EAMrBj0H,KAAK6rH,cAAgB7rH,KAAK8C,KAAKojC,MAAM2lF,cAKrC7rH,KAAK8rH,cAAgB9rH,KAAK8C,KAAKojC,MAAM4lF,cAKrC9rH,KAAKk0H,aAAe,KAKpBl0H,KAAKm0H,eAAiB,KAKtBn0H,KAAKo0H,SAAW,KAMhBp0H,KAAKq0H,OAAS,KAMjBr0H,KAAKs0H,cAAgB,EAMlBt0H,KAAKu0H,iBAAkB,EAMvBv0H,KAAKw0H,yBAA0B,EAI3Bx0H,KAAK6rH,eAEL7rH,KAAKyN,QAAUzN,KAAK8C,KAAKojC,MAAMz4B,QAC/BzN,KAAKm0H,eAAiBn0H,KAAK8C,KAAKojC,MAAMuuF,gBAENnuH,IAA5BtG,KAAKyN,QAAQinH,WAEb10H,KAAKo0H,SAAWp0H,KAAKyN,QAAQknH,iBAI7B30H,KAAKo0H,SAAWp0H,KAAKyN,QAAQinH,aAGjC10H,KAAKo0H,SAASQ,KAAK5tH,MAAQo6B,EAEvB64B,GAEAj6D,KAAKo0H,SAASn6D,QAAQj6D,KAAKm0H,iBAG1Bn0H,KAAK8rH,gBAEN9rH,KAAK8C,KAAK6W,MAAM0oG,SAASzvG,IAAQ5S,KAAK8C,KAAK6W,MAAM+oG,aAAa9vG,IAE9D5S,KAAKq0H,OAASr0H,KAAK8C,KAAK6W,MAAMkqG,aAAajxG,GAC3C5S,KAAKuzH,cAAgB,EAEjBvzH,KAAKq0H,OAAO3xF,WAEZ1iC,KAAKuzH,cAAgBvzH,KAAKq0H,OAAO3xF,WAKrC1iC,KAAK8C,KAAK6W,MAAMukG,cAAcnlF,IAAI/4B,KAAK60H,iBAAkB70H,OAOjEA,KAAK80H,UAAY,IAAItzH,EAAO0gC,OAK5BliC,KAAK+0H,OAAS,IAAIvzH,EAAO0gC,OAKzBliC,KAAKsoC,QAAU,IAAI9mC,EAAO0gC,OAK1BliC,KAAKwoC,SAAW,IAAIhnC,EAAO0gC,OAK3BliC,KAAK+yG,OAAS,IAAIvxG,EAAO0gC,OAKzBliC,KAAKg1H,OAAS,IAAIxzH,EAAO0gC,OAKzBliC,KAAKi1H,OAAS,IAAIzzH,EAAO0gC,OAKzBliC,KAAKk1H,iBAAmB,IAAI1zH,EAAO0gC,OAKnCliC,KAAKoiC,eAAiB,IAAI5gC,EAAO0gC,OAMjCliC,KAAKm1H,QAAU/zF,EAMfphC,KAAKo1H,QAAU,KAMfp1H,KAAKq1H,QAAS,EAMdr1H,KAAKs1H,YAAc,EAMnBt1H,KAAKu1H,cAAgB,EAMrBv1H,KAAKw1H,YAAc,EAMnBx1H,KAAKy1H,WAAa,EAMlBz1H,KAAK01H,YAAc,EAMnB11H,KAAK21H,UAAY,EAMjB31H,KAAKq7C,SAAU,EAMfr7C,KAAK41H,2BAA4B,GAIrCp0H,EAAOm1E,MAAMr0E,WAQTuyH,iBAAkB,SAAUjiH,GAEpBA,IAAQ5S,KAAK4S,MAEb5S,KAAKq0H,OAASr0H,KAAK8C,KAAK6W,MAAMkqG,aAAa7jH,KAAK4S,KAChD5S,KAAKuzH,cAAgBvzH,KAAKq0H,OAAO3xF,WAgBzC0wF,UAAW,SAAUvhG,EAAM7lB,EAAO02B,EAAUtB,EAAQmoC,QAE/BjjE,IAAbo8B,GAAuC,OAAbA,IAAqBA,EAAW,QAC/Cp8B,IAAX86B,GAAmC,OAAXA,IAAmBA,EAAS,QAC3C96B,IAATijE,IAAsBA,GAAO,GAEjCvpE,KAAKszH,QAAQzhG,IACTA,KAAMA,EACN7lB,MAAOA,EACPH,KAAMG,EAAQ02B,EACdtB,OAAQA,EACRsB,SAAUA,EACV+wF,WAAuB,IAAX/wF,EACZ6mC,KAAMA,IAUdssD,aAAc,SAAUhkG,UAEb7xB,KAAKszH,QAAQzhG,IAWxBikG,eAAgB,WAEZ91H,KAAKq0H,OAAO0B,QAAU,KACtB/1H,KAAK25G,WAAY,EACjB35G,KAAKwzH,YAAcxzH,KAAKyzH,WACxBzzH,KAAK6L,OAED7L,KAAKu0H,kBAEDv0H,KAAKk0H,aAELl0H,KAAKq0H,OAAOl6D,WAAWn6D,KAAKk0H,cAEvBl0H,KAAKo0H,UAEVp0H,KAAKq0H,OAAOl6D,WAAWn6D,KAAKo0H,UAG5Bp0H,KAAKw0H,wBAELx0H,KAAK8C,KAAKojC,MAAMnqB,OAAO/b,OAIvBA,KAAKszH,WACLtzH,KAAKyN,QAAU,KACfzN,KAAKo1H,QAAU,KACfp1H,KAAKk0H,aAAe,KAEpBl0H,KAAK80H,UAAU/oF,UACf/rC,KAAK+0H,OAAOhpF,UACZ/rC,KAAKsoC,QAAQyD,UACb/rC,KAAKwoC,SAASuD,UACd/rC,KAAK+yG,OAAOhnE,UACZ/rC,KAAKg1H,OAAOjpF,UACZ/rC,KAAKi1H,OAAOlpF,UACZ/rC,KAAKk1H,iBAAiBnpF,aAUlCpH,OAAQ,WAEC3kC,KAAK8C,KAAK6W,MAAMopG,cAAc/iH,KAAK4S,MAMpC5S,KAAKg2H,YAAch2H,KAAK41H,4BAExB51H,KAAK80H,UAAU7vF,SAASjlC,MACxBA,KAAK41H,2BAA4B,GAGjC51H,KAAK+zH,iBAAmB/zH,KAAK8C,KAAK6W,MAAM+oG,aAAa1iH,KAAK4S,OAE1D5S,KAAK+zH,iBAAkB,EACvB/zH,KAAKqpE,KAAKrpE,KAAKs1H,YAAat1H,KAAKu1H,cAAev1H,KAAKw1H,YAAax1H,KAAK21H,YAGvE31H,KAAK25G,YAEL35G,KAAKwzH,YAAcxzH,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAKs0G,UAE1Ct0G,KAAKwzH,aAAexzH,KAAKyzH,aAErBzzH,KAAK6rH,cAED7rH,KAAKupE,MAGLvpE,KAAK+yG,OAAO9tE,SAASjlC,MAGrBA,KAAK25G,WAAY,EAEU,KAAvB35G,KAAK6zH,eAEL7zH,KAAKwzH,YAAc,EACnBxzH,KAAKs0G,UAAYt0G,KAAK8C,KAAKiiC,KAAKA,KAChC/kC,KAAK25G,WAAY,IAIjB35G,KAAKk1H,iBAAiBjwF,SAASjlC,KAAK6zH,cAAe7zH,MACnDA,KAAKqpE,KAAKrpE,KAAK6zH,cAAe,EAAG7zH,KAAKohC,QAAQ,GAAM,KAM7B,KAAvBphC,KAAK6zH,eAEL7zH,KAAK6L,OAMT7L,KAAKupE,MAELvpE,KAAK+yG,OAAO9tE,SAASjlC,MAEM,KAAvBA,KAAK6zH,gBAEL7zH,KAAKwzH,YAAc,EACnBxzH,KAAKs0G,UAAYt0G,KAAK8C,KAAKiiC,KAAKA,MAIpC/kC,KAAK25G,WAAY,EAEjB35G,KAAKqpE,KAAKrpE,KAAK6zH,cAAe,EAAG7zH,KAAKohC,QAAQ,GAAM,IAIpDphC,KAAK6L,UAxEjB7L,KAAKwC,WAsFbyzH,SAAU,SAAU70F,GAEhB,OAAOphC,KAAKqpE,KAAK,KAAM,EAAGjoC,GAAQ,IAetCioC,KAAM,SAAUmN,EAAQ51E,EAAUwgC,EAAQmoC,EAAM2sD,GAK5C,QAHe5vH,IAAXkwE,IAAmC,IAAXA,GAA+B,OAAXA,IAAmBA,EAAS,SACvDlwE,IAAjB4vH,IAA8BA,GAAe,GAE7Cl2H,KAAK25G,YAAc35G,KAAKi0H,gBAAkBiC,IAAiBl2H,KAAKg0H,SAGhE,OAAOh0H,KAGX,GAAIA,KAAKq0H,QAAUr0H,KAAK25G,YAAc35G,KAAKi0H,gBAAkBj0H,KAAKg0H,UAAYkC,GAC9E,CACI,GAAIl2H,KAAK6rH,cACT,CACI,QAAyBvlH,IAArBtG,KAAKq0H,OAAOxoH,KAEZ7L,KAAKq0H,OAAO8B,QAAQ,QAIpB,IACIn2H,KAAKq0H,OAAOxoH,KAAK,GAErB,MAAOyC,IAIPtO,KAAKk0H,aAELl0H,KAAKq0H,OAAOl6D,WAAWn6D,KAAKk0H,cAEvBl0H,KAAKo0H,UAEVp0H,KAAKq0H,OAAOl6D,WAAWn6D,KAAKo0H,eAG3Bp0H,KAAK8rH,gBAEV9rH,KAAKq0H,OAAO9rF,QACZvoC,KAAKq0H,OAAOb,YAAc,GAG9BxzH,KAAK25G,WAAY,EAGrB,GAAe,KAAXnjC,GAAiB5vE,OAAOytB,KAAKr0B,KAAKszH,SAAS3wH,OAAS,EAIpD,OAAO3C,KAGX,GAAe,KAAXw2E,EACJ,CACI,IAAIx2E,KAAKszH,QAAQ98C,GA6Bb,OADAl2E,QAAQ0Z,KAAK,mCAAqCw8D,EAAS,kBACpDx2E,KA3BPA,KAAK6zH,cAAgBr9C,EAGrBx2E,KAAKY,SAAWZ,KAAKszH,QAAQ98C,GAAQxqE,MACrChM,KAAKohC,OAASphC,KAAKszH,QAAQ98C,GAAQp1C,OACnCphC,KAAKupE,KAAOvpE,KAAKszH,QAAQ98C,GAAQjN,KACjCvpE,KAAK0iC,SAAW1iC,KAAKszH,QAAQ98C,GAAQ9zC,SACrC1iC,KAAKyzH,WAAazzH,KAAKszH,QAAQ98C,GAAQi9C,gBAEjB,IAAXryF,IAEPphC,KAAKohC,OAASA,QAGE,IAATmoC,IAEPvpE,KAAKupE,KAAOA,GAGhBvpE,KAAKs1H,YAAc9+C,EACnBx2E,KAAKu1H,cAAgBv1H,KAAKY,SAC1BZ,KAAKw1H,YAAcx1H,KAAKohC,OACxBphC,KAAK21H,UAAY31H,KAAKupE,UAU1B3oE,EAAWA,GAAY,OAER0F,IAAX86B,IAAwBA,EAASphC,KAAKm1H,cAC7B7uH,IAATijE,IAAsBA,EAAOvpE,KAAKupE,MAEtCvpE,KAAKY,SAAW6C,KAAKuC,IAAI,EAAGpF,GAC5BZ,KAAKohC,OAASA,EACdphC,KAAKupE,KAAOA,EACZvpE,KAAK0iC,SAAW,EAChB1iC,KAAKyzH,WAAa,EAElBzzH,KAAKs1H,YAAc9+C,EACnBx2E,KAAKu1H,cAAgB30H,EACrBZ,KAAKw1H,YAAcp0F,EACnBphC,KAAK21H,UAAYpsD,EAwHrB,OArHIvpE,KAAK6rH,cAGD7rH,KAAK8C,KAAK6W,MAAM8oG,eAAeziH,KAAK4S,MAEpC5S,KAAKq0H,OAASr0H,KAAKyN,QAAQ2oH,qBAEvBp2H,KAAKk0H,aAELl0H,KAAKq0H,OAAOp6D,QAAQj6D,KAAKk0H,cAIzBl0H,KAAKq0H,OAAOp6D,QAAQj6D,KAAKo0H,UAG7Bp0H,KAAKo1H,QAAUp1H,KAAK8C,KAAK6W,MAAMkqG,aAAa7jH,KAAK4S,KACjD5S,KAAKq0H,OAAOx5G,OAAS7a,KAAKo1H,QAEtBp1H,KAAKupE,MAAmB,KAAXiN,IAEbx2E,KAAKq0H,OAAO9qD,MAAO,GAGlBvpE,KAAKupE,MAAmB,KAAXiN,IAEdx2E,KAAKq0H,OAAO0B,QAAU/1H,KAAK81H,eAAehmG,KAAK9vB,OAGnDA,KAAKuzH,cAAgBvzH,KAAKq0H,OAAOx5G,OAAO6nB,SAElB,IAAlB1iC,KAAK0iC,WAEL1iC,KAAK0iC,SAAW1iC,KAAKuzH,cACrBvzH,KAAKyzH,WAAahwH,KAAKwC,KAA0B,IAArBjG,KAAKuzH,qBAIXjtH,IAAtBtG,KAAKq0H,OAAOroH,MAEZhM,KAAKq0H,OAAOgC,YAAY,EAAGr2H,KAAKY,SAAUZ,KAAK0iC,UAI3C1iC,KAAKupE,MAAmB,KAAXiN,EAEbx2E,KAAKq0H,OAAOroH,MAAM,EAAG,GAIrBhM,KAAKq0H,OAAOroH,MAAM,EAAGhM,KAAKY,SAAUZ,KAAK0iC,UAIjD1iC,KAAK25G,WAAY,EACjB35G,KAAKs0G,UAAYt0G,KAAK8C,KAAKiiC,KAAKA,KAChC/kC,KAAKwzH,YAAc,EACnBxzH,KAAK0zH,SAAW1zH,KAAKs0G,UAAYt0G,KAAKyzH,WACtCzzH,KAAK+0H,OAAO9vF,SAASjlC,QAIrBA,KAAK+zH,iBAAkB,EAEnB/zH,KAAK8C,KAAK6W,MAAM0oG,SAASriH,KAAK4S,OAA0D,IAAlD5S,KAAK8C,KAAK6W,MAAM0oG,SAASriH,KAAK4S,KAAKytG,YAEzErgH,KAAK8C,KAAKojC,MAAM0nF,OAAO5tH,KAAK4S,IAAK5S,OAMrCA,KAAK8C,KAAK6W,MAAM0oG,SAASriH,KAAK4S,MAAQ5S,KAAK8C,KAAK6W,MAAM0oG,SAASriH,KAAK4S,KAAKszC,QAEzElmD,KAAK8C,KAAK6W,MAAMyoG,YAAYpiH,KAAK4S,KACjC5S,KAAK+zH,iBAAkB,GAInB/zH,KAAKq0H,SAAWr0H,KAAK8C,KAAK+mB,OAAOs0B,UAAuC,IAA3Bn+C,KAAKq0H,OAAO/yB,aAEzDthG,KAAKq0H,OAAOhrD,OAEZrpE,KAAKuzH,cAAgBvzH,KAAKq0H,OAAO3xF,SAEX,IAAlB1iC,KAAK0iC,WAEL1iC,KAAK0iC,SAAW1iC,KAAKuzH,cACrBvzH,KAAKyzH,WAAkC,IAArBzzH,KAAKuzH,eAG3BvzH,KAAKq0H,OAAOb,YAAcxzH,KAAKY,SAC/BZ,KAAKq0H,OAAOiC,MAAQt2H,KAAKq1H,OAErBr1H,KAAKq1H,QAAUr1H,KAAK8C,KAAKojC,MAAMqwF,KAE/Bv2H,KAAKq0H,OAAOjzF,OAAS,EAIrBphC,KAAKq0H,OAAOjzF,OAASphC,KAAKm1H,QAG9Bn1H,KAAK25G,WAAY,EACjB35G,KAAKs0G,UAAYt0G,KAAK8C,KAAKiiC,KAAKA,KAChC/kC,KAAKwzH,YAAc,EACnBxzH,KAAK0zH,SAAW1zH,KAAKs0G,UAAYt0G,KAAKyzH,WAEtCzzH,KAAK+0H,OAAO9vF,SAASjlC,OAIrBA,KAAK+zH,iBAAkB,EAK5B/zH,MAaXipC,QAAS,SAAUutC,EAAQ51E,EAAUwgC,EAAQmoC,GAEzCiN,EAASA,GAAU,GACnB51E,EAAWA,GAAY,EACvBwgC,EAASA,GAAU,OACN96B,IAATijE,IAAsBA,GAAO,GAEjCvpE,KAAKqpE,KAAKmN,EAAQ51E,EAAUwgC,EAAQmoC,GAAM,IAS9ChhC,MAAO,WAECvoC,KAAK25G,WAAa35G,KAAKq0H,SAEvBr0H,KAAK2mC,QAAS,EACd3mC,KAAK2zH,eAAiB3zH,KAAKwzH,YAC3BxzH,KAAK4zH,WAAa5zH,KAAK8C,KAAKiiC,KAAKA,KACjC/kC,KAAKy1H,WAAaz1H,KAAKq0H,OAAOb,YAC9BxzH,KAAKsoC,QAAQrD,SAASjlC,MACtBA,KAAK6L,SAUb48B,OAAQ,WAEJ,GAAIzoC,KAAK2mC,QAAU3mC,KAAKq0H,OACxB,CACI,GAAIr0H,KAAK6rH,cACT,CACI,IAAI9oH,EAAIU,KAAKuC,IAAI,EAAGhG,KAAKY,SAAYZ,KAAK2zH,eAAiB,KAE3D3zH,KAAKq0H,OAASr0H,KAAKyN,QAAQ2oH,qBAC3Bp2H,KAAKq0H,OAAOx5G,OAAS7a,KAAKo1H,QAEtBp1H,KAAKk0H,aAELl0H,KAAKq0H,OAAOp6D,QAAQj6D,KAAKk0H,cAIzBl0H,KAAKq0H,OAAOp6D,QAAQj6D,KAAKo0H,UAGzBp0H,KAAKupE,OAELvpE,KAAKq0H,OAAO9qD,MAAO,GAGlBvpE,KAAKupE,MAA+B,KAAvBvpE,KAAK6zH,gBAEnB7zH,KAAKq0H,OAAO0B,QAAU/1H,KAAK81H,eAAehmG,KAAK9vB,OAGnD,IAAI0iC,EAAW1iC,KAAK0iC,SAAY1iC,KAAK2zH,eAAiB,SAE5BrtH,IAAtBtG,KAAKq0H,OAAOroH,MAEZhM,KAAKq0H,OAAOgC,YAAY,EAAGtzH,EAAG2/B,GAK1B1iC,KAAKupE,MAAQvpE,KAAK8C,KAAK+mB,OAAOw9B,OAGS,KAAnCrnD,KAAK8C,KAAK+mB,OAAO60E,cAEjB1+F,KAAKq0H,OAAOroH,MAAM,GAIlBhM,KAAKq0H,OAAOroH,MAAM,EAAGjJ,GAKzB/C,KAAKq0H,OAAOroH,MAAM,EAAGjJ,EAAG2/B,QAMhC1iC,KAAKq0H,OAAOb,YAAcxzH,KAAKy1H,WAC/Bz1H,KAAKq0H,OAAOhrD,OAGhBrpE,KAAK25G,WAAY,EACjB35G,KAAK2mC,QAAS,EACd3mC,KAAKs0G,WAAct0G,KAAK8C,KAAKiiC,KAAKA,KAAO/kC,KAAK4zH,WAC9C5zH,KAAKwoC,SAASvD,SAASjlC,QAU/B6L,KAAM,WAEF,GAAI7L,KAAK25G,WAAa35G,KAAKq0H,OAEvB,GAAIr0H,KAAK6rH,cACT,CACI,QAAyBvlH,IAArBtG,KAAKq0H,OAAOxoH,KAEZ7L,KAAKq0H,OAAO8B,QAAQ,QAIpB,IACIn2H,KAAKq0H,OAAOxoH,KAAK,GAErB,MAAOyC,IAMPtO,KAAKk0H,aAELl0H,KAAKq0H,OAAOl6D,WAAWn6D,KAAKk0H,cAEvBl0H,KAAKo0H,UAEVp0H,KAAKq0H,OAAOl6D,WAAWn6D,KAAKo0H,eAI3Bp0H,KAAK8rH,gBAEV9rH,KAAKq0H,OAAO9rF,QACZvoC,KAAKq0H,OAAOb,YAAc,GAOlC,GAHAxzH,KAAK+zH,iBAAkB,EACvB/zH,KAAK25G,WAAY,GAEZ35G,KAAK2mC,OACV,CACI,IAAI6vF,EAAax2H,KAAK6zH,cAEK,KAAvB7zH,KAAK6zH,eAEL7zH,KAAKk1H,iBAAiBjwF,SAASjlC,KAAK6zH,cAAe7zH,MAGvDA,KAAK6zH,cAAgB,GAEE,OAAnB7zH,KAAK8zH,WAEL9zH,KAAK8zH,UAAUjoH,OAGnB7L,KAAKg1H,OAAO/vF,SAASjlC,KAAMw2H,KAiBnCC,OAAQ,SAAU/zF,EAAU6mC,EAAMiN,QAEjBlwE,IAATijE,IAAsBA,GAAO,QAClBjjE,IAAXkwE,IAAwBA,EAASx2E,KAAK6zH,eAEtC7zH,KAAK2mC,SAKT3mC,KAAKqpE,KAAKmN,EAAQ,EAAG,EAAGjN,GAExBvpE,KAAK02H,OAAOh0F,EAAU,KAY1Bi0F,QAAS,SAAUj0F,GAEf1iC,KAAK02H,OAAOh0F,EAAU,IAa1Bg0F,OAAQ,SAAUh0F,EAAUtB,GAEnBphC,KAAK25G,YAAa35G,KAAK2mC,QAAUvF,IAAWphC,KAAKohC,cAKrC96B,IAAbo8B,IAA0BA,EAAW,UAE1Bp8B,IAAX86B,GAMJphC,KAAK8zH,UAAY9zH,KAAK8C,KAAKi2B,IAAI+4C,MAAM9xE,MAAMkxB,IAAMkQ,OAAQA,GAAUsB,EAAUlhC,EAAO6sG,OAAOK,OAAOC,MAAM,GAExG3uG,KAAK8zH,UAAU5gB,WAAWn6E,IAAI/4B,KAAK42H,aAAc52H,OAN7CM,QAAQ0Z,KAAK,+CAgBrB48G,aAAc,WAEV52H,KAAKoiC,eAAe6C,SAASjlC,KAAMA,KAAKohC,QAEpB,IAAhBphC,KAAKohC,QAELphC,KAAK6L,QAgBbgrH,mBAAoB,SAAUC,GAItB92H,KAAK8rH,eAAiB9rH,KAAKq0H,SAE3Br0H,KAAKs0H,cAAgBwC,EACrB92H,KAAKq0H,OAAOjzF,OAASphC,KAAKs0H,cAAgBt0H,KAAKm1H,UAWvD3yH,QAAS,SAAUuZ,QAEAzV,IAAXyV,IAAwBA,GAAS,GAErC/b,KAAKu0H,iBAAkB,EACvBv0H,KAAKw0H,wBAA0Bz4G,EAC/B/b,KAAK6L,OAEDkQ,EAEA/b,KAAK8C,KAAKojC,MAAMnqB,OAAO/b,OAIvBA,KAAKszH,WACLtzH,KAAKyN,QAAU,KACfzN,KAAKo1H,QAAU,KACfp1H,KAAKk0H,aAAe,KAEpBl0H,KAAK80H,UAAU/oF,UACf/rC,KAAK+0H,OAAOhpF,UACZ/rC,KAAKsoC,QAAQyD,UACb/rC,KAAKwoC,SAASuD,UACd/rC,KAAK+yG,OAAOhnE,UACZ/rC,KAAKg1H,OAAOjpF,UACZ/rC,KAAKi1H,OAAOlpF,UACZ/rC,KAAKk1H,iBAAiBnpF,aAMlCvqC,EAAOm1E,MAAMr0E,UAAUC,YAAcf,EAAOm1E,MAO5C/vE,OAAOuF,eAAe3K,EAAOm1E,MAAMr0E,UAAW,cAE1CwE,IAAK,WACD,OAAO9G,KAAK8C,KAAK6W,MAAM0oG,SAASriH,KAAK4S,KAAKytG,cAUlDz5G,OAAOuF,eAAe3K,EAAOm1E,MAAMr0E,UAAW,aAE1CwE,IAAK,WACD,OAAO9G,KAAK8C,KAAK6W,MAAM8oG,eAAeziH,KAAK4S,QASnDhM,OAAOuF,eAAe3K,EAAOm1E,MAAMr0E,UAAW,QAE1CwE,IAAK,WAED,OAAQ9G,KAAKq1H,QAAUr1H,KAAK8C,KAAKojC,MAAMqwF,MAI3CxvH,IAAK,SAAUC,IAEXA,EAAQA,IAAS,KAEHhH,KAAKq1H,SAKfruH,GAEAhH,KAAKq1H,QAAS,EACdr1H,KAAK01H,YAAc11H,KAAKw1H,YAEpBx1H,KAAK6rH,cAEL7rH,KAAKo0H,SAASQ,KAAK5tH,MAAQ,EAEtBhH,KAAK8rH,eAAiB9rH,KAAKq0H,SAEhCr0H,KAAKq0H,OAAOjzF,OAAS,KAKzBphC,KAAKq1H,QAAS,EAEVr1H,KAAK6rH,cAEL7rH,KAAKo0H,SAASQ,KAAK5tH,MAAQhH,KAAK01H,YAE3B11H,KAAK8rH,eAAiB9rH,KAAKq0H,SAEhCr0H,KAAKq0H,OAAOjzF,OAASphC,KAAK01H,cAIlC11H,KAAKi1H,OAAOhwF,SAASjlC,UAU7B4G,OAAOuF,eAAe3K,EAAOm1E,MAAMr0E,UAAW,UAE1CwE,IAAK,WACD,OAAO9G,KAAKm1H,SAGhBpuH,IAAK,SAAUC,GAGPhH,KAAK8rH,gBAEL9kH,EAAQhH,KAAK8C,KAAKuiC,KAAK9I,MAAMv1B,EAAO,EAAG,IAGvChH,KAAKq1H,OAELr1H,KAAK01H,YAAc1uH,GAIvBhH,KAAKw1H,YAAcxuH,EACnBhH,KAAKm1H,QAAUnuH,EAEXhH,KAAK6rH,cAEL7rH,KAAKo0H,SAASQ,KAAK5tH,MAAQA,EAEtBhH,KAAK8rH,eAAiB9rH,KAAKq0H,SAEhCr0H,KAAKq0H,OAAOjzF,OAASphC,KAAKs0H,cAAgBttH,OA+BtDxF,EAAOu7C,aAAe,SAAUj6C,GAK5B9C,KAAK8C,KAAOA,EAKZ9C,KAAK+2H,cAAgB,IAAIv1H,EAAO0gC,OAMhCliC,KAAKg3H,eAAiB,IAAIx1H,EAAO0gC,OAMjCliC,KAAKi1H,OAAS,IAAIzzH,EAAO0gC,OAMzBliC,KAAKi3H,SAAW,IAAIz1H,EAAO0gC,OAO3BliC,KAAKk3H,cAAgB,IAAI11H,EAAO0gC,OAMhCliC,KAAKyN,QAAU,KAMfzN,KAAK6rH,eAAgB,EAMrB7rH,KAAK8rH,eAAgB,EAMrB9rH,KAAKspH,SAAU,EAMftpH,KAAKqzH,iBAAkB,EAMvBrzH,KAAKsgH,aAAc,EAMnBtgH,KAAKm3H,SAAW,GAShBn3H,KAAKs/C,aAAc,EAOnBt/C,KAAKo3H,YAAa,EAOlBp3H,KAAKq1H,QAAS,EAOdr1H,KAAKq3H,cAAgB,KAOrBr3H,KAAKm1H,QAAU,EAOfn1H,KAAKs3H,WAMLt3H,KAAKu3H,WAAa,IAAI/1H,EAAO+1C,SAM7Bv3C,KAAKw3H,WAAY,EAMjBx3H,KAAKy3H,eAAiB,KAMtBz3H,KAAK03H,cAAgB,MAIzBl2H,EAAOu7C,aAAaz6C,WAOhBmhC,KAAM,WAEF,IAAI5Z,EAAS7pB,KAAK8C,KAAK+mB,OACnB+7E,EAAe51F,OAAO41F,aAQ1B,GANI/7E,EAAO41B,MAA2B,IAApB51B,EAAOg0B,WAErB79C,KAAKm3H,SAAW,GAIhBvxB,EACJ,CAEI,IAAkC,IAA9BA,EAAa+xB,aAIb,OAFA33H,KAAKspH,SAAU,OACftpH,KAAKsgH,aAAc,GAKvB,IAAqC,IAAjC1a,EAAagyB,gBAIb,OAFA53H,KAAK8rH,eAAgB,OACrB9rH,KAAKsgH,aAAc,GAK3B,GAAI1a,GAAgBA,EAAaiyB,aAE7B73H,KAAKyN,QAAUm4F,EAAaiyB,kBAI5B,GAAM7nH,OAAqB,aAEvB,IACIhQ,KAAKyN,QAAU,IAAIuC,OAAqB,aAC1C,MAAOzP,GACLP,KAAKyN,QAAU,KACfzN,KAAK6rH,eAAgB,EACrB7rH,KAAKsgH,aAAc,OAGtB,GAAMtwG,OAA2B,mBAElC,IACIhQ,KAAKyN,QAAU,IAAIuC,OAA2B,mBAChD,MAAOzP,GACLP,KAAKyN,QAAU,KACfzN,KAAK6rH,eAAgB,EACrB7rH,KAAKsgH,aAAc,EAK/B,GAAqB,OAAjBtgH,KAAKyN,QACT,CAEI,QAAwBnH,IAApB0J,OAAc,MAGd,YADAhQ,KAAKspH,SAAU,GAKftpH,KAAK8rH,eAAgB,OAKzB9rH,KAAK6rH,eAAgB,OAEWvlH,IAA5BtG,KAAKyN,QAAQinH,WAEb10H,KAAKy0H,WAAaz0H,KAAKyN,QAAQknH,iBAI/B30H,KAAKy0H,WAAaz0H,KAAKyN,QAAQinH,aAGnC10H,KAAKy0H,WAAWG,KAAK5tH,MAAQ,EAC7BhH,KAAKy0H,WAAWx6D,QAAQj6D,KAAKyN,QAAQyvE,aAGpCl9E,KAAKspH,SAGFz/F,EAAO87E,oBAEP3lG,KAAK83H,eAIT93H,KAAK6rH,eAAiBhiG,EAAOw9B,QAAUx9B,EAAO60E,eAAiB,IAE/Dp+F,QAAQ2P,IAAI,6IAWpB6nH,aAAc,WAEN93H,KAAKspH,SAAYt5G,OAAO41F,eAAqD,IAArC51F,OAAO41F,aAAa+xB,eAKhE33H,KAAK8C,KAAKkjC,MAAM6d,qBAAqB7jD,KAAK+3H,OAAQ/3H,MAAM,GAExDA,KAAKsgH,aAAc,IAUvB0X,eAAgB,WAEZh4H,KAAKsgH,aAAc,EACnBtgH,KAAKq3H,cAAgB,KACrBr3H,KAAKk3H,cAAcjyF,YAUvB8yF,OAAQ,WAEJ,GAAI/3H,KAAKspH,UAAYtpH,KAAKsgH,aAAsC,OAAvBtgH,KAAKq3H,cAE1C,OAAO,EAIX,GAAIr3H,KAAK8rH,cAEL9rH,KAAKg4H,sBAEJ,GAAIh4H,KAAK6rH,cACd,CAII,IAAIhxG,EAAS7a,KAAKyN,QAAQqV,aAAa,EAAG,EAAG,OAC7C9iB,KAAKq3H,cAAgBr3H,KAAKyN,QAAQ2oH,qBAClCp2H,KAAKq3H,cAAcx8G,OAASA,EAC5B7a,KAAKq3H,cAAcp9D,QAAQj6D,KAAKyN,QAAQyvE,kBAEP52E,IAA7BtG,KAAKq3H,cAAcrrH,MAEnBhM,KAAKq3H,cAAcY,OAAO,GAI1Bj4H,KAAKq3H,cAAcrrH,MAAM,GAIY,cAArChM,KAAKq3H,cAAc5pH,QAAQ04B,OAC3BnmC,KAAKq3H,cAAc5pH,QAAQg7B,SAKnC,OAAO,GASXyvF,QAAS,WAEL,IAAIl4H,KAAKspH,QAKT,IAAK,IAAI5mH,EAAI,EAAGA,EAAI1C,KAAKs3H,QAAQ30H,OAAQD,IAEjC1C,KAAKs3H,QAAQ50H,IAEb1C,KAAKs3H,QAAQ50H,GAAGmJ,QAW5B2mG,SAAU,WAEN,IAAIxyG,KAAKspH,QAKT,IAAK,IAAI5mH,EAAI,EAAGA,EAAI1C,KAAKs3H,QAAQ30H,OAAQD,IAEjC1C,KAAKs3H,QAAQ50H,IAEb1C,KAAKs3H,QAAQ50H,GAAG6lC,SAW5BkqE,UAAW,WAEP,IAAIzyG,KAAKspH,QAKT,IAAK,IAAI5mH,EAAI,EAAGA,EAAI1C,KAAKs3H,QAAQ30H,OAAQD,IAEjC1C,KAAKs3H,QAAQ50H,IAEb1C,KAAKs3H,QAAQ50H,GAAG+lC,UAa5BmlF,OAAQ,SAAUh7G,EAAKszB,GAEnBA,EAAQA,GAAS,KAEjB,IAAIiyF,EAAYn4H,KAAK8C,KAAK6W,MAAMkqG,aAAajxG,GAE7C,GAAIulH,IAE4C,IAAxCn4H,KAAK8C,KAAK6W,MAAM8oG,eAAe7vG,GACnC,CACI5S,KAAK8C,KAAK6W,MAAM4oG,YAAY3vG,EAAK,cAAc,GAE/C,IAAIo5B,EAAQhsC,KAEZ,IACIA,KAAKyN,QAAQ2qH,gBAAgBD,EAAW,SAAUt9G,GAE1CA,IAEAmxB,EAAMlpC,KAAK6W,MAAM6oG,aAAa5vG,EAAKiI,GACnCmxB,EAAM+qF,cAAc9xF,SAASryB,EAAKszB,MAI9C,MAAO53B,OAiBnB+pH,mBAAoB,SAAUC,EAAOnkF,EAAUtL,GAEtB,iBAAVyvF,IAEPA,GAAUA,IAGdt4H,KAAKu3H,WAAW3xF,QAEhB,IAAK,IAAIljC,EAAI,EAAGA,EAAI41H,EAAM31H,OAAQD,IAE1B41H,EAAM51H,aAAclB,EAAOm1E,MAEtB32E,KAAK8C,KAAK6W,MAAM8oG,eAAe6V,EAAM51H,GAAGkQ,MAEzC5S,KAAKu3H,WAAWx+F,IAAIu/F,EAAM51H,GAAGkQ,KAG3B5S,KAAK8C,KAAK6W,MAAM8oG,eAAe6V,EAAM51H,KAE3C1C,KAAKu3H,WAAWx+F,IAAIu/F,EAAM51H,IAKJ,IAA1B1C,KAAKu3H,WAAWr/E,OAEhBl4C,KAAKw3H,WAAY,EACjBrjF,EAAS5vC,KAAKskC,KAId7oC,KAAKw3H,WAAY,EACjBx3H,KAAKy3H,eAAiBtjF,EACtBn0C,KAAK03H,cAAgB7uF,IAW7BlE,OAAQ,WAEJ,IAAI3kC,KAAKspH,QAAT,EAKItpH,KAAKsgH,aAAsC,OAAvBtgH,KAAKq3H,eAA2Br3H,KAAKq3H,cAAckB,gBAAkBv4H,KAAKq3H,cAAcmB,eAAiBx4H,KAAKq3H,cAAckB,gBAAkBv4H,KAAKq3H,cAAcoB,gBAErLz4H,KAAKg4H,iBAGT,IAAK,IAAIt1H,EAAI,EAAGA,EAAI1C,KAAKs3H,QAAQ30H,OAAQD,IAErC1C,KAAKs3H,QAAQ50H,GAAGiiC,SAGpB,GAAI3kC,KAAKw3H,UACT,CAGI,IAFA,IAAI5kH,EAAM5S,KAAKu3H,WAAWtoE,MAEnBr8C,GAEC5S,KAAK8C,KAAK6W,MAAM8oG,eAAe7vG,IAE/B5S,KAAKu3H,WAAWx7G,OAAOnJ,GAG3BA,EAAM5S,KAAKu3H,WAAW5iF,KAGI,IAA1B30C,KAAKu3H,WAAWr/E,QAEhBl4C,KAAKw3H,WAAY,EACjBx3H,KAAKy3H,eAAelzH,KAAKvE,KAAK03H,mBAgB1C3+F,IAAK,SAAUnmB,EAAKwuB,EAAQmoC,EAAMtP,QAEf3zD,IAAX86B,IAAwBA,EAAS,QACxB96B,IAATijE,IAAsBA,GAAO,QACjBjjE,IAAZ2zD,IAAyBA,EAAUj6D,KAAKqzH,iBAE5C,IAAIntF,EAAQ,IAAI1kC,EAAOm1E,MAAM32E,KAAK8C,KAAM8P,EAAKwuB,EAAQmoC,EAAMtP,GAI3D,OAFAj6D,KAAKs3H,QAAQ5vH,KAAKw+B,GAEXA,GAWXisC,UAAW,SAASv/D,GAIhB,OAFkB,IAAIpR,EAAOo1E,YAAY52E,KAAK8C,KAAM8P,IAaxDmJ,OAAQ,SAAUmqB,GAId,IAFA,IAAIxjC,EAAI1C,KAAKs3H,QAAQ30H,OAEdD,KAEH,GAAI1C,KAAKs3H,QAAQ50H,KAAOwjC,EAIpB,OAFAlmC,KAAKs3H,QAAQ50H,GAAGF,SAAQ,GACxBxC,KAAKs3H,QAAQ5uH,OAAOhG,EAAG,IAChB,EAIf,OAAO,GAUX+mC,UAAW,WAEPzpC,KAAKk4H,UAEL,IAAK,IAAIx1H,EAAI,EAAGA,EAAI1C,KAAKs3H,QAAQ30H,OAAQD,IAEjC1C,KAAKs3H,QAAQ50H,IAEb1C,KAAKs3H,QAAQ50H,GAAGF,UAIxBxC,KAAKs3H,QAAQ30H,OAAS,GAY1B+1H,YAAa,SAAU9lH,GAKnB,IAHA,IAAIlQ,EAAI1C,KAAKs3H,QAAQ30H,OACjB+G,EAAU,EAEPhH,KAEC1C,KAAKs3H,QAAQ50H,GAAGkQ,MAAQA,IAExB5S,KAAKs3H,QAAQ50H,GAAGF,SAAQ,GACxBxC,KAAKs3H,QAAQ5uH,OAAOhG,EAAG,GACvBgH,KAIR,OAAOA,GAaX2/D,KAAM,SAAUz2D,EAAKwuB,EAAQmoC,GAEzB,IAAIvpE,KAAKspH,QAAT,CAKA,IAAIpjF,EAAQlmC,KAAK+4B,IAAInmB,EAAKwuB,EAAQmoC,GAIlC,OAFArjC,EAAMmjC,OAECnjC,IAUXqZ,QAAS,WAEL,IAAIv/C,KAAKq1H,OAAT,CAKAr1H,KAAKq1H,QAAS,EAEVr1H,KAAK6rH,gBAEL7rH,KAAK01H,YAAc11H,KAAKy0H,WAAWG,KAAK5tH,MACxChH,KAAKy0H,WAAWG,KAAK5tH,MAAQ,GAIjC,IAAK,IAAItE,EAAI,EAAGA,EAAI1C,KAAKs3H,QAAQ30H,OAAQD,IAEjC1C,KAAKs3H,QAAQ50H,GAAGopH,gBAEhB9rH,KAAKs3H,QAAQ50H,GAAG6zH,MAAO,GAI/Bv2H,KAAKi1H,OAAOhwF,aAUhBya,UAAW,WAEP,GAAK1/C,KAAKq1H,SAAUr1H,KAAKo3H,WAAzB,CAKAp3H,KAAKq1H,QAAS,EAEVr1H,KAAK6rH,gBAEL7rH,KAAKy0H,WAAWG,KAAK5tH,MAAQhH,KAAK01H,aAItC,IAAK,IAAIhzH,EAAI,EAAGA,EAAI1C,KAAKs3H,QAAQ30H,OAAQD,IAEjC1C,KAAKs3H,QAAQ50H,GAAGopH,gBAEhB9rH,KAAKs3H,QAAQ50H,GAAG6zH,MAAO,GAI/Bv2H,KAAKi3H,SAAShyF,aASlBziC,QAAS,WAELxC,KAAKypC,YAELzpC,KAAK+2H,cAAchrF,UAEf/rC,KAAKyN,UAEDuC,OAAO41F,aAGP51F,OAAO41F,aAAaiyB,aAAe73H,KAAKyN,QAIpCzN,KAAKyN,QAAQkrH,OAEb34H,KAAKyN,QAAQkrH,WASjCn3H,EAAOu7C,aAAaz6C,UAAUC,YAAcf,EAAOu7C,aAMnDn2C,OAAOuF,eAAe3K,EAAOu7C,aAAaz6C,UAAW,QAEjDwE,IAAK,WAED,OAAO9G,KAAKq1H,QAIhBtuH,IAAK,SAAUC,GAIX,GAFAA,EAAQA,IAAS,EAGjB,CACI,GAAIhH,KAAKq1H,OAEL,OAGJr1H,KAAKo3H,YAAa,EAClBp3H,KAAKu/C,cAGT,CACI,IAAKv/C,KAAKq1H,OAEN,OAGJr1H,KAAKo3H,YAAa,EAClBp3H,KAAK0/C,gBAUjB94C,OAAOuF,eAAe3K,EAAOu7C,aAAaz6C,UAAW,UAEjDwE,IAAK,WAED,OAAO9G,KAAKm1H,SAIhBpuH,IAAK,SAAUC,GAWX,GATIA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRhH,KAAKm1H,UAAYnuH,EACrB,CAGI,GAFAhH,KAAKm1H,QAAUnuH,EAEXhH,KAAK6rH,cAEL7rH,KAAKy0H,WAAWG,KAAK5tH,MAAQA,OAK7B,IAAK,IAAItE,EAAI,EAAGA,EAAI1C,KAAKs3H,QAAQ30H,OAAQD,IAEjC1C,KAAKs3H,QAAQ50H,GAAGopH,eAEhB9rH,KAAKs3H,QAAQ50H,GAAGm0H,mBAAmB7vH,GAK/ChH,KAAKg3H,eAAe/xF,SAASj+B,OA0EzCxF,EAAO+6C,aAAe,SAAUz5C,EAAMlF,EAAOC,GAQzCmC,KAAK8C,KAAOA,EAQZ9C,KAAK44H,IAAMp3H,EAAO8tC,IAOlBtvC,KAAKs3D,KAAO,KAOZt3D,KAAKpC,MAAQ,EAOboC,KAAKnC,OAAS,EASdmC,KAAK64H,SAAW,KAUhB74H,KAAKs1F,SAAW,KAShBt1F,KAAK84H,UAAY,KAUjB94H,KAAK+4H,UAAY,KASjB/4H,KAAKoX,OAAS,IAAI5V,EAAOX,MAUzBb,KAAKg5H,gBAAiB,EAUtBh5H,KAAKi5H,eAAgB,EAWrBj5H,KAAKk5H,sBAAuB,EAO5Bl5H,KAAKm5H,wBAAyB,EAO9Bn5H,KAAKo5H,sBAAuB,EA0B5Bp5H,KAAKq5H,oBAAsB,IAAI73H,EAAO0gC,OAUtCliC,KAAKs5H,0BAA4B,IAAI93H,EAAO0gC,OAU5CliC,KAAKu5H,0BAA4B,IAAI/3H,EAAO0gC,OAY5CliC,KAAKw5H,wBAAyB,EAe9Bx5H,KAAKy5H,iBAAmB,KAQxBz5H,KAAK05H,yBAA2B,KAuBhC15H,KAAK25H,iBAAmB,IAAIn4H,EAAO0gC,OAWnCliC,KAAK45H,mBAAqB,IAAIp4H,EAAO0gC,OAWrCliC,KAAK65H,kBAAoB,IAAIr4H,EAAO0gC,OAUpCliC,KAAK85H,kBAAoB95H,KAAK44H,IAAImB,uBAOlC/5H,KAAKsrB,YAAc,IAAI9pB,EAAOX,MAAM,EAAG,GAQvCb,KAAKg6H,oBAAsB,IAAIx4H,EAAOX,MAAM,EAAG,GAS/Cb,KAAKy8G,QAAUjpF,KAAM,EAAG2C,IAAK,EAAG5C,MAAO,EAAG6C,OAAQ,EAAGtyB,EAAG,EAAGC,EAAG,GAO9D/D,KAAK6E,OAAS,IAAIrD,EAAOS,UAOzBjC,KAAKi6H,YAAc,EAOnBj6H,KAAKk6H,kBAAoB,EAQzBl6H,KAAKgwC,MAAQ,KAebhwC,KAAKm6H,mBACD5mG,MAAO,SACP6C,OAAQ,IA6BZp2B,KAAKo6H,eACDC,oBAAoB,EACpBC,oBAAqB,KACrBC,WAAW,EACXC,SAAU,KACVC,4BAA4B,EAC5BC,iBAAiB,EACjBC,gBAAiB,IAQrB36H,KAAK46H,WAAap5H,EAAO+6C,aAAas+E,SAOtC76H,KAAK86H,qBAAuBt5H,EAAO+6C,aAAas+E,SAWhD76H,KAAK+6H,gBAAiB,EAYtB/6H,KAAKsmG,WAAa,KAOlBtmG,KAAKg7H,kBAAoB,IAAIx5H,EAAOX,MAAM,EAAG,GAW7Cb,KAAKi7H,oBAAsB,IAkB3Bj7H,KAAKk7H,aAAe,IAAI15H,EAAO0gC,OAO/BliC,KAAKm7H,SAAW,KAOhBn7H,KAAKo7H,gBAAkB,KAMvBp7H,KAAKq7H,kBAAoB,KAOzBr7H,KAAKs7H,mBAAqB,KAO1Bt7H,KAAKu7H,UAAY,IAAI/5H,EAAOS,UAO5BjC,KAAKw7H,iBAAmB,IAAIh6H,EAAOX,MAAM,EAAG,GAO5Cb,KAAKy7H,eAAiB,IAAIj6H,EAAOX,MAAM,EAAG,GAO1Cb,KAAK07H,YAAc,EASnB17H,KAAK27H,gBAAkB,EAOvB37H,KAAK47H,qBAAuB,IAO5B57H,KAAK67H,cAAgB,IAAIr6H,EAAOS,UAOhCjC,KAAK87H,YAAc,IAAIt6H,EAAOS,UAO9BjC,KAAK+7H,wBAA0B,IAAIv6H,EAAOS,UAO1CjC,KAAKg8H,sBAAwB,IAAIx6H,EAAOS,UAMxCjC,KAAKi8H,SAAU,EAEXn5H,EAAKsT,QAELpW,KAAKovC,YAAYtsC,EAAKsT,QAG1BpW,KAAKk8H,WAAWt+H,EAAOC,IAU3B2D,EAAO+6C,aAAa4/E,UAAY,EAQhC36H,EAAO+6C,aAAas+E,SAAW,EAQ/Br5H,EAAO+6C,aAAa6/E,SAAW,EAQ/B56H,EAAO+6C,aAAa8/E,OAAS,EAQ7B76H,EAAO+6C,aAAa+/E,WAAa,EAQjC96H,EAAO+6C,aAAaggF,OAChB,YACA,WACA,WACA,SACA,cAGJ/6H,EAAO+6C,aAAaj6C,WAQhBmhC,KAAM,WAIF,IAAI+4F,EAASx8H,KAAKo6H,cAElBoC,EAAOnC,mBAAqBr6H,KAAK8C,KAAK+mB,OAAO+2E,aAAe5gG,KAAK8C,KAAK+mB,OAAOs0B,SAGxEn+C,KAAK8C,KAAK+mB,OAAO22E,MAASxgG,KAAK8C,KAAK+mB,OAAOy1E,QAAWt/F,KAAK8C,KAAK+mB,OAAOszE,UAEpEn9F,KAAK8C,KAAK+mB,OAAOu9B,UAAYpnD,KAAK8C,KAAK+mB,OAAOw9B,OAE9Cm1E,EAAOhC,SAAW,IAAIh5H,EAAOX,MAAM,EAAG,GAItC27H,EAAOhC,SAAW,IAAIh5H,EAAOX,MAAM,EAAG,IAI1Cb,KAAK8C,KAAK+mB,OAAOszE,SAEjBq/B,EAAOlC,oBAAsB,SAC7BkC,EAAO7B,gBAAkB,mBAIzB6B,EAAOlC,oBAAsB,GAC7BkC,EAAO7B,gBAAkB,IAK7B,IAAI3uF,EAAQhsC,KAEZA,KAAKy8H,mBAAqB,SAASzsF,GAC/B,OAAOhE,EAAM0wF,kBAAkB1sF,IAGnChwC,KAAK28H,cAAgB,SAAS3sF,GAC1B,OAAOhE,EAAM4wF,aAAa5sF,IAI9BhgC,OAAOogC,iBAAiB,oBAAqBpwC,KAAKy8H,oBAAoB,GACtEzsH,OAAOogC,iBAAiB,SAAUpwC,KAAK28H,eAAe,GAElD38H,KAAKo6H,cAAcC,qBAEnBr6H,KAAK68H,kBAAoB,SAAS7sF,GAC9B,OAAOhE,EAAM8wF,iBAAiB9sF,IAGlChwC,KAAK+8H,iBAAmB,SAAS/sF,GAC7B,OAAOhE,EAAMgxF,gBAAgBhtF,IAGjCL,SAASS,iBAAiB,yBAA0BpwC,KAAK68H,mBAAmB,GAC5EltF,SAASS,iBAAiB,sBAAuBpwC,KAAK68H,mBAAmB,GACzEltF,SAASS,iBAAiB,qBAAsBpwC,KAAK68H,mBAAmB,GACxEltF,SAASS,iBAAiB,mBAAoBpwC,KAAK68H,mBAAmB,GAEtEltF,SAASS,iBAAiB,wBAAyBpwC,KAAK+8H,kBAAkB,GAC1EptF,SAASS,iBAAiB,qBAAsBpwC,KAAK+8H,kBAAkB,GACvEptF,SAASS,iBAAiB,oBAAqBpwC,KAAK+8H,kBAAkB,GACtEptF,SAASS,iBAAiB,kBAAmBpwC,KAAK+8H,kBAAkB,IAGxE/8H,KAAK8C,KAAK0lC,SAASzP,IAAI/4B,KAAKi9H,aAAcj9H,MAI1CA,KAAK44H,IAAIrpF,UAAUvvC,KAAK8C,KAAK+T,OAAQ7W,KAAKoX,QAE1CpX,KAAK6E,OAAOqwB,MAAMl1B,KAAKoX,OAAOtT,EAAG9D,KAAKoX,OAAOrT,EAAG/D,KAAKpC,MAAOoC,KAAKnC,QAEjEmC,KAAKk9H,YAAYl9H,KAAK8C,KAAKlF,MAAOoC,KAAK8C,KAAKjF,QAG5CmC,KAAK85H,kBAAoB95H,KAAK44H,IAAImB,qBAAqB/5H,KAAKo6H,cAAcE,qBAEtE94H,EAAO27H,WAEPn9H,KAAKs3D,KAAO,IAAI91D,EAAO27H,SAASn9H,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAG3DmC,KAAKi8H,SAAU,EAEgB,OAA3Bj8H,KAAKq7H,oBAELr7H,KAAKlC,UAAYkC,KAAKq7H,kBACtBr7H,KAAKq7H,kBAAoB,OAYjCjsF,YAAa,SAAUh5B,QAES9P,IAAxB8P,EAAkB,YAEdpW,KAAKi8H,QAELj8H,KAAKlC,UAAYsY,EAAkB,UAInCpW,KAAKq7H,kBAAoBjlH,EAAkB,gBAIb9P,IAAlC8P,EAA4B,sBAE5BpW,KAAKo9H,oBAAsBhnH,EAA4B,qBAGvDA,EAAyB,mBAEzBpW,KAAKy5H,iBAAmBrjH,EAAyB,kBAGrDpW,KAAKq9H,sBAAwBjnH,EAAOknH,SAAU,EAC9Ct9H,KAAKu9H,oBAAsBnnH,EAAOonH,SAAU,EAExCpnH,EAAOqnH,QAAUrnH,EAAOsnH,QAExB19H,KAAK29H,aAAavnH,EAAOqnH,OAAQrnH,EAAOsnH,OAAQtnH,EAAOwnH,MAAOxnH,EAAOynH,QAe7E3B,WAAY,SAAUt+H,EAAOC,GAEzB,IAAI+J,EACA8yB,EAAO,IAAIl5B,EAAOS,UAEG,KAArBjC,KAAK8C,KAAKzB,SAEsB,iBAArBrB,KAAK8C,KAAKzB,OAGjBuG,EAAS+nC,SAASw2D,eAAenmG,KAAK8C,KAAKzB,QAEtCrB,KAAK8C,KAAKzB,QAAwC,IAA9BrB,KAAK8C,KAAKzB,OAAOqyB,WAG1C9rB,EAAS5H,KAAK8C,KAAKzB,SAKtBuG,GAaD5H,KAAKsmG,WAAa1+F,EAClB5H,KAAK+6H,gBAAiB,EAEtB/6H,KAAK89H,gBAAgB99H,KAAK67H,eAE1BnhG,EAAK98B,MAAQoC,KAAK67H,cAAcj+H,MAChC88B,EAAK78B,OAASmC,KAAK67H,cAAch+H,OAEjCmC,KAAKoX,OAAOrQ,IAAI/G,KAAK67H,cAAc/3H,EAAG9D,KAAK67H,cAAc93H,KAlBzD/D,KAAKsmG,WAAa,KAClBtmG,KAAK+6H,gBAAiB,EAEtBrgG,EAAK98B,MAAQoC,KAAK44H,IAAImF,aAAangI,MACnC88B,EAAK78B,OAASmC,KAAK44H,IAAImF,aAAalgI,OAEpCmC,KAAKoX,OAAOrQ,IAAI,EAAG,IAevB,IAAI60E,EAAW,EACXC,EAAY,EAEK,iBAAVj+E,EAEPg+E,EAAWh+E,GAKXoC,KAAKg7H,kBAAkBl3H,EAAIkvB,SAASp1B,EAAO,IAAM,IACjDg+E,EAAWlhD,EAAK98B,MAAQoC,KAAKg7H,kBAAkBl3H,GAG7B,iBAAXjG,EAEPg+E,EAAYh+E,GAKZmC,KAAKg7H,kBAAkBj3H,EAAIivB,SAASn1B,EAAQ,IAAM,IAClDg+E,EAAYnhD,EAAK78B,OAASmC,KAAKg7H,kBAAkBj3H,GAGrD63E,EAAWn4E,KAAKsL,MAAM6sE,GACtBC,EAAYp4E,KAAKsL,MAAM8sE,GAEvB77E,KAAKu7H,UAAUrmG,MAAM,EAAG,EAAG0mD,EAAUC,GAErC77E,KAAKg+H,iBAAiBpiD,EAAUC,GAAW,IAU/CohD,aAAc,WAEVj9H,KAAKi+H,aAAY,IAmBrBf,YAAa,SAAUt/H,EAAOC,GAE1BmC,KAAKu7H,UAAUrmG,MAAM,EAAG,EAAGt3B,EAAOC,GAE9BmC,KAAKk+H,mBAAqB18H,EAAO+6C,aAAa8/E,QAE9Cr8H,KAAKg+H,iBAAiBpgI,EAAOC,GAAQ,GAGzCmC,KAAKi+H,aAAY,IAsBrBN,aAAc,SAAUQ,EAAQC,EAAQC,EAAOC,EAAOL,EAAa75F,GAE/DpkC,KAAKw7H,iBAAiBtmG,MAAMipG,EAAQC,GACpCp+H,KAAKy7H,eAAevmG,MAAc,EAARmpG,EAAmB,EAARC,QAEjBh4H,IAAhB23H,IAA6BA,GAAc,QACjC33H,IAAV89B,IAAuBA,GAAQ,GAE/B65F,GAEAj+H,KAAKi+H,YAAY75F,IA+BzBm6F,kBAAmB,SAAUpqF,EAAU1mC,GAEnCzN,KAAKm7H,SAAWhnF,EAChBn0C,KAAKo7H,gBAAkB3tH,GAc3B+wH,iBAAkB,WAEd,IAAKh9H,EAAOS,UAAUo/B,eAAerhC,KAAMA,KAAK+7H,2BAC3Cv6H,EAAOS,UAAUo/B,eAAerhC,KAAK8C,KAAM9C,KAAKg8H,uBACrD,CACI,IAAIp+H,EAAQoC,KAAKpC,MACbC,EAASmC,KAAKnC,OAElBmC,KAAK+7H,wBAAwB7mG,MAAM,EAAG,EAAGt3B,EAAOC,GAChDmC,KAAKg8H,sBAAsB9mG,MAAM,EAAG,EAAGl1B,KAAK8C,KAAKlF,MAAOoC,KAAK8C,KAAKjF,QAE9DmC,KAAKs3D,MAELt3D,KAAKs3D,KAAK6jE,SAASv9H,EAAOC,GAG9BmC,KAAKk7H,aAAaj2F,SAASjlC,KAAMpC,EAAOC,GAGpCmC,KAAKk+H,mBAAqB18H,EAAO+6C,aAAa8/E,SAE9Cr8H,KAAK8C,KAAKqjC,MAAMjgC,OAAOtI,EAAOC,GAC9BmC,KAAK8C,KAAKmjC,KAAK//B,OAAOtI,EAAOC,MAqBzC4gI,UAAW,SAAU5F,EAAUC,EAAWxjC,EAAUyjC,GAEhD/4H,KAAK64H,SAAWA,EAChB74H,KAAK84H,UAAYA,OAEO,IAAbxjC,IAEPt1F,KAAKs1F,SAAWA,QAGK,IAAdyjC,IAEP/4H,KAAK+4H,UAAYA,IAWzBt0H,UAAW,WAEP,KAAIzE,KAAK8C,KAAKiiC,KAAKA,KAAQ/kC,KAAK07H,YAAc17H,KAAK27H,iBAAnD,CAKA,IAAI+C,EAAe1+H,KAAK27H,gBACxB37H,KAAK47H,qBAAuB8C,GAAgB,IAAM,EAAI,IAEtD1+H,KAAK44H,IAAIrpF,UAAUvvC,KAAK8C,KAAK+T,OAAQ7W,KAAKoX,QAE1C,IAAIunH,EAAY3+H,KAAK67H,cAAcj+H,MAC/BghI,EAAa5+H,KAAK67H,cAAch+H,OAChCgH,EAAS7E,KAAK89H,gBAAgB99H,KAAK67H,eAEnCgD,EAAgBh6H,EAAOjH,QAAU+gI,GAAa95H,EAAOhH,SAAW+gI,EAGhEE,EAAqB9+H,KAAK++H,0BAE1BF,GAAiBC,KAEb9+H,KAAKm7H,UAELn7H,KAAKm7H,SAAS52H,KAAKvE,KAAKo7H,gBAAiBp7H,KAAM6E,GAGnD7E,KAAKg/H,eAELh/H,KAAKw+H,oBAIT,IAAIS,EAAkC,EAAvBj/H,KAAK27H,gBAGhB37H,KAAK27H,gBAAkB+C,IAEvBO,EAAWx7H,KAAK21B,IAAIslG,EAAc1+H,KAAK47H,uBAG3C57H,KAAK27H,gBAAkBn6H,EAAOiC,KAAK84B,MAAM0iG,EAAU,GAAIj/H,KAAKi7H,qBAC5Dj7H,KAAK07H,YAAc17H,KAAK8C,KAAKiiC,KAAKA,OAUtC8B,YAAa,WAET7mC,KAAKyE,YAGLzE,KAAK27H,gBAAkB37H,KAAKi7H,qBAahC+C,iBAAkB,SAAUpgI,EAAOC,EAAQqI,GAEvClG,KAAKpC,MAAQA,EAAQoC,KAAKg7H,kBAAkBl3H,EAC5C9D,KAAKnC,OAASA,EAASmC,KAAKg7H,kBAAkBj3H,EAE9C/D,KAAK8C,KAAKlF,MAAQoC,KAAKpC,MACvBoC,KAAK8C,KAAKjF,OAASmC,KAAKnC,OAExBmC,KAAKk6H,kBAAoBl6H,KAAKpC,MAAQoC,KAAKnC,OAC3CmC,KAAKk/H,yBAEDh5H,IAGAlG,KAAK8C,KAAK8B,SAASsB,OAAOlG,KAAKpC,MAAOoC,KAAKnC,QAG3CmC,KAAK8C,KAAK2X,OAAOkrB,QAAQ3lC,KAAKpC,MAAOoC,KAAKnC,QAG1CmC,KAAK8C,KAAKE,MAAMkD,OAAOlG,KAAKpC,MAAOoC,KAAKnC,UAYhDqhI,uBAAwB,WAEpBl/H,KAAKsrB,YAAYxnB,EAAI9D,KAAK8C,KAAKlF,MAAQoC,KAAKpC,MAC5CoC,KAAKsrB,YAAYvnB,EAAI/D,KAAK8C,KAAKjF,OAASmC,KAAKnC,OAE7CmC,KAAKg6H,oBAAoBl2H,EAAI9D,KAAKpC,MAAQoC,KAAK8C,KAAKlF,MACpDoC,KAAKg6H,oBAAoBj2H,EAAI/D,KAAKnC,OAASmC,KAAK8C,KAAKjF,OAErDmC,KAAKi6H,YAAcj6H,KAAKpC,MAAQoC,KAAKnC,OAGjCmC,KAAK8C,KAAK+T,QAEV7W,KAAK44H,IAAIrpF,UAAUvvC,KAAK8C,KAAK+T,OAAQ7W,KAAKoX,QAG9CpX,KAAK6E,OAAOqwB,MAAMl1B,KAAKoX,OAAOtT,EAAG9D,KAAKoX,OAAOrT,EAAG/D,KAAKpC,MAAOoC,KAAKnC,QAG7DmC,KAAK8C,KAAKkjC,OAAShmC,KAAK8C,KAAKkjC,MAAMllC,OAEnCd,KAAK8C,KAAKkjC,MAAMllC,MAAMo0B,MAAMl1B,KAAKsrB,YAAYxnB,EAAG9D,KAAKsrB,YAAYvnB,IAmBzEo7H,iBAAkB,SAAUnG,EAAgBC,QAElB3yH,IAAlB2yH,IAA+BA,GAAgB,IAE5B,IAAnBD,IAA6C,IAAlBC,GAM/Bj5H,KAAKg5H,eAAiBA,EACtBh5H,KAAKi5H,cAAgBA,EAErBj5H,KAAKi+H,aAAY,IAPb39H,QAAQ0Z,KAAK,+EAmBrBolH,oBAAqB,SAAUC,GAE3B,MAAoB,qBAAhBA,GAAsD,uBAAhBA,EAE/B,WAEc,sBAAhBA,GAAuD,wBAAhBA,EAErC,YAIA,MAYfN,uBAAwB,WAEpB,IAAIO,EAAsBt/H,KAAK85H,kBAC3ByF,EAAsBv/H,KAAKk5H,qBAE/Bl5H,KAAK85H,kBAAoB95H,KAAK44H,IAAImB,qBAAqB/5H,KAAKo6H,cAAcE,qBAE1Et6H,KAAKk5H,qBAAwBl5H,KAAKg5H,iBAAmBh5H,KAAKw/H,aACrDx/H,KAAKi5H,gBAAkBj5H,KAAKy/H,WAEjC,IAAIC,EAAUJ,IAAwBt/H,KAAK85H,kBACvC6F,EAAqBJ,IAAwBv/H,KAAKk5H,qBAmBtD,OAjBIyG,IAEI3/H,KAAKk5H,qBAELl5H,KAAKs5H,0BAA0Br0F,WAI/BjlC,KAAKu5H,0BAA0Bt0F,aAInCy6F,GAAWC,IAEX3/H,KAAKq5H,oBAAoBp0F,SAASjlC,KAAMs/H,EAAqBC,GAG1DG,GAAWC,GAWtBjD,kBAAmB,SAAU1sF,GAEzBhwC,KAAKgwC,MAAQA,EAEbhwC,KAAKi+H,aAAY,IAWrBrB,aAAc,SAAU5sF,GAEpBhwC,KAAKgwC,MAAQA,EAEbhwC,KAAKi+H,aAAY,IAUrB2B,UAAW,WAEP,IAAIpF,EAAWx6H,KAAKo6H,cAAcI,SAE9BA,GAEAxqH,OAAOwqH,SAASA,EAAS12H,EAAG02H,EAASz2H,IAyB7CqlB,QAAS,WAELppB,KAAK4/H,YACL5/H,KAAKi+H,aAAY,IAUrBe,aAAc,WAEV,IAAIlhI,EAAYkC,KAAKk+H,iBAErB,GAAIpgI,IAAc0D,EAAO+6C,aAAa8/E,OAAtC,CAsDA,GAhDAr8H,KAAK4/H,YAED5/H,KAAKo6H,cAAcK,6BAInB9qF,SAASw1D,gBAAgBlqF,MAAM69G,UAAY9oH,OAAOkjB,YAAc,MAGhElzB,KAAKk5H,qBAELl5H,KAAK6/H,aAID/hI,IAAc0D,EAAO+6C,aAAa4/E,UAElCn8H,KAAK8/H,cAEAhiI,IAAc0D,EAAO+6C,aAAa6/E,UAElCp8H,KAAK+/H,cAAgB//H,KAAKggI,gBAC3BhgI,KAAKo6H,cAAcM,iBAKnB16H,KAAKigI,YAAW,GAChBjgI,KAAKkgI,cACLlgI,KAAKigI,cAILjgI,KAAKigI,aAGJniI,IAAc0D,EAAO+6C,aAAas+E,UAEvC76H,KAAKpC,MAAQoC,KAAK8C,KAAKlF,MACvBoC,KAAKnC,OAASmC,KAAK8C,KAAKjF,QAEnBC,IAAc0D,EAAO+6C,aAAa+/E,aAEvCt8H,KAAKpC,MAASoC,KAAK8C,KAAKlF,MAAQoC,KAAKw7H,iBAAiB13H,EAAK9D,KAAKy7H,eAAe33H,EAC/E9D,KAAKnC,OAAUmC,KAAK8C,KAAKjF,OAASmC,KAAKw7H,iBAAiBz3H,EAAK/D,KAAKy7H,eAAe13H,IAIpF/D,KAAKo6H,cAAcM,kBACnB58H,IAAc0D,EAAO+6C,aAAa6/E,UAAYt+H,IAAc0D,EAAO+6C,aAAa+/E,YACrF,CACI,IAAIz3H,EAAS7E,KAAK89H,gBAAgB99H,KAAK87H,aACvC97H,KAAKpC,MAAQ6F,KAAK21B,IAAIp5B,KAAKpC,MAAOiH,EAAOjH,OACzCoC,KAAKnC,OAAS4F,KAAK21B,IAAIp5B,KAAKnC,OAAQgH,EAAOhH,QAI/CmC,KAAKpC,MAAqB,EAAboC,KAAKpC,MAClBoC,KAAKnC,OAAuB,EAAdmC,KAAKnC,OAEnBmC,KAAKmgI,oBAhEDngI,KAAKogI,cAoFbtC,gBAAiB,SAAUl2H,GAEvB,IAAI/C,EAAS+C,GAAU,IAAIpG,EAAOS,UAC9BqkG,EAAatmG,KAAKggI,eAClBjC,EAAe/9H,KAAK44H,IAAImF,aACxBsC,EAAergI,KAAK44H,IAAIyH,aAE5B,GAAK/5B,EAKL,CAEI,IAAIg6B,EAAah6B,EAAWi6B,wBACxBC,EAAcl6B,EAAuB,aAAIA,EAAWm6B,aAAaF,wBAA0Bj6B,EAAWi6B,wBAE1G17H,EAAOqwB,MAAMorG,EAAW9sG,KAAOgtG,EAAWhtG,KAAM8sG,EAAWnqG,IAAMqqG,EAAWrqG,IAAKmqG,EAAW1iI,MAAO0iI,EAAWziI,QAE9G,IAAI6iI,EAAK1gI,KAAKm6H,kBAEd,GAAIuG,EAAGntG,MACP,CACQotG,EAA4B,WAAbD,EAAGntG,MAAqB8sG,EAAetC,EAC1Dl5H,EAAO0uB,MAAQ9vB,KAAK21B,IAAIv0B,EAAO0uB,MAAOotG,EAAa/iI,OAGvD,GAAI8iI,EAAGtqG,OACP,CACI,IAAIuqG,EAA6B,WAAdD,EAAGtqG,OAAsBiqG,EAAetC,EAC3Dl5H,EAAOuxB,OAAS3yB,KAAK21B,IAAIv0B,EAAOuxB,OAAQuqG,EAAa9iI,cArBzDgH,EAAOqwB,MAAM,EAAG,EAAG6oG,EAAangI,MAAOmgI,EAAalgI,QA6BxD,OAJAgH,EAAOqwB,MACHzxB,KAAK8xB,MAAM1wB,EAAOf,GAAIL,KAAK8xB,MAAM1wB,EAAOd,GACxCN,KAAK8xB,MAAM1wB,EAAOjH,OAAQ6F,KAAK8xB,MAAM1wB,EAAOhH,SAEzCgH,GAYXyvC,MAAO,SAAU3R,EAAYC,GAEP,MAAdD,IAEA3iC,KAAKq9H,sBAAwB16F,GAGjB,MAAZC,IAEA5iC,KAAKu9H,oBAAsB36F,IAenCg+F,YAAa,SAAUj+F,EAAYC,GAE/B,IAAIi+F,EAAe7gI,KAAK89H,gBAAgB99H,KAAK87H,aACzCjlH,EAAS7W,KAAK8C,KAAK+T,OACnB4lG,EAASz8G,KAAKy8G,OAElB,GAAI95E,EACJ,CACI85E,EAAOjpF,KAAOipF,EAAOlpF,MAAQ,EAEzButG,EAAejqH,EAAO0pH,wBAE1B,GAAIvgI,KAAKpC,MAAQijI,EAAajjI,QAAUoC,KAAKk5H,qBAC7C,CACI,IAAI6H,EAAcD,EAAattG,KAAOqtG,EAAa/8H,EAC/Ck9H,EAAcH,EAAajjI,MAAQ,EAAMoC,KAAKpC,MAAQ,EAItDwZ,GAFJ4pH,EAAav9H,KAAKuC,IAAIg7H,EAAY,IAERD,EAE1BtkB,EAAOjpF,KAAO/vB,KAAK8xB,MAAMne,GAG7BP,EAAOoE,MAAMgmH,WAAaxkB,EAAOjpF,KAAO,KAEpB,IAAhBipF,EAAOjpF,OAEPipF,EAAOlpF,QAAUstG,EAAajjI,MAAQkjI,EAAaljI,MAAQ6+G,EAAOjpF,MAClE3c,EAAOoE,MAAMimH,YAAczkB,EAAOlpF,MAAQ,MAIlD,GAAIqP,EACJ,CACI65E,EAAOtmF,IAAMsmF,EAAOrmF,OAAS,EAE7B,IAAI0qG,EAAejqH,EAAO0pH,wBAE1B,GAAIvgI,KAAKnC,OAASgjI,EAAahjI,SAAWmC,KAAKk5H,qBAC/C,CACI,IAAI6H,EAAcD,EAAa3qG,IAAM0qG,EAAa98H,EAC9Ci9H,EAAcH,EAAahjI,OAAS,EAAMmC,KAAKnC,OAAS,EAIxDuZ,GAFJ4pH,EAAav9H,KAAKuC,IAAIg7H,EAAY,IAERD,EAC1BtkB,EAAOtmF,IAAM1yB,KAAK8xB,MAAMne,GAG5BP,EAAOoE,MAAMkmH,UAAY1kB,EAAOtmF,IAAM,KAEnB,IAAfsmF,EAAOtmF,MAEPsmF,EAAOrmF,SAAWyqG,EAAahjI,OAASijI,EAAajjI,OAAS4+G,EAAOtmF,KACrEtf,EAAOoE,MAAMmmH,aAAe3kB,EAAOrmF,OAAS,MAKpDqmF,EAAO34G,EAAI24G,EAAOjpF,KAClBipF,EAAO14G,EAAI04G,EAAOtmF,KAYtBiqG,WAAY,WAERpgI,KAAKkgI,YAAY,GAAI,IAErB,IAAIr7H,EAAS7E,KAAK89H,gBAAgB99H,KAAK87H,aACvC97H,KAAKg+H,iBAAiBn5H,EAAOjH,MAAOiH,EAAOhH,QAAQ,IAYvDsiI,aAAc,WAELngI,KAAKk5H,uBAENl5H,KAAKpC,MAAQ4D,EAAOiC,KAAK84B,MAAMv8B,KAAKpC,MAAOoC,KAAK64H,UAAY,EAAG74H,KAAKs1F,UAAYt1F,KAAKpC,OACrFoC,KAAKnC,OAAS2D,EAAOiC,KAAK84B,MAAMv8B,KAAKnC,OAAQmC,KAAK84H,WAAa,EAAG94H,KAAK+4H,WAAa/4H,KAAKnC,SAG7FmC,KAAKkgI,cAEAlgI,KAAKo6H,cAAcG,YAEhBv6H,KAAK+/H,cAAgB//H,KAAK05H,yBAE1B15H,KAAK4gI,aAAY,GAAM,GAIvB5gI,KAAK4gI,YAAY5gI,KAAKq9H,sBAAuBr9H,KAAKu9H,sBAI1Dv9H,KAAKk/H,0BAYTgB,YAAa,SAAUmB,EAAUC,QAEZh7H,IAAb+6H,IAA0BA,EAAWrhI,KAAKpC,MAAQ,WACpC0I,IAAdg7H,IAA2BA,EAAYthI,KAAKnC,OAAS,MAEzD,IAAIgZ,EAAS7W,KAAK8C,KAAK+T,OAElB7W,KAAKo6H,cAAcG,YAEpB1jH,EAAOoE,MAAMgmH,WAAa,GAC1BpqH,EAAOoE,MAAMkmH,UAAY,GACzBtqH,EAAOoE,MAAMimH,YAAc,GAC3BrqH,EAAOoE,MAAMmmH,aAAe,IAGhCvqH,EAAOoE,MAAMrd,MAAQyjI,EACrBxqH,EAAOoE,MAAMpd,OAASyjI,GAW1BrD,YAAa,SAAU75F,GAEfA,IAEApkC,KAAK67H,cAAcj+H,MAAQ,EAC3BoC,KAAK67H,cAAch+H,OAAS,GAGhCmC,KAAK27H,gBAAkB37H,KAAK47H,sBAUhCh2F,MAAO,SAAUkD,GAETA,GAAc9oC,KAAKs3D,MAEnBt3D,KAAKs3D,KAAK1xB,SAWlBi6F,WAAY,WAER7/H,KAAKpC,MAAQoC,KAAK44H,IAAImF,aAAangI,MACnCoC,KAAKnC,OAASmC,KAAK44H,IAAImF,aAAalgI,QAWxCoiI,WAAY,SAAUsB,GAElB,IAIIC,EAJA38H,EAAS7E,KAAK89H,gBAAgB99H,KAAK87H,aACnCl+H,EAAQiH,EAAOjH,MACfC,EAASgH,EAAOhH,OAMhB2jI,EAFAD,EAEa99H,KAAKuC,IAAKnI,EAASmC,KAAK8C,KAAKjF,OAAUD,EAAQoC,KAAK8C,KAAKlF,OAIzD6F,KAAK21B,IAAKv7B,EAASmC,KAAK8C,KAAKjF,OAAUD,EAAQoC,KAAK8C,KAAKlF,OAG1EoC,KAAKpC,MAAQ6F,KAAK8xB,MAAMv1B,KAAK8C,KAAKlF,MAAQ4jI,GAC1CxhI,KAAKnC,OAAS4F,KAAK8xB,MAAMv1B,KAAK8C,KAAKjF,OAAS2jI,IAWhD1B,YAAa,WAET,IAAIj7H,EAAS7E,KAAK89H,gBAAgB99H,KAAK87H,aAEvC97H,KAAKpC,MAAQiH,EAAOjH,MACpBoC,KAAKnC,OAASgH,EAAOhH,OAEjBmC,KAAK+/H,eAML//H,KAAKs1F,WAELt1F,KAAKpC,MAAQ6F,KAAK21B,IAAIp5B,KAAKpC,MAAOoC,KAAKs1F,WAGvCt1F,KAAK+4H,YAEL/4H,KAAKnC,OAAS4F,KAAK21B,IAAIp5B,KAAKnC,OAAQmC,KAAK+4H,cAcjD0I,uBAAwB,WAEpB,IAAIC,EAAW/xF,SAAS0kD,cAAc,OAMtC,OAJAqtC,EAASzmH,MAAMwhG,OAAS,IACxBilB,EAASzmH,MAAMmL,QAAU,IACzBs7G,EAASzmH,MAAM0mH,WAAa,OAErBD,GA6BXE,gBAAiB,SAAU7qH,EAAW8qH,GAElC,GAAI7hI,KAAK+/H,aAEL,OAAO,EAGX,CAAA,GAAK//H,KAAKo6H,cAAcC,mBAAxB,CAYA,GAA2C,mBAAvCr6H,KAAKo6H,cAAcO,gBACvB,CACI,IAAI30F,EAAQhmC,KAAK8C,KAAKkjC,MAEtB,GAAIA,EAAM2b,eACN3b,EAAM2b,gBAAkB3b,EAAM4b,eAC7BigF,IAAuC,IAApBA,GAGpB,YADA77F,EAAM2b,cAAckO,mBAAmB,kBAAmB7vD,KAAK4hI,gBAAiB5hI,MAAO+W,GAAW,SAKxFzQ,IAAdyQ,GAA2B/W,KAAK8C,KAAKknC,aAAexoC,EAAO2nB,SAE3DnpB,KAAK8C,KAAKmX,MAAMmkC,SAAWrnC,GAG/B,IAAI2qH,EAAW1hI,KAAKy5H,iBAEfiI,IAED1hI,KAAK8hI,uBAEL9hI,KAAK05H,yBAA2B15H,KAAKyhI,yBACrCC,EAAW1hI,KAAK05H,0BAGpB,IAAIqI,GACAC,cAAeN,GAOnB,GAJA1hI,KAAKw5H,wBAAyB,EAE9Bx5H,KAAK25H,iBAAiB10F,SAASjlC,KAAM+hI,GAEjC/hI,KAAK05H,yBACT,CAGI,IAAI7iH,EAAS7W,KAAK8C,KAAK+T,OACVA,EAAOyvF,WACbhD,aAAao+B,EAAU7qH,GAC9B6qH,EAASr7B,YAAYxvF,GAYzB,OATI7W,KAAK8C,KAAK+mB,OAAOk3E,mBAEjB2gC,EAAS1hI,KAAK8C,KAAK+mB,OAAOg3E,mBAAmBoE,QAAQg9B,sBAIrDP,EAAS1hI,KAAK8C,KAAK+mB,OAAOg3E,sBAGvB,EAhEH,IAAI70D,EAAQhsC,KAEZuhG,WAAW,WACPv1D,EAAMgxF,mBACP,MAuEXkF,eAAgB,WAEZ,SAAKliI,KAAK+/H,eAAiB//H,KAAKo6H,cAAcC,sBAK9Cr6H,KAAKw5H,wBAAyB,EAE9B7pF,SAAS3vC,KAAK8C,KAAK+mB,OAAOi3E,qBAEnB,IAWXghC,qBAAsB,WAElB,IAAIJ,EAAW1hI,KAAK05H,yBAEpB,GAAIgI,GAAYA,EAASp7B,WACzB,CAGI,IAAIjlG,EAASqgI,EAASp7B,WACtBjlG,EAAOiiG,aAAatjG,KAAK8C,KAAK+T,OAAQ6qH,GACtCrgI,EAAOoH,YAAYi5H,GAGvB1hI,KAAK05H,yBAA2B,MAYpCyI,eAAgB,SAAUC,GAEtB,IAAIC,IAAkBriI,KAAK05H,yBACvBgI,EAAW1hI,KAAK05H,0BAA4B15H,KAAKy5H,iBAEjD2I,GAEIC,GAAiBriI,KAAKo9H,sBAAwB57H,EAAO+6C,aAAa4/E,YAG9DuF,IAAa1hI,KAAK8C,KAAK+T,SAEvB7W,KAAKs7H,oBACD3+B,YAAa+kC,EAASzmH,MAAMrd,MAC5Bg/F,aAAc8kC,EAASzmH,MAAMpd,QAGjC6jI,EAASzmH,MAAMrd,MAAQ,OACvB8jI,EAASzmH,MAAMpd,OAAS,SAO5BmC,KAAKs7H,qBAELoG,EAASzmH,MAAMrd,MAAQoC,KAAKs7H,mBAAmB3+B,YAC/C+kC,EAASzmH,MAAMpd,OAASmC,KAAKs7H,mBAAmB1+B,aAEhD58F,KAAKs7H,mBAAqB,MAI9Bt7H,KAAKg+H,iBAAiBh+H,KAAKu7H,UAAU39H,MAAOoC,KAAKu7H,UAAU19H,QAAQ,GACnEmC,KAAKkgI,gBAYbpD,iBAAkB,SAAU9sF,GAExBhwC,KAAKgwC,MAAQA,EAEThwC,KAAK+/H,cAEL//H,KAAKmiI,gBAAe,GAEpBniI,KAAKg/H,eACLh/H,KAAKi+H,aAAY,KAIjBj+H,KAAKmiI,gBAAe,GAEpBniI,KAAK8hI,uBAEL9hI,KAAKg/H,eACLh/H,KAAKi+H,aAAY,IAGrBj+H,KAAK45H,mBAAmB30F,SAASjlC,KAAMA,KAAKpC,MAAOoC,KAAKnC,SAY5Dm/H,gBAAiB,SAAUhtF,GAEvBhwC,KAAKgwC,MAAQA,EAEbhwC,KAAK8hI,uBAELxhI,QAAQ0Z,KAAK,+FAEbha,KAAK65H,kBAAkB50F,SAASjlC,OAmBpCsiI,YAAa,SAAUp/G,EAAQtlB,EAAOC,EAAQ0kI,GAM1C,QAJcj8H,IAAV1I,IAAuBA,EAAQoC,KAAKpC,YACzB0I,IAAXzI,IAAwBA,EAASmC,KAAKnC,aACxByI,IAAdi8H,IAA2BA,GAAY,IAEtCr/G,IAAWA,EAAc,MAE1B,OAAOA,EAMX,GAHAA,EAAOpiB,MAAMgD,EAAI,EACjBof,EAAOpiB,MAAMiD,EAAI,EAEZmf,EAAOtlB,OAAS,GAAOslB,EAAOrlB,QAAU,GAAOD,GAAS,GAAOC,GAAU,EAE1E,OAAOqlB,EAGX,IAAIs/G,EAAU5kI,EACV6kI,EAAWv/G,EAAOrlB,OAASD,EAASslB,EAAOtlB,MAE3C8kI,EAAWx/G,EAAOtlB,MAAQC,EAAUqlB,EAAOrlB,OAC3C8kI,EAAU9kI,EAEV+kI,EAAgBF,EAAU9kI,EA0B9B,OAtBIglI,EAFAA,EAEeL,GAICA,IAKhBr/G,EAAOtlB,MAAQ6F,KAAKsL,MAAMyzH,GAC1Bt/G,EAAOrlB,OAAS4F,KAAKsL,MAAM0zH,KAI3Bv/G,EAAOtlB,MAAQ6F,KAAKsL,MAAM2zH,GAC1Bx/G,EAAOrlB,OAAS4F,KAAKsL,MAAM4zH,IAOxBz/G,GAWX1gB,QAAS,WAELxC,KAAK8C,KAAK0lC,SAASzsB,OAAO/b,KAAKi9H,aAAcj9H,MAE7CgQ,OAAOohC,oBAAoB,oBAAqBpxC,KAAKy8H,oBAAoB,GACzEzsH,OAAOohC,oBAAoB,SAAUpxC,KAAK28H,eAAe,GAErD38H,KAAKo6H,cAAcC,qBAEnB1qF,SAASyB,oBAAoB,yBAA0BpxC,KAAK68H,mBAAmB,GAC/EltF,SAASyB,oBAAoB,sBAAuBpxC,KAAK68H,mBAAmB,GAC5EltF,SAASyB,oBAAoB,qBAAsBpxC,KAAK68H,mBAAmB,GAC3EltF,SAASyB,oBAAoB,mBAAoBpxC,KAAK68H,mBAAmB,GAEzEltF,SAASyB,oBAAoB,wBAAyBpxC,KAAK+8H,kBAAkB,GAC7EptF,SAASyB,oBAAoB,qBAAsBpxC,KAAK+8H,kBAAkB,GAC1EptF,SAASyB,oBAAoB,oBAAqBpxC,KAAK+8H,kBAAkB,GACzEptF,SAASyB,oBAAoB,kBAAmBpxC,KAAK+8H,kBAAkB,MAOnFv7H,EAAO+6C,aAAaj6C,UAAUC,YAAcf,EAAO+6C,aAYnD31C,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,kBAEjDwE,IAAK,WAED,OAAI9G,KAAK+6H,gBACJ/6H,KAAK+/H,cAAgB//H,KAAKw5H,yBAA2Bx5H,KAAK05H,yBAEpD,KAGM15H,KAAK8C,KAAK+T,QAAU7W,KAAK8C,KAAK+T,OAAOyvF,YAEjC,QA2C7B1/F,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,aAEjDwE,IAAK,WAED,OAAO9G,KAAK46H,YAIhB7zH,IAAK,SAAUC,GAaX,OAXIA,IAAUhH,KAAK46H,aAEV56H,KAAK+/H,eAEN//H,KAAKg+H,iBAAiBh+H,KAAKu7H,UAAU39H,MAAOoC,KAAKu7H,UAAU19H,QAAQ,GACnEmC,KAAKi+H,aAAY,IAGrBj+H,KAAK46H,WAAa5zH,GAGfhH,KAAK46H,cAcpBh0H,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,uBAEjDwE,IAAK,WAED,OAAO9G,KAAK86H,sBAIhB/zH,IAAK,SAAUC,GAmBX,OAjBIA,IAAUhH,KAAK86H,uBAGX96H,KAAK+/H,cAEL//H,KAAKmiI,gBAAe,GACpBniI,KAAK86H,qBAAuB9zH,EAC5BhH,KAAKmiI,gBAAe,GAEpBniI,KAAKi+H,aAAY,IAIjBj+H,KAAK86H,qBAAuB9zH,GAI7BhH,KAAK86H,wBAgBpBl0H,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,oBAEjDwE,IAAK,WAED,OAAO9G,KAAK+/H,aAAe//H,KAAK86H,qBAAuB96H,KAAK46H,cAkBpEh0H,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,yBAEjDwE,IAAK,WAED,OAAO9G,KAAKm5H,wBAIhBpyH,IAAK,SAAUC,GAEPA,IAAUhH,KAAKm5H,yBAEfn5H,KAAKm5H,uBAAyBnyH,EAC9BhH,KAAKi+H,aAAY,OA0B7Br3H,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,uBAEjDwE,IAAK,WAED,OAAO9G,KAAKo5H,sBAIhBryH,IAAK,SAAUC,GAEPA,IAAUhH,KAAKo5H,uBAEfp5H,KAAKo5H,qBAAuBpyH,EAC5BhH,KAAKi+H,aAAY,OAa7Br3H,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,gBAEjDwE,IAAK,WACD,SAAU6oC,SAA4B,mBAClCA,SAAkC,yBAClCA,SAA+B,sBAC/BA,SAA8B,wBAY1C/oC,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,cAEjDwE,IAAK,WACD,MAA4D,aAArD9G,KAAKo/H,oBAAoBp/H,KAAK85H,sBAY7ClzH,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,eAEjDwE,IAAK,WACD,MAA4D,cAArD9G,KAAKo/H,oBAAoBp/H,KAAK85H,sBAe7ClzH,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,kBAEjDwE,IAAK,WACD,OAAQ9G,KAAKnC,OAASmC,KAAKpC,SAenCgJ,OAAOuF,eAAe3K,EAAO+6C,aAAaj6C,UAAW,mBAEjDwE,IAAK,WACD,OAAQ9G,KAAKpC,MAAQoC,KAAKnC,UA2BlC2D,EAAO+vB,MAAM4rB,MAAQ,SAAUr6C,GAK3B9C,KAAK8C,KAAOA,EAKZ9C,KAAKkjB,OAAS,KAKdljB,KAAK6iI,IAAM,KAKX7iI,KAAK6W,OAAS,KAKd7W,KAAKyN,QAAU,KAMfzN,KAAKmzE,KAAO,eAMZnzE,KAAK8iI,YAAc,IAMnB9iI,KAAK+wF,WAAa,GAMlB/wF,KAAK09E,UAAY,EAMjB19E,KAAK+iI,cAAe,EAOpB/iI,KAAKgjI,aAAe,KAMpBhjI,KAAK22F,SAAW,EAMhB32F,KAAK42F,SAAW,EAMhB52F,KAAKijI,aAAe,EAMpBjjI,KAAKoR,OAAQ,EAObpR,KAAKo9C,YAAa,EAMlBp9C,KAAKkjI,MAAQ,KAMbljI,KAAKmjI,MAAQ,MAIjB3hI,EAAO+vB,MAAM4rB,MAAM76C,WAQfmhC,KAAM,WAEEzjC,KAAK8C,KAAKknC,aAAexoC,EAAO2nB,OAEhCnpB,KAAKyN,QAAUzN,KAAK8C,KAAK2K,SAIzBzN,KAAK6iI,IAAM,IAAIrhI,EAAOouE,WAAW5vE,KAAK8C,KAAM,UAAW9C,KAAK8C,KAAKlF,MAAOoC,KAAK8C,KAAKjF,QAAQ,GAC1FmC,KAAKkjB,OAASljB,KAAK8C,KAAKijC,KAAKlsB,MAAM,EAAG,EAAG7Z,KAAK6iI,KAC9C7iI,KAAK8C,KAAKmX,MAAM5R,SAASrI,KAAKkjB,QAE9BljB,KAAK8C,KAAKhC,MAAMo6H,aAAaniG,IAAI/4B,KAAKkG,OAAQlG,MAE9CA,KAAK6W,OAASrV,EAAOsa,WAAW1T,OAAOpI,KAAMA,KAAK8C,KAAKlF,MAAOoC,KAAK8C,KAAKjF,QACxEmC,KAAKyN,QAAUzN,KAAK6W,OAAOsB,WAAW,OAG1CnY,KAAKkjI,MAAQ,IAAI1hI,EAAOq2B,KACxB73B,KAAKmjI,MAAQ,IAAI3hI,EAAOS,WAW5BiE,OAAQ,WAEJlG,KAAK6iI,IAAI38H,OAAOlG,KAAK8C,KAAKlF,MAAOoC,KAAK8C,KAAKjF,QAE3CmC,KAAK6W,OAAOjZ,MAAQoC,KAAK8C,KAAKlF,MAC9BoC,KAAK6W,OAAOhZ,OAASmC,KAAK8C,KAAKjF,QAUnC4G,UAAW,WAEHzE,KAAKoR,OAASpR,KAAKkjB,SAEnBljB,KAAK6iI,IAAItoH,QACTva,KAAK6iI,IAAItpD,KAAKv5E,KAAK6W,OAAQ,EAAG,GAE9B7W,KAAKyN,QAAQma,UAAU,EAAG,EAAG5nB,KAAK8C,KAAKlF,MAAOoC,KAAK8C,KAAKjF,QACxDmC,KAAKoR,OAAQ,IAUrBw0B,MAAO,WAEC5lC,KAAKyN,SAELzN,KAAKyN,QAAQma,UAAU,EAAG,EAAG5nB,KAAK8C,KAAKlF,MAAOoC,KAAK8C,KAAKjF,QAGxDmC,KAAKkjB,QAELljB,KAAK6iI,IAAItoH,SAejBvO,MAAO,SAAUlI,EAAGC,EAAGkS,EAAO6sH,GAET,iBAANh/H,IAAkBA,EAAI,GAChB,iBAANC,IAAkBA,EAAI,GACjCkS,EAAQA,GAAS,wBACG3P,IAAhBw8H,IAA6BA,EAAc,GAE/C9iI,KAAK22F,SAAW7yF,EAChB9D,KAAK42F,SAAW7yF,EAChB/D,KAAKgjI,aAAe/sH,EACpBjW,KAAK8iI,YAAcA,EAEnB9iI,KAAKoR,OAAQ,EAEbpR,KAAKyN,QAAQqa,OACb9nB,KAAKyN,QAAQe,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzCxO,KAAKyN,QAAQkwE,YAAc1nE,EAC3BjW,KAAKyN,QAAQ8a,UAAYtS,EACzBjW,KAAKyN,QAAQ0lE,KAAOnzE,KAAKmzE,KACzBnzE,KAAKyN,QAAQG,YAAc5N,KAAKijI,cAUpCp3H,KAAM,WAEF7L,KAAKyN,QAAQ2a,WAUjBoQ,KAAM,WAIF,IAAK,IAFD10B,EAAI9D,KAAK22F,SAEJj0F,EAAI,EAAGA,EAAI2tB,UAAU1tB,OAAQD,IAE9B1C,KAAK+iI,eAEL/iI,KAAKyN,QAAQ8a,UAAY,aACzBvoB,KAAKyN,QAAQ2vE,SAAS/sD,UAAU3tB,GAAIoB,EAAI,EAAG9D,KAAK42F,SAAW,GAC3D52F,KAAKyN,QAAQ8a,UAAYvoB,KAAKgjI,cAGlChjI,KAAKyN,QAAQ2vE,SAAS/sD,UAAU3tB,GAAIoB,EAAG9D,KAAK42F,UAE5C9yF,GAAK9D,KAAK8iI,YAGd9iI,KAAK42F,UAAY52F,KAAK+wF,YAY1B7qD,MAAO,SAAUpiC,EAAGC,EAAGkS,GAErB,IAAIiwB,EAAQlmC,KAAK8C,KAAKojC,MAEtBlmC,KAAKgM,MAAMlI,EAAGC,EAAGkS,GAEbiwB,EAAMojF,QAERtpH,KAAKw4B,KAAK,sBAIVx4B,KAAKw4B,KAAK,WAAa0N,EAAM9E,OAAOwM,QAAQ,IAAM1H,EAAMqwF,KAAO,UAAY,KAC3Ev2H,KAAKw4B,KAAK,kBAAoB0N,EAAMoZ,aACpCt/C,KAAKw4B,KAAK,WAAa0N,EAAM2lF,cAAiB,eAAiB3lF,EAAMz4B,QAAQ04B,MAAS,cACtFnmC,KAAKw4B,KAAK,iBAAmB0N,EAAMo6E,cAGrCtgH,KAAK6L,QAaPu3H,UAAW,SAAUl9F,EAAOpiC,EAAGC,EAAGkS,GAE9BjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,GACjBjW,KAAKw4B,KAAK,UAAY0N,EAAMtzB,IAAM,kBAAoBszB,EAAMpjC,KAAKojC,MAAMo6E,aACvEtgH,KAAKw4B,KAAK,cAAgBx4B,KAAK8C,KAAK6W,MAAM+oG,aAAax8E,EAAMtzB,KAAO,sBAAwBszB,EAAM6tF,iBAClG/zH,KAAKw4B,KAAK,YAAc0N,EAAM8vF,UAAY,cAAgB9vF,EAAMm6E,YAChErgH,KAAKw4B,KAAK,mBAAqB0N,EAAMqtF,cAAgB,aAAertF,EAAMyzE,UAAY,UAAYzzE,EAAMqjC,MACxGvpE,KAAKw4B,KAAK,SAAW0N,EAAMstF,aAC3BxzH,KAAKw4B,KAAK,WAAa0N,EAAM9E,OAAOwM,QAAQ,IAAM1H,EAAMqwF,KAAO,UAAY,KAC3Ev2H,KAAKw4B,KAAK,WAAa0N,EAAM2lF,cAAgB,YAAc,cAE/B,KAAxB3lF,EAAM2tF,gBAEN7zH,KAAKw4B,KAAK,WAAa0N,EAAM2tF,cAAgB,cAAgB3tF,EAAMxD,SAAW,SAAWwD,EAAMutF,WAAa,KAC5GzzH,KAAKw4B,KAAK,UAAY0N,EAAMotF,QAAQptF,EAAM2tF,eAAe7nH,MAAQ,UAAYk6B,EAAMotF,QAAQptF,EAAM2tF,eAAehoH,MAChH7L,KAAKw4B,KAAK,aAAe0N,EAAMtlC,WAGnCZ,KAAK6L,QAYT4O,OAAQ,SAAUA,EAAQxE,EAAOotH,GAE7B,IAAIzhG,EAAWnnB,EAAOmnB,SAClBh6B,EAAS6S,EAAO7S,OAChBgP,EAAO6D,EAAO7D,KAEdgrB,IAEA5hC,KAAKmjI,MAAMjuG,MAAMte,EAAK9S,EAAI89B,EAAS99B,EAAG8S,EAAK7S,EAAI69B,EAAS79B,EAAG69B,EAAShkC,MAAOgkC,EAAS/jC,QACpFmC,KAAKsjI,UAAUtjI,KAAKmjI,MAAOltH,EAAOotH,IAGlCz7H,IAEA5H,KAAKkjI,MAAMhuG,MAAMte,EAAKuhB,QAASvhB,EAAKwhB,QAASxwB,EAAO9D,EAAG8D,EAAO7D,GAC9D/D,KAAKujI,KAAKvjI,KAAKkjI,MAAOjtH,EAAOotH,GAC7BrjI,KAAKujI,KAAK37H,EAAQqO,GAAO,EAAO,KAcxCutH,WAAY,SAAU/oH,EAAQ3W,EAAGC,EAAGkS,GAEhC,IAAIpR,EAAS4V,EAAO5V,OAChB+8B,EAAWnnB,EAAOmnB,SAClBh6B,EAAS6S,EAAO7S,OAChBgP,EAAO6D,EAAO7D,KAElB5W,KAAKgM,MAAMlI,EAAGC,EAAGkS,GACjBjW,KAAKw4B,KAAK,WAAa/d,EAAO7c,MAAQ,MAAQ6c,EAAO5c,OAAS,KAC9DmC,KAAKw4B,KAAK,MAAQ/d,EAAO3W,EAAI,OAAS2W,EAAO1W,GAC7C/D,KAAKw4B,KAAK,YAAc3zB,EAAU,MAAQA,EAAOf,EAAI,OAASe,EAAOd,EAAI,OAASc,EAAOjH,MAAQ,OAASiH,EAAOhH,OAAU,SAC3HmC,KAAKw4B,KAAK,YAAc5hB,EAAK9S,EAAI,OAAS8S,EAAK7S,EAAI,OAAS6S,EAAKhZ,MAAQ,OAASgZ,EAAK/Y,QACvFmC,KAAKw4B,KAAK,cAAgBoJ,EAAY,MAAQA,EAAS99B,EAAI,OAAS89B,EAAS79B,EAAI,OAAS69B,EAAShkC,MAAQ,OAASgkC,EAAS/jC,OAAU+jC,IACvI5hC,KAAKw4B,KAAK,kBAAoB/d,EAAOsnB,aACrC/hC,KAAKw4B,KAAK,gBAAkB/d,EAAOqnB,QAAQh+B,EAAI,OAAS2W,EAAOqnB,QAAQ/9B,GACvE/D,KAAKw4B,KAAK,YAAc5wB,EAAUA,EAAOiqB,MAAQjqB,EAAU,SAC3D5H,KAAK6L,QAaTorG,MAAO,SAAUA,EAAOnzG,EAAGC,EAAGkS,GAE1BjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,GACjBjW,KAAKw4B,KAAK,mBAAqBy+E,EAAMS,QAAU,aAAeT,EAAMU,QAAU,KAC9E33G,KAAKw4B,KAAK,cAAgBy+E,EAAMtiE,KAAO,cAAgBsiE,EAAMv0E,UAC7D1iC,KAAKw4B,KAAK,WAAay+E,EAAMtwE,OAAS,YAAcswE,EAAMt0G,QAC1D3C,KAAK6L,QAcT8hC,QAAS,SAAUA,EAAS81F,EAAUC,EAAWC,EAAS1tH,GAEvC,MAAX03B,SAKarnC,IAAbm9H,IAA0BA,GAAW,GACzCC,EAAYA,GAAa,oBACzBC,EAAUA,GAAW,qBAEJ,IAAbF,IAAsC,IAAjB91F,EAAQkd,OAKjC7qD,KAAKgM,MAAM2hC,EAAQ7pC,EAAG6pC,EAAQ5pC,EAAI,IAAKkS,GACvCjW,KAAKyN,QAAQ4vE,YACbr9E,KAAKyN,QAAQ6vE,IAAI3vC,EAAQ7pC,EAAG6pC,EAAQ5pC,EAAG4pC,EAAQ0S,OAAOprB,OAAQ,EAAa,EAAVxxB,KAAKqxB,IAElE6Y,EAAQtD,OAERrqC,KAAKyN,QAAQ8a,UAAYm7G,EAIzB1jI,KAAKyN,QAAQ8a,UAAYo7G,EAG7B3jI,KAAKyN,QAAQ83C,OACbvlD,KAAKyN,QAAQ8vE,YAGbv9E,KAAKyN,QAAQ4vE,YACbr9E,KAAKyN,QAAQ+vE,OAAO7vC,EAAQ2f,aAAaxpD,EAAG6pC,EAAQ2f,aAAavpD,GACjE/D,KAAKyN,QAAQgwE,OAAO9vC,EAAQ/sC,SAASkD,EAAG6pC,EAAQ/sC,SAASmD,GACzD/D,KAAKyN,QAAQiwE,UAAY,EACzB19E,KAAKyN,QAAQmwE,SACb59E,KAAKyN,QAAQ8vE,YAGbv9E,KAAKw4B,KAAK,OAASmV,EAAQ75B,GAAK,YAAc65B,EAAQtD,QACtDrqC,KAAKw4B,KAAK,YAAcmV,EAAQi2F,OAAS,aAAej2F,EAAQk2F,QAChE7jI,KAAKw4B,KAAK,aAAemV,EAAQ7pC,EAAI,cAAgB6pC,EAAQ5pC,EAAI,QAAU4pC,EAAQua,YACnFloD,KAAKw4B,KAAK,aAAemV,EAAQjL,SAAW,OAC5C1iC,KAAKw4B,KAAK,YAAcmV,EAAQid,OAAS,WAAajd,EAAQkd,MAC9D7qD,KAAK6L,UAaTi4H,gBAAiB,SAAU5gH,EAAQpf,EAAGC,EAAGkS,GAErCjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,GACjBjW,KAAKw4B,KAAK,kBAAoBtV,EAAOtlB,MAAQ,MAAQslB,EAAOrlB,OAAS,KACrEmC,KAAKw4B,KAAK,MAAQtV,EAAO8iB,MAAM0uB,WAAW9mB,QAAQ,GAAK,OAAS1qB,EAAO8iB,MAAM2uB,WAAW/mB,QAAQ,IAChG5tC,KAAKw4B,KAAK,SAAWtV,EAAO8iB,MAAMgvB,cAAgB,cAAgB9xC,EAAO8iB,MAAM4wB,eAAehpB,QAAQ,IACtG5tC,KAAKw4B,KAAK,SAAWtV,EAAO8iB,MAAM4uB,cAAgB,cAAgB1xC,EAAO8iB,MAAMiuB,eAAermB,QAAQ,IACtG5tC,KAAKw4B,KAAK,cAAgBtV,EAAO8iB,MAAM0wB,WAAa,cAAgBxzC,EAAO8iB,MAAM6wB,WACjF72D,KAAK6L,QAaT+G,IAAK,SAAUA,EAAK9O,EAAGC,EAAGkS,GAEtBjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,EAAO,KAExBjW,KAAKw4B,KAAK,OAAQ5lB,EAAIouD,QAAS,UAAWpuD,EAAIg4C,QAC9C5qD,KAAKw4B,KAAK,YAAa5lB,EAAImxH,SAAU,UAAWnxH,EAAIoxH,QACpDhkI,KAAKw4B,KAAK,aAAc5lB,EAAIk4C,SAASld,QAAQ,GAAI,YAAah7B,EAAI8vB,SAASkL,QAAQ,IAEnF5tC,KAAK6L,QAYTo4H,UAAW,SAAUngI,EAAGC,EAAGkS,GAEvBjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,GACjBjW,KAAKw4B,KAAK,SACVx4B,KAAKw4B,KAAK,MAAQx4B,KAAK8C,KAAKkjC,MAAMliC,EAAI,OAAS9D,KAAK8C,KAAKkjC,MAAMjiC,GAC/D/D,KAAKw4B,KAAK,YAAcx4B,KAAK8C,KAAKkjC,MAAM49F,OAAS,aAAe5jI,KAAK8C,KAAKkjC,MAAM69F,QAChF7jI,KAAKw4B,KAAK,YAAcx4B,KAAK8C,KAAKkjC,MAAMllC,MAAMgD,EAAE8pC,QAAQ,GAAK,aAAe5tC,KAAK8C,KAAKkjC,MAAMllC,MAAMgD,EAAE8pC,QAAQ,IAC5G5tC,KAAKw4B,KAAK,aAAex4B,KAAK8C,KAAKkjC,MAAM2b,cAAc+K,QAAU,cAAgB1sD,KAAK8C,KAAKkjC,MAAM2b,cAAcgL,SAC/G3sD,KAAK6L,QAYTq4H,aAAc,SAAUhhH,EAAQjN,EAAOotH,GAEnC,IAAIx+H,EAASqe,EAAOtZ,YAEpB/E,EAAOf,GAAK9D,KAAK8C,KAAK2X,OAAO3W,EAC7Be,EAAOd,GAAK/D,KAAK8C,KAAK2X,OAAO1W,EAE7B/D,KAAKsjI,UAAUz+H,EAAQoR,EAAOotH,IAYlCc,aAAc,SAAU9xD,EAAMp8D,EAAOotH,GAEjC,IAEIpoG,EAAOj7B,KAFIqyE,EAAKwZ,SAIXn7D,QAAQ,SAAS0zG,GACtBnpG,EAAKqoG,UAAUc,EAASnuH,EAAOotH,IAChCrjI,OAaPqkI,WAAY,SAAUnhH,EAAQpf,EAAGC,EAAGkS,GAEhCjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,GAEjBjW,KAAKw4B,KAAK,aAAoBtV,EAAOtlB,MAAQ,MAAQslB,EAAOrlB,OAAS,aAAeqlB,EAAOxc,OAAO5C,EAAI,MAAQof,EAAOxc,OAAO3C,GAC5H/D,KAAKw4B,KAAK,MAAQtV,EAAOpf,EAAE8pC,QAAQ,GAAK,OAAS1qB,EAAOnf,EAAE6pC,QAAQ,IAClE5tC,KAAKw4B,KAAK,UAAYtV,EAAOwS,MAAMkY,QAAQ,GAAK,cAAgB1qB,EAAOliB,SAAS4sC,QAAQ,IACxF5tC,KAAKw4B,KAAK,YAActV,EAAOhiB,QAAU,eAAiBgiB,EAAO0mD,UACjE5pE,KAAKw4B,KAAK,aAAetV,EAAOlhB,QAAQ8B,EAAE8pC,QAAQ,GAAK,OAAS1qB,EAAOlhB,QAAQ+B,EAAE6pC,QAAQ,GAAK,OAAS1qB,EAAOlhB,QAAQpE,MAAMgwC,QAAQ,GAAK,OAAS1qB,EAAOlhB,QAAQnE,OAAO+vC,QAAQ,IAEhL5tC,KAAK6L,QAaTy4H,aAAc,SAAUphH,EAAQpf,EAAGC,EAAGkS,GAElCjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,EAAO,KAEpBiN,EAAO2O,MAEP7xB,KAAKw4B,KAAKtV,EAAO2O,MAGrB7xB,KAAKw4B,KAAK,KAAMtV,EAAOpf,EAAE8pC,QAAQ,GAAI,KAAM1qB,EAAOnf,EAAE6pC,QAAQ,IAC5D5tC,KAAKw4B,KAAK,SAAUtV,EAAOtiB,SAASkD,EAAE8pC,QAAQ,GAAI,SAAU1qB,EAAOtiB,SAASmD,EAAE6pC,QAAQ,IACtF5tC,KAAKw4B,KAAK,WAAYtV,EAAOlgB,MAAMc,EAAE8pC,QAAQ,GAAI,WAAY1qB,EAAOlgB,MAAMe,EAAE6pC,QAAQ,IAEpF5tC,KAAK6L,QAaT04H,SAAU,SAAU/rG,EAAM10B,EAAGC,EAAGkS,GAE5BjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,EAAO,IACxBjW,KAAKw4B,KAAK,WAAYA,EAAKxsB,MAAMlI,EAAE8pC,QAAQ,GAAI,WAAYpV,EAAKxsB,MAAMjI,EAAE6pC,QAAQ,IAChF5tC,KAAKw4B,KAAK,SAAUA,EAAKxd,IAAIlX,EAAE8pC,QAAQ,GAAI,SAAUpV,EAAKxd,IAAIjX,EAAE6pC,QAAQ,IACxE5tC,KAAKw4B,KAAK,UAAWA,EAAK71B,OAAOirC,QAAQ,GAAI,SAAUpV,EAAK9C,OAC5D11B,KAAK6L,QAaT+tE,MAAO,SAAU91E,EAAGC,EAAGkS,EAAOyL,GAE1BA,EAAOA,GAAQ,EAEf1hB,KAAKgM,QACLhM,KAAKyN,QAAQ8a,UAAYtS,EACzBjW,KAAKyN,QAAQib,SAAS5kB,EAAGC,EAAG2d,EAAMA,GAClC1hB,KAAK6L,QAaT03H,KAAM,SAAU3qF,EAAQ3iC,EAAOotH,EAAQmB,QAEpBl+H,IAAX+8H,IAAwBA,GAAS,QACnB/8H,IAAdk+H,IAA2BA,EAAY,GAE3CvuH,EAAQA,GAAS,oBAEjBjW,KAAKgM,QAELhM,KAAKyN,QAAQ8a,UAAYtS,EACzBjW,KAAKyN,QAAQkwE,YAAc1nE,EAC3BjW,KAAKyN,QAAQiwE,UAAY19E,KAAK09E,UAE1B9kC,aAAkBp3C,EAAOS,WAA2B,IAAduiI,EAElCnB,EAEArjI,KAAKyN,QAAQib,SAASkwB,EAAO90C,EAAI9D,KAAK8C,KAAK2X,OAAO3W,EAAG80C,EAAO70C,EAAI/D,KAAK8C,KAAK2X,OAAO1W,EAAG60C,EAAOh7C,MAAOg7C,EAAO/6C,QAIzGmC,KAAKyN,QAAQg7E,WAAW7vC,EAAO90C,EAAI9D,KAAK8C,KAAK2X,OAAO3W,EAAG80C,EAAO70C,EAAI/D,KAAK8C,KAAK2X,OAAO1W,EAAG60C,EAAOh7C,MAAOg7C,EAAO/6C,QAG1G+6C,aAAkBp3C,EAAOizB,QAAwB,IAAd+vG,GAExCxkI,KAAKyN,QAAQ4vE,YACbr9E,KAAKyN,QAAQ6vE,IAAI1kC,EAAO90C,EAAI9D,KAAK8C,KAAK2X,OAAO3W,EAAG80C,EAAO70C,EAAI/D,KAAK8C,KAAK2X,OAAO1W,EAAG60C,EAAO3jB,OAAQ,EAAa,EAAVxxB,KAAKqxB,IAAQ,GAC9G90B,KAAKyN,QAAQ8vE,YAET8lD,EAEArjI,KAAKyN,QAAQ83C,OAIbvlD,KAAKyN,QAAQmwE,UAGZhlC,aAAkBp3C,EAAOX,OAAuB,IAAd2jI,EAEvCxkI,KAAKyN,QAAQib,SAASkwB,EAAO90C,EAAI9D,KAAK8C,KAAK2X,OAAO3W,EAAG80C,EAAO70C,EAAI/D,KAAK8C,KAAK2X,OAAO1W,EAAG,EAAG,GAElF60C,aAAkBp3C,EAAOq2B,MAAsB,IAAd2sG,GAEtCxkI,KAAKyN,QAAQ4vE,YACbr9E,KAAKyN,QAAQ+vE,OAAQ5kC,EAAO5sC,MAAMlI,EAAI,GAAO9D,KAAK8C,KAAK2X,OAAO3W,EAAI80C,EAAO5sC,MAAMjI,EAAI,GAAO/D,KAAK8C,KAAK2X,OAAO1W,GAC3G/D,KAAKyN,QAAQgwE,OAAQ7kC,EAAO59B,IAAIlX,EAAI,GAAO9D,KAAK8C,KAAK2X,OAAO3W,EAAI80C,EAAO59B,IAAIjX,EAAI,GAAO/D,KAAK8C,KAAK2X,OAAO1W,GACvG/D,KAAKyN,QAAQ8vE,YACbv9E,KAAKyN,QAAQmwE,WAERhlC,aAAkBp3C,EAAOk2B,SAAyB,IAAd8sG,KAEzCxkI,KAAKyN,QAAQ4vE,YACbr9E,KAAKyN,QAAQg3H,QAAQ7rF,EAAO90C,EAAI9D,KAAK8C,KAAK2X,OAAO3W,EAAG80C,EAAO70C,EAAI/D,KAAK8C,KAAK2X,OAAO1W,EAAG60C,EAAOh7C,MAAM,EAAGg7C,EAAO/6C,OAAO,EAAG,EAAE,EAAI4F,KAAKqxB,IAAG,GAClI90B,KAAKyN,QAAQ8vE,YAET8lD,EAEArjI,KAAKyN,QAAQ83C,OAIbvlD,KAAKyN,QAAQmwE,UAIrB59E,KAAK6L,QAYTy3H,UAAW,SAAU1qF,EAAQ3iC,EAAOotH,QAEjB/8H,IAAX+8H,IAAwBA,GAAS,GAErCptH,EAAQA,GAAS,uBAEjBjW,KAAKgM,QAEDq3H,GAEArjI,KAAKyN,QAAQ8a,UAAYtS,EACzBjW,KAAKyN,QAAQib,SAASkwB,EAAO90C,EAAI9D,KAAK8C,KAAK2X,OAAO3W,EAAG80C,EAAO70C,EAAI/D,KAAK8C,KAAK2X,OAAO1W,EAAG60C,EAAOh7C,MAAOg7C,EAAO/6C,UAIzGmC,KAAKyN,QAAQiwE,UAAY19E,KAAK09E,UAC9B19E,KAAKyN,QAAQkwE,YAAc1nE,EAC3BjW,KAAKyN,QAAQg7E,WAAW7vC,EAAO90C,EAAI9D,KAAK8C,KAAK2X,OAAO3W,EAAG80C,EAAO70C,EAAI/D,KAAK8C,KAAK2X,OAAO1W,EAAG60C,EAAOh7C,MAAOg7C,EAAO/6C,SAG/GmC,KAAK6L,QAcT0mE,KAAM,SAAUA,EAAMzuE,EAAGC,EAAGkS,EAAOk9D,GAE/Bl9D,EAAQA,GAAS,mBACjBk9D,EAAOA,GAAQ,eAEfnzE,KAAKgM,QACLhM,KAAKyN,QAAQ0lE,KAAOA,EAEhBnzE,KAAK+iI,eAEL/iI,KAAKyN,QAAQ8a,UAAY,aACzBvoB,KAAKyN,QAAQ2vE,SAAS7K,EAAMzuE,EAAI,EAAGC,EAAI,IAG3C/D,KAAKyN,QAAQ8a,UAAYtS,EACzBjW,KAAKyN,QAAQ2vE,SAAS7K,EAAMzuE,EAAGC,GAE/B/D,KAAK6L,QAWT64H,SAAU,SAAUC,EAAU1uH,GAE1BA,EAAQA,GAAS,oBAEjBjW,KAAKgM,QAEL,IAAInH,EAAS8/H,EAAS9/H,OAEtB,GAA8B,IAA1B8/H,EAASn4B,MAAM7pG,OACnB,CACI3C,KAAKyN,QAAQkwE,YAAc1nE,EAC3BjW,KAAKyN,QAAQg7E,WAAW5jF,EAAOf,EAAGe,EAAOd,EAAGc,EAAOjH,MAAOiH,EAAOhH,QACjEmC,KAAKuyE,KAAK,SAAWoyD,EAASp4B,QAAQ5pG,OAAQkC,EAAOf,EAAI,EAAGe,EAAOd,EAAI,GAAI,eAAgB,gBAE3F/D,KAAKyN,QAAQkwE,YAAc,eAE3B,IAASj7E,EAAI,EAAGA,EAAIiiI,EAASp4B,QAAQ5pG,OAAQD,IAEzC1C,KAAKyN,QAAQg7E,WAAWk8C,EAASp4B,QAAQ7pG,GAAGoB,EAAG6gI,EAASp4B,QAAQ7pG,GAAGqB,EAAG4gI,EAASp4B,QAAQ7pG,GAAG9E,MAAO+mI,EAASp4B,QAAQ7pG,GAAG7E,aAKzH,IAAK,IAAI6E,EAAI,EAAGA,EAAIiiI,EAASn4B,MAAM7pG,OAAQD,IAEvC1C,KAAK0kI,SAASC,EAASn4B,MAAM9pG,IAIrC1C,KAAK6L,QAcTylC,KAAM,SAAUpuB,EAAQjN,EAAOotH,GAEvBngH,EAAOouB,OAEPtxC,KAAKgM,QAEDkX,EAAOouB,KAAKl+B,OAAS5R,EAAOqwC,QAAQC,OAEpCtwC,EAAOqwC,QAAQmhC,OAAO4xD,KAAK1/H,OAAOlF,KAAKyN,QAASyV,EAAOouB,KAAMr7B,EAAOotH,EAAQrjI,KAAK09E,WAE5Ex6D,EAAOouB,KAAKl+B,OAAS5R,EAAOqwC,QAAQgzF,MAEzCrjI,EAAOqwC,QAAQizF,MAAMF,KAAK1/H,OAAOlF,KAAKyN,QAASyV,EAAOouB,KAAMr7B,EAAOotH,GAE9DngH,EAAOouB,KAAKl+B,OAAS5R,EAAOqwC,QAAQkzF,OAEzCvjI,EAAOqwC,QAAQmzF,MAAMC,WAAWjlI,KAAKyN,QAASyV,EAAOouB,KAAMr7B,GAG/DjW,KAAK6L,SAcbq5H,SAAU,SAAUhiH,EAAQpf,EAAGC,EAAGkS,GAE1BiN,EAAOouB,OAEPtxC,KAAKgM,MAAMlI,EAAGC,EAAGkS,EAAO,KAEpBiN,EAAOouB,KAAKl+B,OAAS5R,EAAOqwC,QAAQC,OAEpCtwC,EAAOqwC,QAAQmhC,OAAO4xD,KAAKO,eAAenlI,KAAMkjB,EAAOouB,MAElDpuB,EAAOouB,KAAKl+B,OAAS5R,EAAOqwC,QAAQkzF,OAEzC/kI,KAAK8C,KAAKwjC,QAAQ8+F,MAAMD,eAAenlI,KAAMkjB,EAAOouB,MAGxDtxC,KAAK6L,SAYbw5H,WAAY,WAERrlI,KAAKgM,QAELhM,KAAKyN,QAAQkuB,WAAW37B,KAAK8C,KAAK2X,OAAO7D,KAAK9S,GAAI9D,KAAK8C,KAAK2X,OAAO7D,KAAK7S,EAAG,GAC3E/D,KAAK8C,KAAKwjC,QAAQ8+F,MAAME,gBAAgBtlI,KAAKyN,SAE7CzN,KAAK6L,QAYT05H,UAAW,SAAUj0F,EAAMr7B,GAEvBjW,KAAKgM,QACLxK,EAAOqwC,QAAQmzF,MAAMC,WAAWjlI,KAAKyN,QAAS6jC,EAAMr7B,GACpDjW,KAAK6L,QAcT25H,YAAa,SAAU5qH,GAanB,QAXsBtU,IAAlBsU,IAA+BA,EAAgB5a,KAAK8C,KAAKE,OAEzD4X,EAAcwW,eAAe,iBAE7B9wB,QAAQ2P,IAAI,IAAM2K,EAAcy8B,cAAgB,IAAKz8B,GAIrDta,QAAQ2P,IAAI,KAAM2K,GAGlBA,EAAcnY,UAAYmY,EAAcnY,SAASE,OAAS,EAE1D,IAAK,IAAID,EAAI,EAAGA,EAAIkY,EAAcnY,SAASE,OAAQD,IAE/C1C,KAAK8C,KAAK4mC,MAAM87F,YAAY5qH,EAAcnY,SAASC,KAc/DkC,SAAU,SAAUd,EAAGC,EAAGkS,GAEtB,IAAIhS,EAAIjE,KAAK8C,KAAK8B,SACdR,EAAIH,EAAE0B,cAWV,GATA3F,KAAKgM,MAAMlI,EAAGC,EAAGkS,GAEjBjW,KAAKw4B,MAAMv0B,EAAEtG,GAAK,QAAU,UAAY,cAAgBsG,EAAErG,MAAQ,MAAQqG,EAAEpG,OAAS,KACrFmC,KAAKw4B,KAAK,eAAiBv0B,EAAEwS,YAC7BzW,KAAKw4B,KAAK,sBAAwBv0B,EAAE0S,mBACpC3W,KAAKw4B,KAAK,eAAiBv0B,EAAEU,YAC7B3E,KAAKw4B,KAAK,gBAAkBv0B,EAAEuS,aAC9BxW,KAAKw4B,KAAK,kBAENv0B,EAAEtG,GACN,CACIqC,KAAKw4B,KAAK,8BAA+Bv0B,EAAE6T,uBAAuBnV,OAAS,KAE3E,IAAK,IAAID,EAAI,EAAGA,EAAIuB,EAAE6T,uBAAuBnV,OAAQD,IAEjD1C,KAAKw4B,KAAK,OAASv0B,EAAE6T,uBAAuBpV,IAGhD1C,KAAKw4B,KAAK,gBAAkBp0B,EAAE2T,WAC9B/X,KAAKw4B,KAAK,kBAAoBv0B,EAAEmU,aAChCpY,KAAKw4B,KAAK,qBAAuBv0B,EAAEoU,gBACnCrY,KAAKw4B,KAAK,+BAAiCp0B,EAAE4T,0BAC7ChY,KAAKw4B,KAAK,kBAAoBp0B,EAAEmK,kBAIhCvO,KAAKw4B,KAAK,kBAAoBp0B,EAAEmK,aAChCvO,KAAKw4B,KAAK,iBAAmC,IAAhBp0B,EAAEtG,UAAkB,SAA4B,IAAhBsG,EAAEtG,UAAkB,UAAYsG,EAAEtG,YAGnGkC,KAAK6L,QAIT45H,WAAY,SAAU3hI,EAAGC,EAAGkS,EAAO6sH,GAC/B,IAAIhmC,EAAOt7F,EAAOsa,WAElB9b,KAAKgM,MAAMlI,EAAGC,EAAGkS,EAAO6sH,GAAe,KACvC9iI,KAAKw4B,KAAK,eACVx4B,KAAKw4B,KAAK,QAASskE,EAAKC,YACxB/8F,KAAKw4B,KAAK,QAASskE,EAAKE,WACxBh9F,KAAKw4B,KAAK,SAAUskE,EAAKn6F,QACzB3C,KAAK6L,QAYTkmE,aAAc,SAAUr4B,EAAOzjC,EAAOotH,EAAQxsF,GAE1C6C,EAAMhpB,QAAQ1wB,KAAKsxC,KAAMtxC,KAAM62C,EAAa5gC,EAAOotH,IAYvDqC,OAAQ,SAAU5hI,EAAGC,EAAGkS,GAEpBjW,KAAKuyE,KAAK,WAAa/wE,EAAOmqB,QAAU,KACnC3rB,KAAK8C,KAAKknC,aAAexoC,EAAO+U,MAAQ,QAAU,UAAY,KAC9DvW,KAAK8C,KAAK+mB,OAAOg0B,SAAW,WAAa,cAC1C/5C,EAAGC,EAAGkS,EAAOjW,KAAKmzE,OAY1BryE,MAAO,SAAUgD,EAAGC,EAAGkS,GAEnBjW,KAAKgM,MAAMlI,EAAGC,EAAGkS,GAEjB,IAAInV,EAAQd,KAAK8C,KAAKhC,MAClB6kI,EAAS7kI,EAAMk5H,oBACfn1H,EAAS/D,EAAM+6H,cACf/3H,EAAI,MAER9D,KAAKw4B,KAAK,SAAWx4B,KAAK8C,KAAKlF,MAAQkG,EAAI9D,KAAK8C,KAAKjF,QACrDmC,KAAKw4B,KAAK,WAAa13B,EAAMlD,MAAQkG,EAAIhD,EAAMjD,OAC3C,KAAO8nI,EAAO7hI,EAAE8pC,QAAQ,GAAK9pC,EAAI6hI,EAAO5hI,EAAE6pC,QAAQ,GAAK,MAChD9sC,EAAMm5H,YAAYrsF,QAAQ,GAAK,KAC1C5tC,KAAKw4B,KAAK,SAAWh3B,EAAO+6C,aAAaggF,MAAMz7H,EAAMo9H,mBAChDp9H,EAAMo9H,mBAAqB18H,EAAO+6C,aAAa+/E,WAC/C,KAAOx7H,EAAM06H,iBAAiB13H,EAAIA,EAAIhD,EAAM06H,iBAAiBz3H,EAAI,IAClE,KACJ/D,KAAKw4B,KAAK,YAAc13B,EAAMi6H,eAAiB,SAAWj6H,EAAMwlG,aAC3DzhG,EAAO81B,MAAQ,GAAM,KAAO91B,EAAOjH,MAAQkG,EAAIe,EAAOhH,OAAS,MACpEmC,KAAKw4B,KAAK,WAAa13B,EAAMs+H,oBAAoBt+H,EAAMg5H,oBAClDh5H,EAAMo4H,qBAAuB,eAAiB,KAEnDl5H,KAAK6L,QAkBT+5H,OAAQ,SAAUA,EAAQ9hI,EAAGC,EAAGkS,GAE5B,IAAIkd,EAAM3xB,EAAO+vB,MAAM4B,IAEvBnzB,KAAKgM,MAAMlI,EAAGC,EAAGkS,GAEb2vH,EAAO94H,UAEP9M,KAAKw4B,KAAK,YAAcotG,EAAO3jF,YAAc,YAAc,KAEtD2jF,EAAO1f,UAEZlmH,KAAKw4B,KAAK,WAIVx4B,KAAKw4B,KAAK,eAGTotG,EAAO94H,YAAa84H,EAAO3jF,cAE5BjiD,KAAKw4B,KAAK,aAAgBrF,EAAIyyG,EAAO7a,SAAU,GAAK,KACpD/qH,KAAKw4B,KAAK,UAAYotG,EAAOre,iBAAmB,OAC1Bqe,EAAOve,iBAC7BrnH,KAAKw4B,KAAK,UAAYotG,EAAOte,iBAAmB,OAC1Bse,EAAOte,mBAGjCtnH,KAAK6L,QASTrJ,QAAS,WAELhB,EAAOsa,WAAWC,OAAO/b,QAMjCwB,EAAO+vB,MAAM4rB,MAAM76C,UAAUC,YAAcf,EAAO+vB,MAAM4rB,MAmBxD37C,EAAO8tC,KAYHC,UAAW,SAAUgZ,EAASryB,GAE1BA,EAAQA,GAAS,IAAI10B,EAAOX,MAE5B,IAAIglI,EAAMt9E,EAAQg4E,wBAEdX,EAAYp+H,EAAO8tC,IAAIw2F,QACvBC,EAAavkI,EAAO8tC,IAAI02F,QACxBC,EAAYt2F,SAASw1D,gBAAgB8gC,UACrCC,EAAav2F,SAASw1D,gBAAgB+gC,WAK1C,OAHAhwG,EAAMpyB,EAAI+hI,EAAIryG,KAAOuyG,EAAaG,EAClChwG,EAAMnyB,EAAI8hI,EAAI1vG,IAAMypG,EAAYqG,EAEzB/vG,GAiBXtsB,UAAW,SAAU2+C,EAAS49E,GAM1B,YAJgB7/H,IAAZ6/H,IAAyBA,EAAU,OAEvC59E,EAAUA,IAAYA,EAAQ70B,SAAW60B,EAAQ,GAAKA,IAEjB,IAArBA,EAAQ70B,WAMb1zB,KAAKomI,UAAU79E,EAAQg4E,wBAAyB4F,IAc/DC,UAAW,SAAUC,EAAQF,GAEzBA,GAAWA,GAAW,EAEtB,IAAI3wG,GAAW53B,MAAO,EAAGC,OAAQ,EAAG21B,KAAM,EAAGD,MAAO,EAAG4C,IAAK,EAAGC,OAAQ,GAKvE,OAHAZ,EAAO53B,OAAS43B,EAAOjC,MAAQ8yG,EAAO9yG,MAAQ4yG,IAAY3wG,EAAOhC,KAAO6yG,EAAO7yG,KAAO2yG,GACtF3wG,EAAO33B,QAAU23B,EAAOY,OAASiwG,EAAOjwG,OAAS+vG,IAAY3wG,EAAOW,IAAMkwG,EAAOlwG,IAAMgwG,GAEhF3wG,GAWX8wG,eAAgB,SAAU1tF,GAItB,IAAI3jC,GAFJ2jC,EAAS,MAAQA,EAAS54C,KAAK+9H,aAAe,IAAMnlF,EAAOllB,SAAW1zB,KAAK4J,UAAUgvC,GAAUA,GAEzE,MAClBz0B,EAAIy0B,EAAe,OAYvB,MAViB,mBAAN3jC,IAEPA,EAAIA,EAAE1Q,KAAKq0C,IAGE,mBAANz0B,IAEPA,EAAIA,EAAE5f,KAAKq0C,IAGR3jC,EAAIkP,GAiBfoiH,iBAAkB,SAAUh+E,EAAS49E,GAEjC,IAAIliI,EAAIjE,KAAK4J,UAAU2+C,EAAS49E,GAEhC,QAASliI,GAAKA,EAAEmyB,QAAU,GAAKnyB,EAAEsvB,OAAS,GAAKtvB,EAAEkyB,KAAOn2B,KAAKqgI,aAAaziI,OAASqG,EAAEuvB,MAAQxzB,KAAKqgI,aAAaxiI,QA6BnHk8H,qBAAsB,SAAUyM,GAE5B,IAAIC,EAASz2H,OAAOy2H,OAChBpH,EAAcoH,EAAOpH,aAAeoH,EAAOC,gBAAkBD,EAAOE,cAExE,GAAItH,GAA2C,iBAArBA,EAAYjsH,KAGlC,OAAOisH,EAAYjsH,KAElB,GAA2B,iBAAhBisH,EAGZ,OAAOA,EAGX,IAAI/wG,EAAW,mBACXD,EAAY,oBAEhB,GAAwB,WAApBm4G,EAEA,OAAQC,EAAO5oI,OAAS4oI,EAAO7oI,MAAS0wB,EAAWD,EAElD,GAAwB,aAApBm4G,EAEL,OAAQxmI,KAAK+9H,aAAalgI,OAASmC,KAAK+9H,aAAangI,MAAS0wB,EAAWD,EAExE,GAAwB,uBAApBm4G,GAA0E,iBAAvBx2H,OAAOqvH,YAG/D,OAA+B,IAAvBrvH,OAAOqvH,aAA4C,MAAvBrvH,OAAOqvH,YAAuB/wG,EAAWD,EAE5E,GAAIre,OAAO42H,WAChB,CACI,GAAI52H,OAAO42H,WAAW,2BAA2B7gC,QAE7C,OAAOz3E,EAEN,GAAIte,OAAO42H,WAAW,4BAA4B7gC,QAEnD,OAAO13E,EAIf,OAAQruB,KAAK+9H,aAAalgI,OAASmC,KAAK+9H,aAAangI,MAAS0wB,EAAWD,GAqB7E0vG,aAAc,IAAIv8H,EAAOS,UAqBzBo+H,aAAc,IAAI7+H,EAAOS,UAczB4kI,eAAgB,IAAIrlI,EAAOS,WAI/BT,EAAOs5C,OAAOuB,UAAU,SAAUxyB,GAG9B,IAAIm8G,EAAUh2H,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAO82H,aAC5B,WAAc,OAAOn3F,SAASw1D,gBAAgB4gC,YAE9CD,EAAU91H,QAAW,gBAAiBA,OACtC,WAAc,OAAOA,OAAO+2H,aAC5B,WAAc,OAAOp3F,SAASw1D,gBAAgBy6B,WAiDlD,GAvCAh5H,OAAOuF,eAAe3K,EAAO8tC,IAAK,WAC9BxoC,IAAKk/H,IAWTp/H,OAAOuF,eAAe3K,EAAO8tC,IAAK,WAC9BxoC,IAAKg/H,IAGTl/H,OAAOuF,eAAe3K,EAAO8tC,IAAIyuF,aAAc,KAC3Cj3H,IAAKk/H,IAGTp/H,OAAOuF,eAAe3K,EAAO8tC,IAAIyuF,aAAc,KAC3Cj3H,IAAKg/H,IAGTl/H,OAAOuF,eAAe3K,EAAO8tC,IAAI+wF,aAAc,KAC3Cr5H,MAAO,IAGXJ,OAAOuF,eAAe3K,EAAO8tC,IAAI+wF,aAAc,KAC3Cr5H,MAAO,IAGU6iB,EAAOszE,SACvBxtD,SAASw1D,gBAAgB6hC,aAAeh3H,OAAOijB,YAC/C0c,SAASw1D,gBAAgB8hC,cAAgBj3H,OAAOkjB,YAMrD,CAII,IAAI8zG,EAAc,WACd,OAAOvjI,KAAKuC,IAAIgK,OAAOijB,WAAY0c,SAASw1D,gBAAgB6hC,cAE5DC,EAAe,WACf,OAAOxjI,KAAKuC,IAAIgK,OAAOkjB,YAAayc,SAASw1D,gBAAgB8hC,eAIjErgI,OAAOuF,eAAe3K,EAAO8tC,IAAIyuF,aAAc,SAC3Cj3H,IAAKkgI,IAGTpgI,OAAOuF,eAAe3K,EAAO8tC,IAAIyuF,aAAc,UAC3Cj3H,IAAKmgI,IAGTrgI,OAAOuF,eAAe3K,EAAO8tC,IAAI+wF,aAAc,SAC3Cv5H,IAAKkgI,IAGTpgI,OAAOuF,eAAe3K,EAAO8tC,IAAI+wF,aAAc,UAC3Cv5H,IAAKmgI,SAKTrgI,OAAOuF,eAAe3K,EAAO8tC,IAAIyuF,aAAc,SAC3Cj3H,IAAK,WACD,OAAOkJ,OAAOijB,cAItBrsB,OAAOuF,eAAe3K,EAAO8tC,IAAIyuF,aAAc,UAC3Cj3H,IAAK,WACD,OAAOkJ,OAAOkjB,eAItBtsB,OAAOuF,eAAe3K,EAAO8tC,IAAI+wF,aAAc,SAE3Cv5H,IAAK,WACD,IAAI7D,EAAI0sC,SAASw1D,gBAAgB6hC,YAC7B9jI,EAAI8M,OAAOijB,WAEf,OAAOhwB,EAAIC,EAAIA,EAAID,KAK3B2D,OAAOuF,eAAe3K,EAAO8tC,IAAI+wF,aAAc,UAE3Cv5H,IAAK,WACD,IAAI7D,EAAI0sC,SAASw1D,gBAAgB8hC,aAC7B/jI,EAAI8M,OAAOkjB,YAEf,OAAOjwB,EAAIC,EAAIA,EAAID,KAU/B2D,OAAOuF,eAAe3K,EAAO8tC,IAAIu3F,eAAgB,KAC7C7/H,MAAO,IAGXJ,OAAOuF,eAAe3K,EAAO8tC,IAAIu3F,eAAgB,KAC7C7/H,MAAO,IAGXJ,OAAOuF,eAAe3K,EAAO8tC,IAAIu3F,eAAgB,SAE7C//H,IAAK,WACD,IAAI1D,EAAIusC,SAASw1D,gBACjB,OAAO1hG,KAAKuC,IAAI5C,EAAE4jI,YAAa5jI,EAAE8jI,YAAa9jI,EAAE+jI,gBAKxDvgI,OAAOuF,eAAe3K,EAAO8tC,IAAIu3F,eAAgB,UAE7C//H,IAAK,WACD,IAAI1D,EAAIusC,SAASw1D,gBACjB,OAAO1hG,KAAKuC,IAAI5C,EAAE6jI,aAAc7jI,EAAEgkI,aAAchkI,EAAEikI,kBAK3D,MAAM,GAoBT7lI,EAAO+1C,SAAW,SAAU8B,GAOxBr5C,KAAKY,SAAW,EAMhBZ,KAAKq5C,KAAOA,OAIhB73C,EAAO+1C,SAASj1C,WAUZy2B,IAAK,SAAU7xB,GAOX,OALKlH,KAAK6M,OAAO3F,IAEblH,KAAKq5C,KAAK3xC,KAAKR,GAGZA,GAWX8tC,SAAU,SAAU9tC,GAEhB,OAAOlH,KAAKq5C,KAAKpwC,QAAQ/B,IAa7BogI,SAAU,SAAUpxF,EAAUlvC,GAI1B,IAFA,IAAItE,EAAI1C,KAAKq5C,KAAK12C,OAEXD,KAEH,GAAI1C,KAAKq5C,KAAK32C,GAAGwzC,KAAclvC,EAE3B,OAAOhH,KAAKq5C,KAAK32C,GAIzB,OAAO,MAWXmK,OAAQ,SAAU3F,GAEd,OAAQlH,KAAKq5C,KAAKpwC,QAAQ/B,IAAS,GASvC0+B,MAAO,WAEH5lC,KAAKq5C,KAAK12C,OAAS,GAWvBoZ,OAAQ,SAAU7U,GAEd,IAAI8sF,EAAMh0F,KAAKq5C,KAAKpwC,QAAQ/B,GAE5B,GAAI8sF,GAAO,EAGP,OADAh0F,KAAKq5C,KAAK3wC,OAAOsrF,EAAK,GACf9sF,GAYf2uC,OAAQ,SAAUjjC,EAAK5L,GAInB,IAFA,IAAItE,EAAI1C,KAAKq5C,KAAK12C,OAEXD,KAEC1C,KAAKq5C,KAAK32C,KAEV1C,KAAKq5C,KAAK32C,GAAGkQ,GAAO5L,IAgBhCiwC,QAAS,SAAUrkC,GAMf,IAJA,IAAIsd,EAAO7oB,MAAM/E,UAAUytB,MAAMxrB,KAAK8rB,UAAW,GAE7C3tB,EAAI1C,KAAKq5C,KAAK12C,OAEXD,KAEC1C,KAAKq5C,KAAK32C,IAAM1C,KAAKq5C,KAAK32C,GAAGkQ,IAE7B5S,KAAKq5C,KAAK32C,GAAGkQ,GAAKtN,MAAMtF,KAAKq5C,KAAK32C,GAAIwtB,IAYlDuZ,UAAW,SAAUjnC,QAED8D,IAAZ9D,IAAyBA,GAAU,GAIvC,IAFA,IAAIE,EAAI1C,KAAKq5C,KAAK12C,OAEXD,KAEH,GAAI1C,KAAKq5C,KAAK32C,GACd,CACI,IAAIwE,EAAOlH,KAAK+b,OAAO/b,KAAKq5C,KAAK32C,IAE7BF,GAEA0E,EAAK1E,UAKjBxC,KAAKY,SAAW,EAChBZ,KAAKq5C,UAYbzyC,OAAOuF,eAAe3K,EAAO+1C,SAASj1C,UAAW,SAE7CwE,IAAK,WACD,OAAO9G,KAAKq5C,KAAK12C,UAWzBiE,OAAOuF,eAAe3K,EAAO+1C,SAASj1C,UAAW,SAE7CwE,IAAK,WAID,OAFA9G,KAAKY,SAAW,EAEZZ,KAAKq5C,KAAK12C,OAAS,EAEZ3C,KAAKq5C,KAAK,GAIV,QAanBzyC,OAAOuF,eAAe3K,EAAO+1C,SAASj1C,UAAW,QAE7CwE,IAAK,WAED,OAAI9G,KAAKY,SAAWZ,KAAKq5C,KAAK12C,QAE1B3C,KAAKY,WAEEZ,KAAKq5C,KAAKr5C,KAAKY,WAIf,QAOnBY,EAAO+1C,SAASj1C,UAAUC,YAAcf,EAAO+1C,SAc/C/1C,EAAO03C,YAcHC,cAAe,SAAUozD,EAASjnF,EAAY3iB,GAE1C,GAAgB,OAAZ4pG,EAAoB,OAAO,UACZjmG,IAAfgf,IAA4BA,EAAa,QAC9Bhf,IAAX3D,IAAwBA,EAAS4pG,EAAQ5pG,QAE7C,IAAI4kI,EAAcjiH,EAAa7hB,KAAKsL,MAAMtL,KAAK+uB,SAAW7vB,GAE1D,YAAgC2D,IAAzBimG,EAAQg7B,GAA6B,KAAOh7B,EAAQg7B,IAgB/DC,iBAAkB,SAAUj7B,EAASjnF,EAAY3iB,GAE7C,GAAe,MAAX4pG,EACA,OAAO,UAGQjmG,IAAfgf,IAA4BA,EAAa,QAC9Bhf,IAAX3D,IAAwBA,EAAS4pG,EAAQ5pG,QAE7C,IAAI4kI,EAAcjiH,EAAa7hB,KAAKsL,MAAMtL,KAAK+uB,SAAW7vB,GAC1D,GAAI4kI,EAAch7B,EAAQ5pG,OAC1B,CACI,IAAI+G,EAAU6iG,EAAQ7jG,OAAO6+H,EAAa,GAC1C,YAAsBjhI,IAAfoD,EAAQ,GAAmB,KAAOA,EAAQ,GAIjD,OAAO,MAqBfqS,OAAQ,SAAUyf,EAAOlW,EAAYnH,GAEjC,IAAIxb,EAAS64B,EAAM74B,OAEnB,KAAI2iB,GAAc3iB,GAAoB,IAAVwb,GAA5B,CAEa,MAATA,IAAiBA,EAAQ,GAI7B,IAAK,IAFDspH,EAAY9kI,EAASwb,EAEhBzb,EAAI4iB,EAAY5iB,EAAI+kI,IAAa/kI,EAEtC84B,EAAM94B,GAAK84B,EAAM94B,EAAIyb,GAGzBqd,EAAM74B,OAAS8kI,IAUnB3tF,QAAS,SAAUte,GAEf,IAAK,IAAI94B,EAAI84B,EAAM74B,OAAS,EAAGD,EAAI,EAAGA,IACtC,CACI,IAAI+E,EAAIhE,KAAKsL,MAAMtL,KAAK+uB,UAAY9vB,EAAI,IACpC4K,EAAOkuB,EAAM94B,GACjB84B,EAAM94B,GAAK84B,EAAM/zB,GACjB+zB,EAAM/zB,GAAK6F,EAGf,OAAOkuB,GAWXksG,gBAAiB,SAAUlsG,GAOvB,IAAK,IALDmsG,EAAiBnsG,EAAM74B,OACvBilI,EAAiBpsG,EAAM,GAAG74B,OAE1B+1B,EAAS,IAAIrxB,MAAMugI,GAEdllI,EAAI,EAAGA,EAAIklI,EAAgBllI,IACpC,CACIg2B,EAAOh2B,GAAK,IAAI2E,MAAMsgI,GAEtB,IAAK,IAAIlgI,EAAIkgI,EAAiB,EAAGlgI,GAAK,EAAGA,IAErCixB,EAAOh2B,GAAG+E,GAAK+zB,EAAM/zB,GAAG/E,GAIhC,OAAOg2B,GAcXmvG,aAAc,SAAUx6H,EAAQg3B,GAO5B,GALyB,iBAAdA,IAEPA,GAAcA,EAAY,IAAO,KAAO,KAG1B,KAAdA,IAAmC,MAAfA,GAAoC,eAAdA,EAG1Ch3B,GADAA,EAAS7L,EAAO03C,WAAWwuF,gBAAgBr6H,IAC3B6Q,eAEf,IAAmB,KAAfmmB,GAAmC,MAAdA,GAAmC,gBAAdA,EAE/Ch3B,EAASA,EAAO6Q,UAChB7Q,EAAS7L,EAAO03C,WAAWwuF,gBAAgBr6H,QAE1C,GAA4B,MAAxB5J,KAAKgzB,IAAI4N,IAAoC,cAAdA,EACxC,CACI,IAAK,IAAI3hC,EAAI,EAAGA,EAAI2K,EAAO1K,OAAQD,IAE/B2K,EAAO3K,GAAGwb,UAGd7Q,EAASA,EAAO6Q,UAGpB,OAAO7Q,GAaXy6H,YAAa,SAAU9gI,EAAO+gI,GAE1B,IAAKA,EAAIplI,OAEL,OAAOqlI,IAEN,GAAmB,IAAfD,EAAIplI,QAAgBqE,EAAQ+gI,EAAI,GAErC,OAAOA,EAAI,GAIf,IADA,IAAIrlI,EAAI,EACDqlI,EAAIrlI,GAAKsE,GACZtE,IAGJ,IAAIulI,EAAMF,EAAIrlI,EAAI,GACdwlI,EAAQxlI,EAAIqlI,EAAIplI,OAAUolI,EAAIrlI,GAAKg9B,OAAO8B,kBAE9C,OAAS0mG,EAAOlhI,GAAWA,EAAQihI,EAAQC,EAAOD,GAiBtDE,YAAa,SAAU3sG,GAEnB,IAAIp3B,EAAIo3B,EAAMhb,MAGd,OAFAgb,EAAM0rD,QAAQ9iF,GAEPA,GAiBXgkI,WAAY,SAAU5sG,GAElB,IAAIp3B,EAAIo3B,EAAM4yB,QAGd,OAFA5yB,EAAM9zB,KAAKtD,GAEJA,GAuBXikI,YAAa,SAAUr8H,EAAOgP,QAEd1U,IAAR0U,GAA6B,OAARA,IAErBA,EAAMhP,EACNA,EAAQ,GAKZ,IAAK,IAFD0sB,KAEKh2B,EAAIsJ,EAAOtJ,GAAKsY,EAAKtY,IAE1Bg2B,EAAOhxB,KAAKhF,GAGhB,OAAOg2B,GAqCX4vG,gBAAiB,SAAUt8H,EAAOgP,EAAKokC,QAErB94C,IAAV0F,GAAiC,OAAVA,IAAkBA,EAAQ,QAEzC1F,IAAR0U,GAA6B,OAARA,IAErBA,EAAMhP,EACNA,EAAQ,QAGC1F,IAAT84C,IAAsBA,EAAO,GAKjC,IAAK,IAHD1mB,KACAwf,EAAQz0C,KAAKuC,IAAIxE,EAAOiC,KAAK+mG,mBAAmBxvF,EAAMhP,IAAUozC,GAAQ,IAAK,GAExE18C,EAAI,EAAGA,EAAIw1C,EAAOx1C,IAEvBg2B,EAAOhxB,KAAKsE,GACZA,GAASozC,EAGb,OAAO1mB,IAuBfl3B,EAAO+mI,WAAa,WAOhBvoI,KAAK20C,KAAO,KAOZ30C,KAAK84E,KAAO,KAOZ94E,KAAKivD,MAAQ,KAObjvD,KAAK6gF,KAAO,KAOZ7gF,KAAKk4C,MAAQ,GAIjB12C,EAAO+mI,WAAWjmI,WASdy2B,IAAK,SAAU7xB,GAGX,OAAmB,IAAflH,KAAKk4C,OAA8B,OAAfl4C,KAAKivD,OAAgC,OAAdjvD,KAAK6gF,MAEhD7gF,KAAKivD,MAAQ/nD,EACblH,KAAK6gF,KAAO35E,EACZlH,KAAK20C,KAAOztC,EACZA,EAAK4xE,KAAO94E,KACZA,KAAKk4C,QACEhxC,IAIXlH,KAAK6gF,KAAKlsC,KAAOztC,EAEjBA,EAAK4xE,KAAO94E,KAAK6gF,KAEjB7gF,KAAK6gF,KAAO35E,EAEZlH,KAAKk4C,QAEEhxC,IASX0+B,MAAO,WAEH5lC,KAAKivD,MAAQ,KACbjvD,KAAK6gF,KAAO,KACZ7gF,KAAK20C,KAAO,KACZ30C,KAAK84E,KAAO,KACZ94E,KAAKk4C,MAAQ,GAUjBn8B,OAAQ,SAAU7U,GAEd,GAAmB,IAAflH,KAAKk4C,MAIL,OAFAl4C,KAAK4lC,aACL1+B,EAAKytC,KAAOztC,EAAK4xE,KAAO,MAIxB5xE,IAASlH,KAAKivD,MAGdjvD,KAAKivD,MAAQjvD,KAAKivD,MAAMta,KAEnBztC,IAASlH,KAAK6gF,OAGnB7gF,KAAK6gF,KAAO7gF,KAAK6gF,KAAK/H,MAGtB5xE,EAAK4xE,OAGL5xE,EAAK4xE,KAAKnkC,KAAOztC,EAAKytC,MAGtBztC,EAAKytC,OAGLztC,EAAKytC,KAAKmkC,KAAO5xE,EAAK4xE,MAG1B5xE,EAAKytC,KAAOztC,EAAK4xE,KAAO,KAEL,OAAf94E,KAAKivD,QAELjvD,KAAK6gF,KAAO,MAGhB7gF,KAAKk4C,SAWTjB,QAAS,SAAU9C,GAEf,GAAKn0C,KAAKivD,OAAUjvD,KAAK6gF,KAAzB,CAKA,IAAI2nD,EAASxoI,KAAKivD,MAElB,GAEQu5E,GAAUA,EAAOr0F,IAEjBq0F,EAAOr0F,GAAU5vC,KAAKikI,GAG1BA,EAASA,EAAO7zF,WAGb6zF,IAAWxoI,KAAK6gF,KAAKlsC,SAMpCnzC,EAAO+mI,WAAWjmI,UAAUC,YAAcf,EAAO+mI,WAmBjD/mI,EAAOy7C,OAAS,SAAUn6C,GAKtB9C,KAAK8C,KAAOA,EAKZ9C,KAAK6iI,IAAM,KAKX7iI,KAAK6W,OAAS,KAKd7W,KAAKg4E,IAAM,KAKXh4E,KAAKyoI,WACCC,EAAG,OAAQC,EAAG,UAAWC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpmE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW7yC,EAAG,YAC/Mm4G,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpmE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW7yC,EAAG,YAClNm4G,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpmE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW7yC,EAAG,SAClNm4G,EAAG,OAAQC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpmE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW7yC,EAAG,YAC/Mm4G,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWpmE,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW7yC,EAAG,UAU5N/uB,EAAOy7C,OAAOmsF,aAAe,EAO7B5nI,EAAOy7C,OAAOosF,YAAc,EAO5B7nI,EAAOy7C,OAAOqsF,YAAc,EAO5B9nI,EAAOy7C,OAAOssF,YAAc,EAO5B/nI,EAAOy7C,OAAOusF,yBAA2B,EAEzChoI,EAAOy7C,OAAO36C,WAsCVvE,QAAS,SAAU6U,EAAKoB,EAAM60G,EAAYC,EAAaC,EAASrkH,EAAiByvC,EAAUtL,QAEpEviC,IAAfuiH,IAA4BA,EAAa,QACzBviH,IAAhBwiH,IAA6BA,EAAcD,QAC/BviH,IAAZyiH,IAAyBA,EAAU,QACfziH,IAApB5B,IAAiCA,GAAkB,GAEvD,IAAIuQ,EAAIjB,EAAK,GAAGrR,OAASkmH,EACrB1kG,EAAInQ,EAAKrR,OAASmmH,EAGL,OAAb9oH,KAAK6iI,MAEL7iI,KAAK6iI,IAAM7iI,KAAK8C,KAAKijC,KAAKuuC,aAC1Bt0E,KAAK6W,OAAS7W,KAAK6iI,IAAIhsH,OACvB7W,KAAKg4E,IAAMh4E,KAAK6iI,IAAIp1H,SAGxBzN,KAAK6iI,IAAI38H,OAAO+O,EAAGkP,GACnBnkB,KAAK6iI,IAAItoH,QAGT,IAAK,IAAIxW,EAAI,EAAGA,EAAIiQ,EAAKrR,OAAQoB,IAI7B,IAAK,IAFD0lI,EAAMz1H,EAAKjQ,GAEND,EAAI,EAAGA,EAAI2lI,EAAI9mI,OAAQmB,IAChC,CACI,IAAIV,EAAIqmI,EAAI3lI,GAEF,MAANV,GAAmB,MAANA,IAEbpD,KAAKg4E,IAAIzvD,UAAYvoB,KAAKyoI,SAAS1f,GAAS3lH,GAC5CpD,KAAKg4E,IAAItvD,SAAS5kB,EAAI+kH,EAAY9kH,EAAI+kH,EAAaD,EAAYC,IAK3E,OAAOpkH,EACH1E,KAAK6iI,IAAIn+H,gBAAgBkO,EAAKuhC,EAAUtL,GACxC7oC,KAAK6zB,QAqBbyjC,KAAM,SAAU1kD,EAAKhV,EAAOC,EAAQ02C,EAAWC,EAAYv+B,EAAOvR,EAAiByvC,EAAUtL,QAEjEviC,IAApB5B,IAAiCA,GAAkB,GAGtC,OAAb1E,KAAK6iI,MAEL7iI,KAAK6iI,IAAM7iI,KAAK8C,KAAKijC,KAAKuuC,aAC1Bt0E,KAAK6W,OAAS7W,KAAK6iI,IAAIhsH,OACvB7W,KAAKg4E,IAAMh4E,KAAK6iI,IAAIp1H,SAGxBzN,KAAK6iI,IAAI38H,OAAOtI,EAAOC,GAEvBmC,KAAKg4E,IAAIzvD,UAAYtS,EAErB,IAAK,IAAIlS,EAAI,EAAGA,EAAIlG,EAAQkG,GAAKywC,EAE7Bx0C,KAAKg4E,IAAItvD,SAAS,EAAG3kB,EAAGnG,EAAO,GAGnC,IAAK,IAAIkG,EAAI,EAAGA,EAAIlG,EAAOkG,GAAKywC,EAE5Bv0C,KAAKg4E,IAAItvD,SAAS5kB,EAAG,EAAG,EAAGjG,GAG/B,OAAO6G,EACH1E,KAAK6iI,IAAIn+H,gBAAgBkO,EAAKuhC,EAAUtL,GACxC7oC,KAAK6zB,QAgBbA,KAAM,SAAUwB,EAAMvxB,EAAGC,EAAGnG,EAAOC,EAAQgK,EAAWg6B,GAMlD,OAJY,MAARxM,IAAgBA,EAAOr1B,KAAK8C,KAAKijC,KAAKuuC,cAE1Cj/C,EAAKnvB,OAAOlG,KAAK6iI,IAAIjlI,MAAOoC,KAAK6iI,IAAIhlI,QAE9Bw3B,EAAKkkD,KAAKv5E,KAAK6iI,IAAK/+H,EAAGC,EAAGnG,EAAOC,EAAQgK,EAAWg6B,KAMnErgC,EAAOy7C,OAAO36C,UAAUC,YAAcf,EAAOy7C,OAsB7Cz7C,EAAO27H,SAAW,SAAUzqB,EAAS90G,EAAOC,GAKxCmC,KAAK8C,KAAO4vG,EAAQ5vG,KAKpB9C,KAAK0yG,QAAUA,EAGf1yG,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAK0pI,aAAe,IAAIloI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACtDmC,KAAKu3D,YAAc,IAAI/1D,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACrDmC,KAAK2pI,WAAa,IAAInoI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GACpDmC,KAAK4pI,WAAa,IAAIpoI,EAAOS,UAAU,EAAG,EAAGrE,EAAOC,GAMpDmC,KAAK6pI,eAAiB,IAAIroI,EAAOX,MAAM,EAAG,GAC1Cb,KAAK8pI,cAAgB,IAAItoI,EAAOX,MAAM,EAAG,GACzCb,KAAK+pI,aAAe,IAAIvoI,EAAOX,MAAM,EAAG,GACxCb,KAAKgqI,aAAe,IAAIxoI,EAAOX,MAAM,EAAG,GAMxCb,KAAKiqI,YAAc,IAAIzoI,EAAOX,MAAM,EAAG,GACvCb,KAAKkqI,WAAa,IAAI1oI,EAAOX,MAAM,EAAG,GACtCb,KAAKw3D,mBAAqB,IAAIh2D,EAAOX,MAAM,EAAG,GAC9Cb,KAAKmqI,UAAY,IAAI3oI,EAAOX,MAAM,EAAG,GACrCb,KAAKoqI,UAAY,IAAI5oI,EAAOX,MAAM,EAAG,GAErCb,KAAKqqI,YAAc,EACnBrqI,KAAKsqI,aAAe,EACpBtqI,KAAKuqI,cAAgB,EACrBvqI,KAAKwqI,cAAgB,EAErBxqI,KAAKyqI,OAAS7sI,EAAQC,EACtBmC,KAAK0qI,OAAS7sI,EAASD,EAEvBoC,KAAKwhI,WAAa,EAElBxhI,KAAK2qI,WAITnpI,EAAO27H,SAAS76H,WASZqjC,QAAS,SAAU/nC,EAAOC,GAGtBmC,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEdmC,KAAKyqI,OAAS7sI,EAAQC,EACtBmC,KAAK0qI,OAAS7sI,EAASD,EAEvBoC,KAAKoqI,UAAY,IAAI5oI,EAAOX,MAAM,EAAG,GAErCb,KAAK4pI,WAAWhsI,MAAQoC,KAAKpC,MAC7BoC,KAAK4pI,WAAW/rI,OAASmC,KAAKnC,OAE9BmC,KAAKopB,WAeTwhH,kBAAmB,SAAUhtI,EAAOC,EAAQ4E,EAAUqrC,QAE/BxnC,IAAfwnC,IAA4BA,GAAa,GAE7C9tC,KAAKqqI,YAAczsI,EACnBoC,KAAKsqI,aAAezsI,EAEpBmC,KAAK0pI,aAAa9rI,MAAQA,EAC1BoC,KAAK0pI,aAAa7rI,OAASA,EAE3B,IAAIgtI,EAAQ,IAAIrpI,EAAOspI,UAAU9qI,KAAMA,KAAK6pI,eAAgB7pI,KAAK0pI,aAAc1pI,KAAKiqI,aAcpF,OAZIn8F,GAEA9tC,KAAK8C,KAAKE,MAAM+1B,IAAI8xG,GAGxB7qI,KAAK2qI,OAAOjjI,KAAKmjI,QAEO,IAAbpoI,GAAgD,cAAbA,GAE1CooI,EAAM/2F,YAAYrxC,GAGfooI,GAWXE,iBAAkB,SAAUtoI,EAAUqrC,QAEfxnC,IAAfwnC,IAA4BA,GAAa,GAE7C,IAAI+8F,EAAQ,IAAIrpI,EAAOspI,UAAU9qI,KAAMA,KAAK8pI,cAAe9pI,KAAKu3D,YAAav3D,KAAKkqI,YAclF,OAZIp8F,GAEA9tC,KAAK8C,KAAKE,MAAM+1B,IAAI8xG,GAGxB7qI,KAAK2qI,OAAOjjI,KAAKmjI,QAEO,IAAbpoI,GAAgD,cAAbA,GAE1CooI,EAAM/2F,YAAYrxC,GAGfooI,GAWXG,gBAAiB,SAAUvoI,GAEvB,IAAIooI,EAAQ,IAAIrpI,EAAOspI,UAAU9qI,KAAMA,KAAK+pI,aAAc/pI,KAAK2pI,WAAY3pI,KAAKkqI,YAWhF,OATAlqI,KAAK8C,KAAKE,MAAM+1B,IAAI8xG,GAEpB7qI,KAAK2qI,OAAOjjI,KAAKmjI,QAEO,IAAbpoI,GAEPooI,EAAM/2F,YAAYrxC,GAGfooI,GAWXI,iBAAkB,SAAUxoI,GAExB,IAAIooI,EAAQ,IAAIrpI,EAAOspI,UAAU9qI,KAAMA,KAAKgqI,aAAchqI,KAAK4pI,WAAY5pI,KAAKoqI,WAWhF,OATApqI,KAAK8C,KAAKE,MAAM+1B,IAAI8xG,GAEpB7qI,KAAK2qI,OAAOjjI,KAAKmjI,QAEO,IAAbpoI,GAEPooI,EAAM/2F,YAAYrxC,GAGfooI,GASXjlG,MAAO,WAIH,IAFA,IAAIljC,EAAI1C,KAAK2qI,OAAOhoI,OAEbD,KAEE1C,KAAK2qI,OAAOjoI,GAAGwoI,UAGhBlrI,KAAK2qI,OAAOjoI,GAAG9B,SAAW,KAC1BZ,KAAK2qI,OAAOjoI,GAAG5B,MAAQ,KACvBd,KAAK2qI,OAAO56G,MAAMrtB,EAAG,KAajCy4H,SAAU,SAAUv9H,EAAOC,GAEvBmC,KAAKyqI,OAAS7sI,EAAQC,EACtBmC,KAAK0qI,OAAS7sI,EAASD,EAEvBoC,KAAKopB,QAAQxrB,EAAOC,IASxBurB,QAAS,WAELppB,KAAKwhI,WAAa/9H,KAAK21B,IAAKp5B,KAAK0yG,QAAQ70G,OAASmC,KAAKnC,OAAUmC,KAAK0yG,QAAQ90G,MAAQoC,KAAKpC,OAE3FoC,KAAKu3D,YAAY35D,MAAQ6F,KAAK8xB,MAAMv1B,KAAKpC,MAAQoC,KAAKwhI,YACtDxhI,KAAKu3D,YAAY15D,OAAS4F,KAAK8xB,MAAMv1B,KAAKnC,OAASmC,KAAKwhI,YAExDxhI,KAAKkqI,WAAWnjI,IAAI/G,KAAKu3D,YAAY35D,MAAQoC,KAAKpC,MAAOoC,KAAKu3D,YAAY15D,OAASmC,KAAKnC,QACxFmC,KAAKw3D,mBAAmBzwD,IAAI/G,KAAKpC,MAAQoC,KAAKu3D,YAAY35D,MAAOoC,KAAKnC,OAASmC,KAAKu3D,YAAY15D,QAEhGmC,KAAKmqI,UAAUpjI,IAAI/G,KAAK2pI,WAAW/rI,MAAQoC,KAAKpC,MAAOoC,KAAK2pI,WAAW9rI,OAASmC,KAAKnC,QAErFmC,KAAK2pI,WAAW/rI,MAAQ6F,KAAK8xB,MAAMv1B,KAAK0yG,QAAQ90G,MAAQoC,KAAKw3D,mBAAmB1zD,GAChF9D,KAAK2pI,WAAW9rI,OAAS4F,KAAK8xB,MAAMv1B,KAAK0yG,QAAQ70G,OAASmC,KAAKw3D,mBAAmBzzD,GAElF/D,KAAKu3D,YAAYz+B,SAAS94B,KAAK0yG,QAAQ7tG,OAAOszB,QAASn4B,KAAK0yG,QAAQ7tG,OAAOuzB,SAC3Ep4B,KAAK4pI,WAAW9wG,SAAS94B,KAAK0yG,QAAQ7tG,OAAOszB,QAASn4B,KAAK0yG,QAAQ7tG,OAAOuzB,SAE1Ep4B,KAAK8pI,cAAc/iI,IAAI/G,KAAKu3D,YAAYzzD,EAAG9D,KAAKu3D,YAAYxzD,GAC5D/D,KAAKgqI,aAAajjI,IAAI/G,KAAK4pI,WAAW9lI,EAAG9D,KAAK4pI,WAAW7lI,IAU7DonI,UAAW,SAAUjoH,GAEjBljB,KAAK0yG,QAAQ4vB,YAAYp/G,GAEzBA,EAAOpf,EAAI9D,KAAK0yG,QAAQ7tG,OAAOszB,QAC/BjV,EAAOnf,EAAI/D,KAAK0yG,QAAQ7tG,OAAOuzB,SASnCsR,MAAO,WAUH1pC,KAAK8C,KAAK4mC,MAAM6oC,KAAKvyE,KAAKu3D,YAAY35D,MAAQ,MAAQoC,KAAKu3D,YAAY15D,OAAQmC,KAAKu3D,YAAYzzD,EAAI,EAAG9D,KAAKu3D,YAAYxzD,EAAI,IAC5H/D,KAAK8C,KAAK4mC,MAAM65F,KAAKvjI,KAAKu3D,YAAa,oBAAoB,KAYnE/1D,EAAO27H,SAAS76H,UAAUC,YAAcf,EAAO27H,SAuB/C37H,EAAOspI,UAAY,SAAUp4B,EAAS9xG,EAAUiE,EAAQ/D,GAEpDU,EAAOiwC,MAAMltC,KAAKvE,KAAM0yG,EAAQ5vG,KAAM,KAAM,cAAgB4vG,EAAQ5vG,KAAKoiC,IAAIgvC,QAAQ,GAKrFl0E,KAAK0yG,QAAUA,EAAQA,QAKvB1yG,KAAKs3D,KAAOo7C,EAOZ1yG,KAAKkrI,SAAU,EAKflrI,KAAKY,SAAWA,EAKhBZ,KAAK6E,OAASA,EAKd7E,KAAKc,MAAQA,EAKbd,KAAKorI,QAAUvmI,EAAOumI,QAKtBprI,KAAKqrI,UAAY,IAAI7pI,EAAOX,MAAMgE,EAAO6xB,UAAW,GAKpD12B,KAAKsrI,SAAWzmI,EAAOymI,SAKvBtrI,KAAKurI,WAAa1mI,EAAO0mI,WAKzBvrI,KAAKwrI,aAAe,IAAIhqI,EAAOX,MAAMgE,EAAO6xB,UAAW7xB,EAAOuxB,QAK9Dp2B,KAAKyrI,YAAc5mI,EAAO4mI,aAI9BjqI,EAAOspI,UAAUxoI,UAAYsE,OAAOwB,OAAO5G,EAAOiwC,MAAMnvC,WACxDd,EAAOspI,UAAUxoI,UAAUC,YAAcf,EAAOspI,UAOhDtpI,EAAOspI,UAAUxoI,UAAU4D,OAAS,aAQpC1E,EAAOspI,UAAUxoI,UAAUonC,MAAQ,WAE/B1pC,KAAK8C,KAAK4mC,MAAM6oC,KAAKvyE,KAAK6E,OAAOjH,MAAQ,MAAQoC,KAAK6E,OAAOhH,OAAQmC,KAAK6E,OAAOf,EAAI,EAAG9D,KAAK6E,OAAOd,EAAI,IACxG/D,KAAK8C,KAAK4mC,MAAM65F,KAAKvjI,KAAK6E,OAAQ,oBAAoB,GAEtD7E,KAAK8C,KAAK4mC,MAAM65F,KAAKvjI,KAAKorI,QAAS,wBACnCprI,KAAK8C,KAAK4mC,MAAM65F,KAAKvjI,KAAKqrI,UAAW,wBACrCrrI,KAAK8C,KAAK4mC,MAAM65F,KAAKvjI,KAAKsrI,SAAU,yBAexC9pI,EAAOue,OASH2rH,IAAK,SASLC,OAAQ,SASRC,OAAQ,SASRC,MAAO,MASPC,KAAM,MASNC,KAAM,IASNC,OAAQ,SASRC,MAAO,SASPC,MAAO,EASPC,KAAM,QAeN3xD,UAAW,SAAUv2E,EAAGqW,EAAGpX,EAAGD,GAE1B,OAAIzB,EAAOs5C,OAAOqgC,eAEJl4E,GAAK,GAAOC,GAAK,GAAOoX,GAAM,EAAKrW,KAAQ,GAI3CA,GAAK,GAAOqW,GAAK,GAAOpX,GAAM,EAAKD,KAAQ,GAwB7D62E,YAAa,SAAUpwD,EAAMqL,EAAKwmD,EAAKC,GAkCnC,YAhCYl1E,IAARyuB,GAA6B,OAARA,IAAgBA,EAAMvzB,EAAOue,MAAM85D,oBAChDvzE,IAARi1E,GAA6B,OAARA,IAAgBA,GAAM,QACnCj1E,IAARk1E,GAA6B,OAARA,IAAgBA,GAAM,GAE3Ch6E,EAAOs5C,OAAOqgC,eAEdpmD,EAAI9xB,GAAa,WAAPymB,KAAuB,GACjCqL,EAAI7xB,GAAa,SAAPwmB,KAAuB,GACjCqL,EAAIza,GAAa,MAAPoP,KAAuB,EACjCqL,EAAI9wB,EAAa,IAAPylB,IAIVqL,EAAI9wB,GAAa,WAAPylB,KAAuB,GACjCqL,EAAIza,GAAa,SAAPoP,KAAuB,GACjCqL,EAAI7xB,GAAa,MAAPwmB,KAAuB,EACjCqL,EAAI9xB,EAAa,IAAPymB,GAGdqL,EAAI9e,MAAQyT,EACZqL,EAAIrL,KAAO,QAAUqL,EAAI9wB,EAAI,IAAM8wB,EAAIza,EAAI,IAAMya,EAAI7xB,EAAI,IAAO6xB,EAAI9xB,EAAI,IAAO,IAE3Es4E,GAEA/5E,EAAOue,MAAMqsH,SAASr3G,EAAI9wB,EAAG8wB,EAAIza,EAAGya,EAAI7xB,EAAG6xB,GAG3CymD,GAEAh6E,EAAOue,MAAMssH,SAASt3G,EAAI9wB,EAAG8wB,EAAIza,EAAGya,EAAI7xB,EAAG6xB,GAGxCA,GAeXu3G,SAAU,SAAU5iH,EAAMqL,GActB,OAZKA,IAEDA,EAAMvzB,EAAOue,MAAM85D,eAGvB9kD,EAAI9wB,GAAa,WAAPylB,KAAuB,GACjCqL,EAAIza,GAAa,SAAPoP,KAAuB,GACjCqL,EAAI7xB,GAAa,MAAPwmB,KAAuB,EACjCqL,EAAI9xB,EAAa,IAAPymB,EAEVqL,EAAIrL,KAAO,QAAUqL,EAAI9wB,EAAI,IAAM8wB,EAAIza,EAAI,IAAMya,EAAI7xB,EAAI,IAAM6xB,EAAI9xB,EAAI,IAEhE8xB,GAgBXw3G,OAAQ,SAAUtoI,EAAGqW,EAAGpX,EAAGD,GAEvB,OAAQgB,GAAK,GAAOqW,GAAK,GAAOpX,GAAM,EAAKD,GAe/CupI,OAAQ,SAAUvoI,EAAGqW,EAAGpX,EAAGD,GAEvB,OAASA,GAAK,GAAOC,GAAK,GAAOoX,GAAK,EAAKrW,KAAO,GAYtD+b,cAAe,SAAU/J,GAErB,QACKA,GAAS,GAAK,KAAQ,KACtBA,GAAS,EAAI,KAAQ,KACb,IAARA,GAAgB,MAazBw2H,cAAe,SAAUC,GAErB,OAAkB,IAATA,EAAI,IAAY,KAAgB,IAATA,EAAI,IAAY,GAAc,IAATA,EAAI,IAkB7DN,SAAU,SAAUnoI,EAAGqW,EAAGpX,EAAG6xB,GAEpBA,IAEDA,EAAMvzB,EAAOue,MAAM85D,YAAY51E,EAAGqW,EAAGpX,EAAG,IAG5Ce,GAAK,IACLqW,GAAK,IACLpX,GAAK,IAEL,IAAIk2B,EAAM31B,KAAK21B,IAAIn1B,EAAGqW,EAAGpX,GACrB8C,EAAMvC,KAAKuC,IAAI/B,EAAGqW,EAAGpX,GAOzB,GAJA6xB,EAAI5Q,EAAI,EACR4Q,EAAI3wB,EAAI,EACR2wB,EAAIgC,GAAK/wB,EAAMozB,GAAO,EAElBpzB,IAAQozB,EACZ,CACI,IAAIh2B,EAAI4C,EAAMozB,EAEdrE,EAAI3wB,EAAI2wB,EAAIgC,EAAI,GAAM3zB,GAAK,EAAI4C,EAAMozB,GAAOh2B,GAAK4C,EAAMozB,GAEnDpzB,IAAQ/B,EAER8wB,EAAI5Q,GAAK7J,EAAIpX,GAAKE,GAAKkX,EAAIpX,EAAI,EAAI,GAE9B8C,IAAQsU,EAEbya,EAAI5Q,GAAKjhB,EAAIe,GAAKb,EAAI,EAEjB4C,IAAQ9C,IAEb6xB,EAAI5Q,GAAKlgB,EAAIqW,GAAKlX,EAAI,GAG1B2xB,EAAI5Q,GAAK,EAGb,OAAO4Q,GAkBX8lD,SAAU,SAAU12D,EAAG/f,EAAG2yB,EAAGhC,GAczB,GAZKA,GAODA,EAAI9wB,EAAI8yB,EACRhC,EAAIza,EAAIyc,EACRhC,EAAI7xB,EAAI6zB,GAPRhC,EAAMvzB,EAAOue,MAAM85D,YAAY9iD,EAAGA,EAAGA,GAU/B,IAAN3yB,EACJ,CACI,IAAIg/E,EAAIrsD,EAAI,GAAMA,GAAK,EAAI3yB,GAAK2yB,EAAI3yB,EAAI2yB,EAAI3yB,EACxCrB,EAAI,EAAIg0B,EAAIqsD,EAChBruD,EAAI9wB,EAAIzC,EAAOue,MAAM4sH,WAAW5pI,EAAGqgF,EAAGj/D,EAAI,EAAI,GAC9C4Q,EAAIza,EAAI9Y,EAAOue,MAAM4sH,WAAW5pI,EAAGqgF,EAAGj/D,GACtC4Q,EAAI7xB,EAAI1B,EAAOue,MAAM4sH,WAAW5pI,EAAGqgF,EAAGj/D,EAAI,EAAI,GAalD,OANA4Q,EAAI9wB,EAAIR,KAAKsL,MAAe,IAARgmB,EAAI9wB,EAAU,GAClC8wB,EAAIza,EAAI7W,KAAKsL,MAAe,IAARgmB,EAAIza,EAAU,GAClCya,EAAI7xB,EAAIO,KAAKsL,MAAe,IAARgmB,EAAI7xB,EAAU,GAElC1B,EAAOue,MAAMoxB,YAAYpc,GAElBA,GAkBXs3G,SAAU,SAAUpoI,EAAGqW,EAAGpX,EAAG6xB,GAEpBA,IAEDA,EAAMvzB,EAAOue,MAAM85D,YAAY51E,EAAGqW,EAAGpX,EAAG,MAG5Ce,GAAK,IACLqW,GAAK,IACLpX,GAAK,IAEL,IAAIk2B,EAAM31B,KAAK21B,IAAIn1B,EAAGqW,EAAGpX,GACrB8C,EAAMvC,KAAKuC,IAAI/B,EAAGqW,EAAGpX,GACrBE,EAAI4C,EAAMozB,EAyBd,OAtBArE,EAAI5Q,EAAI,EACR4Q,EAAI3wB,EAAY,IAAR4B,EAAY,EAAI5C,EAAI4C,EAC5B+uB,EAAI6oB,EAAI53C,EAEJA,IAAQozB,IAEJpzB,IAAQ/B,EAER8wB,EAAI5Q,GAAK7J,EAAIpX,GAAKE,GAAKkX,EAAIpX,EAAI,EAAI,GAE9B8C,IAAQsU,EAEbya,EAAI5Q,GAAKjhB,EAAIe,GAAKb,EAAI,EAEjB4C,IAAQ9C,IAEb6xB,EAAI5Q,GAAKlgB,EAAIqW,GAAKlX,EAAI,GAG1B2xB,EAAI5Q,GAAK,GAGN4Q,GAkBX63G,SAAU,SAAUzoH,EAAG/f,EAAGw5C,EAAG7oB,QAEbzuB,IAARyuB,IAAqBA,EAAMvzB,EAAOue,MAAM85D,YAAY,EAAG,EAAG,EAAG,EAAG11D,EAAG/f,EAAG,EAAGw5C,IAE7E,IAAI35C,EAAGqW,EAAGpX,EACNR,EAAIe,KAAKsL,MAAU,EAAJoV,GACf2O,EAAQ,EAAJ3O,EAAQzhB,EACZK,EAAI66C,GAAK,EAAIx5C,GACbg/E,EAAIxlC,GAAK,EAAI9qB,EAAI1uB,GACjBwsB,EAAIgtB,GAAK,GAAK,EAAI9qB,GAAK1uB,GAE3B,OAAQ1B,EAAI,GAER,KAAK,EACDuB,EAAI25C,EACJtjC,EAAIsW,EACJ1tB,EAAIH,EACJ,MACJ,KAAK,EACDkB,EAAIm/E,EACJ9oE,EAAIsjC,EACJ16C,EAAIH,EACJ,MACJ,KAAK,EACDkB,EAAIlB,EACJuX,EAAIsjC,EACJ16C,EAAI0tB,EACJ,MACJ,KAAK,EACD3sB,EAAIlB,EACJuX,EAAI8oE,EACJlgF,EAAI06C,EACJ,MACJ,KAAK,EACD35C,EAAI2sB,EACJtW,EAAIvX,EACJG,EAAI06C,EACJ,MACJ,KAAK,EACD35C,EAAI25C,EACJtjC,EAAIvX,EACJG,EAAIkgF,EAUZ,OANAruD,EAAI9wB,EAAIR,KAAKsL,MAAU,IAAJ9K,GACnB8wB,EAAIza,EAAI7W,KAAKsL,MAAU,IAAJuL,GACnBya,EAAI7xB,EAAIO,KAAKsL,MAAU,IAAJ7L,GAEnB1B,EAAOue,MAAMoxB,YAAYpc,GAElBA,GAeX43G,WAAY,SAAU5pI,EAAGqgF,EAAGxyD,GAYxB,OAVIA,EAAI,IAEJA,GAAK,GAGLA,EAAI,IAEJA,GAAK,GAGLA,EAAI,EAAI,EAED7tB,EAAc,GAATqgF,EAAIrgF,GAAS6tB,EAGzBA,EAAI,GAEGwyD,EAGPxyD,EAAI,EAAI,EAED7tB,GAAKqgF,EAAIrgF,IAAM,EAAI,EAAI6tB,GAAK,EAGhC7tB,GAuBX82E,YAAa,SAAU51E,EAAGqW,EAAGpX,EAAGD,EAAGkhB,EAAG/f,EAAG2yB,EAAG6mB,GAExC,IAAI7oB,GAAQ9wB,EAAGA,GAAK,EAAGqW,EAAGA,GAAK,EAAGpX,EAAGA,GAAK,EAAGD,EAAGA,GAAK,EAAGkhB,EAAGA,GAAK,EAAG/f,EAAGA,GAAK,EAAG2yB,EAAGA,GAAK,EAAG6mB,EAAGA,GAAK,EAAG3nC,MAAO,EAAG42H,QAAS,EAAGnjH,KAAM,IAEhI,OAAOloB,EAAOue,MAAMoxB,YAAYpc,IAYpCoc,YAAa,SAAUpc,GAMnB,OAJAA,EAAIrL,KAAO,QAAUqL,EAAI9wB,EAAE2pC,UAAY,IAAM7Y,EAAIza,EAAEszB,UAAY,IAAM7Y,EAAI7xB,EAAE0qC,UAAY,IAAM7Y,EAAI9xB,EAAEulB,WAAa,IAChHuM,EAAI9e,MAAQzU,EAAOue,MAAM+sH,SAAS/3G,EAAI9wB,EAAG8wB,EAAIza,EAAGya,EAAI7xB,GACpD6xB,EAAI83G,QAAUrrI,EAAOue,MAAMgtH,WAAmB,IAARh4G,EAAI9xB,EAAS8xB,EAAI9wB,EAAG8wB,EAAIza,EAAGya,EAAI7xB,GAE9D6xB,GAeXg4G,WAAY,SAAU9pI,EAAGgB,EAAGqW,EAAGpX,GAE3B,OAAOD,GAAK,GAAKgB,GAAK,GAAKqW,GAAK,EAAIpX,GAcxC4pI,SAAU,SAAU7oI,EAAGqW,EAAGpX,GAEtB,OAAOe,GAAK,GAAKqW,GAAK,EAAIpX,GAiB9B8pI,YAAa,SAAU/oI,EAAGqW,EAAGpX,EAAGD,EAAGujG,GAK/B,YAHUlgG,IAANrD,IAAmBA,EAAI,UACZqD,IAAXkgG,IAAwBA,EAAS,KAEtB,MAAXA,EAEO,MAAQ,GAAK,KAAOviG,GAAK,KAAOqW,GAAK,GAAKpX,GAAGslB,SAAS,IAAIuH,MAAM,GAIhE,KAAOvuB,EAAOue,MAAMktH,eAAehqI,GAAKzB,EAAOue,MAAMktH,eAAehpI,GAAKzC,EAAOue,MAAMktH,eAAe3yH,GAAK9Y,EAAOue,MAAMktH,eAAe/pI,IAarJgqI,SAAU,SAAUC,GAEhB,IAAIT,EAAMlrI,EAAOue,MAAMqtH,WAAWD,GAElC,GAAIT,EAEA,OAAOlrI,EAAOue,MAAMgtH,WAAWL,EAAIzpI,EAAGypI,EAAIzoI,EAAGyoI,EAAIpyH,EAAGoyH,EAAIxpI,IAkBhEkqI,WAAY,SAAUD,EAAKp4G,GAGvBo4G,EAAMA,EAAIh5G,QAAQ,0CAA2C,SAAS+C,EAAGjzB,EAAGqW,EAAGpX,GAC3E,OAAOe,EAAIA,EAAIqW,EAAIA,EAAIpX,EAAIA,IAG/B,IAAIw1B,EAAS,mDAAmD06D,KAAK+5C,GAErE,GAAIz0G,EACJ,CACI,IAAIz0B,EAAI+uB,SAAS0F,EAAO,GAAI,IACxBpe,EAAI0Y,SAAS0F,EAAO,GAAI,IACxBx1B,EAAI8vB,SAAS0F,EAAO,GAAI,IAEvB3D,GAMDA,EAAI9wB,EAAIA,EACR8wB,EAAIza,EAAIA,EACRya,EAAI7xB,EAAIA,GANR6xB,EAAMvzB,EAAOue,MAAM85D,YAAY51E,EAAGqW,EAAGpX,GAU7C,OAAO6xB,GAeXs4G,WAAY,SAAUC,EAAKv4G,GAElBA,IAEDA,EAAMvzB,EAAOue,MAAM85D,eAGvB,IAAInhD,EAAS,4EAA4E06D,KAAKk6C,GAW9F,OATI50G,IAEA3D,EAAI9wB,IAAMy7B,OAAOhH,EAAO,IACxB3D,EAAIza,IAAMolB,OAAOhH,EAAO,IACxB3D,EAAI7xB,IAAMw8B,OAAOhH,EAAO,IACxB3D,EAAI9xB,OAAkBqD,IAAdoyB,EAAO,GAAmBgH,OAAOhH,EAAO,IAAM,EACtDl3B,EAAOue,MAAMoxB,YAAYpc,IAGtBA,GAiBXmc,aAAc,SAAUlqC,EAAO+tB,GAS3B,GALKA,IAEDA,EAAMvzB,EAAOue,MAAM85D,eAGF,iBAAV7yE,EAEP,OAA6B,IAAzBA,EAAMiC,QAAQ,OAEPzH,EAAOue,MAAMstH,WAAWrmI,EAAO+tB,IAKtCA,EAAI9xB,EAAI,EACDzB,EAAOue,MAAMqtH,WAAWpmI,EAAO+tB,IAGzC,GAAqB,iBAAV/tB,EAChB,CAGI,IAAIumI,EAAY/rI,EAAOue,MAAMytH,OAAOxmI,GAKpC,OAJA+tB,EAAI9wB,EAAIspI,EAAUtpI,EAClB8wB,EAAIza,EAAIizH,EAAUjzH,EAClBya,EAAI7xB,EAAIqqI,EAAUrqI,EAClB6xB,EAAI9xB,EAAIsqI,EAAUtqI,EAAI,IACf8xB,EAIP,OAAOA,GAafk4G,eAAgB,SAAUh3H,GAEtB,IAAIk3H,EAAMl3H,EAAMuS,SAAS,IAEzB,OAAuB,IAAf2kH,EAAIxqI,OAAgB,IAAMwqI,EAAMA,GAa5CM,cAAe,SAAUrpI,EAAGw5C,QAEdt3C,IAANlC,IAAmBA,EAAI,QACjBkC,IAANs3C,IAAmBA,EAAI,GAI3B,IAAK,IAFD17B,KAEK/e,EAAI,EAAGA,GAAK,IAAKA,IAEtB+e,EAAOxa,KAAKlG,EAAOue,MAAM6sH,SAASzpI,EAAI,IAAKiB,EAAGw5C,IAGlD,OAAO17B,GAaXwrH,cAAe,SAAUtpI,EAAG2yB,QAEdzwB,IAANlC,IAAmBA,EAAI,SACjBkC,IAANywB,IAAmBA,EAAI,IAI3B,IAAK,IAFD7U,KAEK/e,EAAI,EAAGA,GAAK,IAAKA,IAEtB+e,EAAOxa,KAAKlG,EAAOue,MAAM86D,SAAS13E,EAAI,IAAKiB,EAAG2yB,IAGlD,OAAO7U,GAiBXyrH,iBAAkB,SAAUC,EAAQC,EAAQh4G,EAAOi4G,EAAa7sI,EAAOgvH,QAErD3pH,IAAVrF,IAAuBA,EAAQ,UAChBqF,IAAf2pH,IAA4BA,EAAa,GAE7C,IAAI8d,EAAOvsI,EAAOue,MAAMytH,OAAOI,GAC3BI,EAAOxsI,EAAOue,MAAMytH,OAAOK,GAE/B,GAAmB,IAAf5d,EAEA,IAAIhsH,GAAO+pI,EAAKjzD,IAAMgzD,EAAKhzD,KAAO+yD,EAAej4G,EAASk4G,EAAKhzD,IAC3DzgE,GAAO0zH,EAAKhzD,MAAQ+yD,EAAK/yD,OAAS8yD,EAAej4G,EAASk4G,EAAK/yD,MAC/D93E,GAAO8qI,EAAK/yD,KAAO8yD,EAAK9yD,MAAQ6yD,EAAej4G,EAASk4G,EAAK9yD,KAGrE,GAAmB,IAAfg1C,EACJ,CACI,IAGI9rG,EAHA8pH,EAAOzsI,EAAOue,MAAMssH,SAAS0B,EAAK9pI,EAAG8pI,EAAKzzH,EAAGyzH,EAAK7qI,GAClDgrI,EAAO1sI,EAAOue,MAAMssH,SAAS2B,EAAK/pI,EAAG+pI,EAAK1zH,EAAG0zH,EAAK9qI,GAClDirI,EAAKD,EAAK/pH,EAAI8pH,EAAK9pH,EAGvB,GAAI8pH,EAAK9pH,EAAI+pH,EAAK/pH,EAClB,CACI,IAAIiqH,EAAKF,EAAK/pH,EACd+pH,EAAK/pH,EAAI8pH,EAAK9pH,EACd8pH,EAAK9pH,EAAIiqH,EACTD,GAAMA,EACNL,EAAcj4G,EAAQi4G,EAGtBK,EAAK,KAELF,EAAK9pH,EAAI8pH,EAAK9pH,EAAI,EAClBA,IAAQ+pH,EAAK/pH,EAAI8pH,EAAK9pH,GAAK2pH,EAAcj4G,EAASo4G,EAAK9pH,GAAK,GAG5DgqH,GAAM,KAENhqH,GAAM+pH,EAAK/pH,EAAI8pH,EAAK9pH,GAAK2pH,EAAcj4G,EAASo4G,EAAK9pH,GAGzD,IAAI/f,GAAO8pI,EAAK9pI,EAAI6pI,EAAK7pI,GAAK0pI,EAAej4G,EAASo4G,EAAK7pI,EACvDw5C,GAAOswF,EAAKtwF,EAAIqwF,EAAKrwF,GAAKkwF,EAAej4G,EAASo4G,EAAKrwF,EAEvD8uF,EAAMlrI,EAAOue,MAAM6sH,SAASzoH,EAAG/f,EAAGw5C,EAAG8uF,GACrCzoI,EAAIyoI,EAAIzoI,EACRqW,EAAIoyH,EAAIpyH,EACRpX,EAAIwpI,EAAIxpI,EAGhB,OAAO1B,EAAOue,MAAMgtH,WAAW9rI,EAAOgD,EAAGqW,EAAGpX,IAiBhDmrI,wBAAyB,SAAUp4H,EAAOhS,EAAGqW,EAAGpX,EAAG2yB,EAAOi4G,GAEtD,IAAIr+H,EAAMjO,EAAOue,MAAMytH,OAAOv3H,GAC1Bq4H,GAAQrqI,EAAIwL,EAAIsrE,KAAO+yD,EAAej4G,EAASpmB,EAAIsrE,IACnDwzD,GAAQj0H,EAAI7K,EAAIurE,OAAS8yD,EAAej4G,EAASpmB,EAAIurE,MACrDwzD,GAAQtrI,EAAIuM,EAAIwrE,MAAQ6yD,EAAej4G,EAASpmB,EAAIwrE,KAExD,OAAOz5E,EAAOue,MAAM+sH,SAASwB,EAAIC,EAAIC,IAkBzCC,eAAgB,SAAUt0D,EAAIC,EAAIlgD,EAAImgD,EAAIC,EAAIngD,EAAItE,EAAOi4G,GAErD,IAAI7pI,GAAOo2E,EAAKF,GAAM2zD,EAAej4G,EAASskD,EAC1C7/D,GAAOggE,EAAKF,GAAM0zD,EAAej4G,EAASukD,EAC1Cl3E,GAAOi3B,EAAKD,GAAM4zG,EAAej4G,EAASqE,EAE9C,OAAO14B,EAAOue,MAAM+sH,SAAS7oI,EAAGqW,EAAGpX,IAkBvC8yB,OAAQ,SAAU43G,EAAQC,EAAQj9G,GAE9B,OAAO5wB,KAAK2tI,iBAAiBC,EAAQC,EAAQ,EAAGj9G,IAgBpDo5E,oBAAqB,SAAU9nF,EAAQ0O,GAEnC,IAAIqG,EAAIz1B,EAAOiC,KAAKuyB,OAAO,EAAG9T,EAAOvf,OAAS,EAAGiuB,GAC7Cg9G,EAAS1rH,EAAQze,KAAKsL,MAAMkoB,IAC5B42G,EAAS3rH,EAAQze,KAAKwC,KAAKgxB,IAE/B,OAAOj3B,KAAKg2B,OAAO43G,EAAQC,EAAQ52G,EAAI,IAgB3Cy3G,eAAgB,SAAUt1G,EAAKpzB,EAAK/E,GAOhC,QALYqF,IAAR8yB,IAAqBA,EAAM,QACnB9yB,IAARN,IAAqBA,EAAM,UACjBM,IAAVrF,IAAuBA,EAAQ,KAG/B+E,EAAM,KAAOozB,EAAMpzB,EAEnB,OAAOxE,EAAOue,MAAM+sH,SAAS,IAAK,IAAK,KAG3C,IAAI/xD,EAAM3hD,EAAM31B,KAAK8xB,MAAM9xB,KAAK+uB,UAAYxsB,EAAMozB,IAC9C4hD,EAAQ5hD,EAAM31B,KAAK8xB,MAAM9xB,KAAK+uB,UAAYxsB,EAAMozB,IAChD6hD,EAAO7hD,EAAM31B,KAAK8xB,MAAM9xB,KAAK+uB,UAAYxsB,EAAMozB,IAEnD,OAAO53B,EAAOue,MAAMgtH,WAAW9rI,EAAO85E,EAAKC,EAAOC,IActDuyD,OAAQ,SAAUv3H,GAEd,OAAIA,EAAQ,UAIJhV,MAAOgV,IAAU,GACjB8kE,IAAK9kE,GAAS,GAAK,IACnB+kE,MAAO/kE,GAAS,EAAI,IACpBglE,KAAc,IAARhlE,EACNhT,EAAGgT,IAAU,GACbhS,EAAGgS,GAAS,GAAK,IACjBqE,EAAGrE,GAAS,EAAI,IAChB/S,EAAW,IAAR+S,IAMHhV,MAAO,IACP85E,IAAK9kE,GAAS,GAAK,IACnB+kE,MAAO/kE,GAAS,EAAI,IACpBglE,KAAc,IAARhlE,EACNhT,EAAG,IACHgB,EAAGgS,GAAS,GAAK,IACjBqE,EAAGrE,GAAS,EAAI,IAChB/S,EAAW,IAAR+S,IAcf04H,UAAW,SAAU14H,GAEjB,GAAqB,iBAAVA,EAEP,MAAO,QAAUA,EAAMhS,EAAEukB,WAAa,IAAMvS,EAAMqE,EAAEkO,WAAa,IAAMvS,EAAM/S,EAAEslB,WAAa,KAAOvS,EAAMhT,EAAI,KAAKulB,WAAa,IAI/H,IAAIkkH,EAAMlrI,EAAOue,MAAMytH,OAAOv3H,GAC9B,MAAO,QAAUy2H,EAAIzoI,EAAEukB,WAAa,IAAMkkH,EAAIpyH,EAAEkO,WAAa,IAAMkkH,EAAIxpI,EAAEslB,WAAa,KAAOkkH,EAAIzpI,EAAI,KAAKulB,WAAa,KAa/HomH,SAAU,SAAU34H,GAChB,OAAOA,IAAU,IAWrB44H,cAAe,SAAU54H,GACrB,OAAQA,IAAU,IAAM,KAW5B64H,OAAQ,SAAU74H,GACd,OAAOA,GAAS,GAAK,KAWzB84H,SAAU,SAAU94H,GAChB,OAAOA,GAAS,EAAI,KAWxB+4H,QAAS,SAAU/4H,GACf,OAAe,IAARA,GAYXg5H,YAAa,SAAUhsI,GACnB,OAAOA,GAYX47E,aAAc,SAAU57E,EAAGC,GACvB,OAAQA,EAAID,EAAKC,EAAID,GAYzB27E,YAAa,SAAU37E,EAAGC,GACtB,OAAQA,EAAID,EAAKA,EAAIC,GAezBu7E,cAAe,SAAUx7E,EAAGC,GACxB,OAAQD,EAAIC,EAAK,KAYrBgsI,aAAc,SAAUjsI,EAAGC,GACvB,OAAQD,EAAIC,GAAK,GAYrBs7E,SAAU,SAAUv7E,EAAGC,GACnB,OAAOO,KAAK21B,IAAI,IAAKn2B,EAAIC,IAY7BisI,cAAe,SAAUlsI,EAAGC,GACxB,OAAOO,KAAKuC,IAAI,EAAG/C,EAAIC,EAAI,MAc/Bg8E,gBAAiB,SAAUj8E,EAAGC,GAC1B,OAAOO,KAAKgzB,IAAIxzB,EAAIC,IAYxBksI,cAAe,SAAUnsI,EAAGC,GACxB,OAAO,IAAMO,KAAKgzB,IAAI,IAAMxzB,EAAIC,IAcpCw7E,YAAa,SAAUz7E,EAAGC,GACtB,OAAO,MAAS,IAAMD,IAAM,IAAMC,IAAO,IAa7Ci8E,eAAgB,SAAUl8E,EAAGC,GACzB,OAAOD,EAAIC,EAAI,EAAID,EAAIC,EAAI,KAc/By7E,aAAc,SAAU17E,EAAGC,GACvB,OAAOA,EAAI,IAAO,EAAID,EAAIC,EAAI,IAAQ,IAAM,GAAK,IAAMD,IAAM,IAAMC,GAAK,KAsB5E+7E,eAAgB,SAAUh8E,EAAGC,GACzB,OAAOA,EAAI,IAAO,GAAgB,IAAVD,GAAK,KAAaC,EAAI,KAAO,IAAO,GAAK,KAAkB,IAAVD,GAAK,MAAa,IAAMC,GAAK,KAuB1G87E,eAAgB,SAAU/7E,EAAGC,GACzB,OAAO1B,EAAOue,MAAM4+D,aAAaz7E,EAAGD,IAaxC67E,gBAAiB,SAAU77E,EAAGC,GAC1B,OAAa,MAANA,EAAYA,EAAIO,KAAK21B,IAAI,KAAOn2B,GAAK,IAAM,IAAMC,KAa5D67E,eAAgB,SAAU97E,EAAGC,GACzB,OAAa,IAANA,EAAUA,EAAIO,KAAKuC,IAAI,EAAI,KAAQ,IAAM/C,GAAM,GAAKC,IAY/DmsI,iBAAkB,SAAUpsI,EAAGC,GAC3B,OAAO1B,EAAOue,MAAMy+D,SAASv7E,EAAGC,IAYpCosI,gBAAiB,SAAUrsI,EAAGC,GAC1B,OAAO1B,EAAOue,MAAMovH,cAAclsI,EAAGC,IAczCqsI,iBAAkB,SAAUtsI,EAAGC,GAC3B,OAAOA,EAAI,IAAM1B,EAAOue,MAAMuvH,gBAAgBrsI,EAAG,EAAIC,GAAK1B,EAAOue,MAAMsvH,iBAAiBpsI,EAAI,GAAKC,EAAI,OAezGssI,gBAAiB,SAAUvsI,EAAGC,GAC1B,OAAOA,EAAI,IAAM1B,EAAOue,MAAMg/D,eAAe97E,EAAG,EAAIC,GAAK1B,EAAOue,MAAM++D,gBAAgB77E,EAAI,GAAKC,EAAI,OAavGusI,cAAe,SAAUxsI,EAAGC,GACxB,OAAOA,EAAI,IAAM1B,EAAOue,MAAM6+D,YAAY37E,EAAG,EAAIC,GAAK1B,EAAOue,MAAM8+D,aAAa57E,EAAI,GAAKC,EAAI,OAejGwsI,aAAc,SAAUzsI,EAAGC,GACvB,OAAO1B,EAAOue,MAAMyvH,gBAAgBvsI,EAAGC,GAAK,IAAM,EAAI,KAY1DysI,aAAc,SAAU1sI,EAAGC,GACvB,OAAa,MAANA,EAAYA,EAAIO,KAAK21B,IAAI,IAAMn2B,EAAIA,GAAK,IAAMC,KAYzD0sI,UAAW,SAAU3sI,EAAGC,GACpB,OAAO1B,EAAOue,MAAM4vH,aAAazsI,EAAGD,IAYxC4sI,aAAc,SAAU5sI,EAAGC,GACvB,OAAOO,KAAK21B,IAAIn2B,EAAGC,GAAKO,KAAKuC,IAAI/C,EAAGC,GAAK,MAyBjD1B,EAAOqwC,QAAU,SAAU/uC,EAAMsT,GAE7BA,EAASA,MAKTpW,KAAK8C,KAAOA,EAKZ9C,KAAKoW,OAASA,EAKdpW,KAAK8vI,OAAS,KAKd9vI,KAAK6/B,GAAK,KAKV7/B,KAAK+vI,MAAQ,KAKb/vI,KAAKolI,MAAQ,KAKbplI,KAAKgwI,SAAW,KAKhBhwI,KAAKiwI,OAAS,KAEdjwI,KAAKovC,eAQT5tC,EAAOqwC,QAAQC,OAAS,EAMxBtwC,EAAOqwC,QAAQm5B,KAAO,EAMtBxpE,EAAOqwC,QAAQgzF,MAAQ,EAMvBrjI,EAAOqwC,QAAQkzF,MAAQ,EAMvBvjI,EAAOqwC,QAAQq+F,SAAW,EAM1B1uI,EAAOqwC,QAAQs+F,SAAW,EAE1B3uI,EAAOqwC,QAAQvvC,WAOX8sC,YAAa,WAEHpvC,KAAKoW,OAAOgb,eAAe,YAAuC,IAA1BpxB,KAAKoW,OAAe,SAAe5U,EAAOqwC,QAAQzgB,eAAe,YAG3GpxB,KAAK8vI,OAAS,IAAItuI,EAAOqwC,QAAQmhC,OAAOhzE,KAAK8C,OAG7C9C,KAAKoW,OAAOgb,eAAe,WAAqC,IAAzBpxB,KAAKoW,OAAc,OAAc5U,EAAOqwC,QAAQzgB,eAAe,WAEtGpxB,KAAK+vI,MAAQ,IAAIvuI,EAAOqwC,QAAQizF,MAAM9kI,KAAK8C,OAG3C9C,KAAKoW,OAAOgb,eAAe,QAA+B,IAAtBpxB,KAAKoW,OAAW,IAAc5U,EAAOqwC,QAAQzgB,eAAe,QAEhGpxB,KAAK6/B,GAAK,IAAIr+B,EAAOqwC,QAAQu+F,GAAGpwI,KAAK8C,KAAM9C,KAAKoW,SAGhDpW,KAAKoW,OAAOgb,eAAe,WAAqC,IAAzBpxB,KAAKoW,OAAc,OAAc5U,EAAOqwC,QAAQzgB,eAAe,WAEtGpxB,KAAKolI,MAAQ,IAAI5jI,EAAOqwC,QAAQkzF,MAAM/kI,KAAK8C,KAAM9C,KAAKoW,SAGtDpW,KAAKoW,OAAOgb,eAAe,YAAuC,IAA1BpxB,KAAKoW,OAAe,QAAc5U,EAAOqwC,QAAQzgB,eAAe,YAExGpxB,KAAKiwI,OAAS,IAAIzuI,EAAOqwC,QAAQw+F,OAAOrwI,KAAK8C,KAAM9C,KAAKoW,UAyBhEk6H,YAAa,SAAUC,GAEfA,IAAW/uI,EAAOqwC,QAAQC,OAE1B9xC,KAAK8vI,OAAS,IAAItuI,EAAOqwC,QAAQmhC,OAAOhzE,KAAK8C,MAExCytI,IAAW/uI,EAAOqwC,QAAQm5B,KAEf,OAAZhrE,KAAK6/B,GAEL7/B,KAAK6/B,GAAK,IAAIr+B,EAAOqwC,QAAQu+F,GAAGpwI,KAAK8C,KAAM9C,KAAKoW,QAIhDpW,KAAK6/B,GAAG+F,QAGP2qG,IAAW/uI,EAAOqwC,QAAQgzF,MAE/B7kI,KAAK+vI,MAAQ,IAAIvuI,EAAOqwC,QAAQizF,MAAM9kI,KAAK8C,MAEtCytI,IAAW/uI,EAAOqwC,QAAQkzF,MAEZ,OAAf/kI,KAAKolI,MAELplI,KAAKolI,MAAQ,IAAI5jI,EAAOqwC,QAAQmzF,MAAMhlI,KAAK8C,KAAM9C,KAAKoW,QAItDpW,KAAKolI,MAAMx/F,QAGV2qG,IAAW/uI,EAAOqwC,QAAQs+F,WAEX,OAAhBnwI,KAAKiwI,OAELjwI,KAAKiwI,OAAS,IAAIzuI,EAAOqwC,QAAQw+F,OAAOrwI,KAAK8C,KAAM9C,KAAKoW,QAIxDpW,KAAKiwI,OAAOrqG,UA0BxBjtB,OAAQ,SAAUigC,EAAQ23F,EAAQ7mG,QAEfpjC,IAAXiqI,IAAwBA,EAAS/uI,EAAOqwC,QAAQC,aACtCxrC,IAAVojC,IAAuBA,GAAQ,GAE/B6mG,IAAW/uI,EAAOqwC,QAAQC,OAE1B9xC,KAAK8vI,OAAOn3H,OAAOigC,GAEd23F,IAAW/uI,EAAOqwC,QAAQm5B,MAAQhrE,KAAK6/B,GAE5C7/B,KAAK6/B,GAAGlnB,OAAOigC,EAAQlP,GAElB6mG,IAAW/uI,EAAOqwC,QAAQgzF,OAAS7kI,KAAK+vI,MAE7C/vI,KAAK+vI,MAAMS,WAAW53F,GAEjB23F,IAAW/uI,EAAOqwC,QAAQkzF,OAAS/kI,KAAKolI,MAE7CplI,KAAKolI,MAAMzsH,OAAOigC,GAEb23F,IAAW/uI,EAAOqwC,QAAQs+F,UAAYnwI,KAAKiwI,OAEhDjwI,KAAKiwI,OAAOt3H,OAAOigC,GAInBt4C,QAAQ0Z,KAAK4+B,EAAOhmC,IAAM,6EAWlCnO,UAAW,WAIHzE,KAAK6/B,IAEL7/B,KAAK6/B,GAAGp7B,YAGRzE,KAAKolI,OAELplI,KAAKolI,MAAM3gI,YAGXzE,KAAKiwI,QAELjwI,KAAKiwI,OAAOxrI,aAWpBkgC,OAAQ,WAIA3kC,KAAK6/B,IAEL7/B,KAAK6/B,GAAG8E,SAGR3kC,KAAKolI,OAELplI,KAAKolI,MAAMzgG,SAGX3kC,KAAKiwI,QAELjwI,KAAKiwI,OAAOtrG,UAWpBW,iBAAkB,WAEVtlC,KAAK8vI,QAEL9vI,KAAK8vI,OAAOxqG,mBAGZtlC,KAAK+vI,OAEL/vI,KAAK+vI,MAAMzqG,mBAGXtlC,KAAK6/B,IAEL7/B,KAAK6/B,GAAGyF,mBAGRtlC,KAAKolI,OAELplI,KAAKolI,MAAM9/F,mBAGXtlC,KAAKiwI,QAELjwI,KAAKiwI,OAAO3qG,oBAWpB/qB,MAAO,WAECva,KAAK6/B,IAEL7/B,KAAK6/B,GAAGtlB,QAGRva,KAAKolI,OAELplI,KAAKolI,MAAM7qH,QAGXva,KAAKiwI,QAELjwI,KAAKiwI,OAAO11H,SAWpBqrB,MAAO,WAEC5lC,KAAK6/B,IAEL7/B,KAAK6/B,GAAG+F,QAGR5lC,KAAKolI,OAELplI,KAAKolI,MAAMx/F,QAGX5lC,KAAKiwI,QAELjwI,KAAKiwI,OAAOrqG,SAUpBpjC,QAAS,WAEDxC,KAAK6/B,IAEL7/B,KAAK6/B,GAAGr9B,UAGRxC,KAAKolI,OAELplI,KAAKolI,MAAM5iI,UAGXxC,KAAKiwI,QAELjwI,KAAKiwI,OAAOztI,UAGhBxC,KAAK8vI,OAAS,KACd9vI,KAAK+vI,MAAQ,KACb/vI,KAAK6/B,GAAK,KACV7/B,KAAKolI,MAAQ,KACbplI,KAAKiwI,OAAS,OAMtBzuI,EAAOqwC,QAAQvvC,UAAUC,YAAcf,EAAOqwC,QAe9CrwC,EAAOw7C,UAAY,SAAUl6C,GAKzB9C,KAAK8C,KAAOA,EAKZ9C,KAAKywI,YAMLzwI,KAAK0wI,GAAK,GAIdlvI,EAAOw7C,UAAU16C,WAQby2B,IAAK,SAAU+5C,GAEX,OADA9yE,KAAKywI,SAAS39D,EAAQh/D,IAAMg/D,EACrBA,GAQX/2D,OAAQ,SAAU+2D,UACP9yE,KAAKywI,SAAS39D,EAAQh/D,MAKrCtS,EAAOw7C,UAAU16C,UAAUC,YAAcf,EAAOw7C,UAuChDx7C,EAAOyqE,MAAQ,SAAUnpE,EAAM8P,EAAKyhE,GA6MhC,QA3MY/tE,IAARsM,IAAqBA,EAAM,WACnBtM,IAAR+tE,IAAqBA,EAAM,MAK/Br0E,KAAK8C,KAAOA,EAMZ9C,KAAK4S,IAAMA,EAMX5S,KAAKpC,MAAQ,EAMboC,KAAKnC,OAAS,EAMdmC,KAAKoT,KAAO5R,EAAOysB,MAKnBjuB,KAAKs4E,sBAAuB,EAM5Bt4E,KAAKsgH,aAAc,EAKnBtgH,KAAK+0H,OAAS,IAAIvzH,EAAO0gC,OAKzBliC,KAAKksE,eAAiB,IAAI1qE,EAAO0gC,OAKjCliC,KAAKkzG,WAAa,IAAI1xG,EAAO0gC,OAK7BliC,KAAK2wI,SAAW,IAAInvI,EAAO0gC,OAK3BliC,KAAK4wI,QAAU,IAAIpvI,EAAO0gC,OAO1BliC,KAAK6wI,UAAY,IAAIrvI,EAAO0gC,OAM5BliC,KAAKk3H,cAAgB,IAAI11H,EAAO0gC,OAOhCliC,KAAK8wI,kBAAmB,EAMxB9wI,KAAK+wI,QAAU,KAMf/wI,KAAKknG,WAAa,KAKlBlnG,KAAKo0E,MAAQ,KAKbp0E,KAAKgxI,YAAc,KAKnBhxI,KAAKixI,aAAc,EASnBjxI,KAAKkxI,WAAa,GAMlBlxI,KAAKmxI,MAAQ,EAMbnxI,KAAKoxI,cAAgB,IAMrBpxI,KAAKqxI,SAAW,KAOhBrxI,KAAKo3H,YAAa,EAOlBp3H,KAAKq1H,QAAS,EAOdr1H,KAAKs7C,aAAc,EAOnBt7C,KAAKq7C,SAAU,EAOfr7C,KAAKsxI,UAAW,EAOhBtxI,KAAKuxI,sBAAuB,EAO5BvxI,KAAKwxI,WAAY,EAMjBxxI,KAAKyxI,aAAe,KAMpBzxI,KAAK0xI,cAAgB,KAEjB9+H,GAAO5S,KAAK8C,KAAK6W,MAAM6pG,cAAc5wG,GACzC,CACI,IAAI++H,EAAS3xI,KAAK8C,KAAK6W,MAAM2qG,SAAS1xG,GAElC++H,EAAO7vB,OAEP9hH,KAAK4xI,oBAAoBD,EAAO39H,MAIhChU,KAAKo0E,MAAQu9D,EAAO39H,KAGxBhU,KAAKpC,MAAQoC,KAAKo0E,MAAMy9D,WACxB7xI,KAAKnC,OAASmC,KAAKo0E,MAAM09D,iBAEpBz9D,GAELr0E,KAAK+xI,mBAAmB19D,GAAK,GAO7Br0E,KAAKo0E,QAAUC,GAEfr0E,KAAKmG,YAAc,IAAI3H,KAAKurB,YAAY/pB,KAAKo0E,MAAO,KAAMp0E,KAAK8C,KAAK6B,YACpE3E,KAAKmG,YAAYgkB,YAAYnqB,KAAKpC,MAAOoC,KAAKnC,UAI9CmC,KAAKmG,YAAc,IAAI3H,KAAKurB,YAAYvoB,EAAOysC,MAAM3mB,QAAQnhB,YAAY6I,OAAQ,KAAMhP,KAAK8C,KAAK6B,YACjG3E,KAAKmG,YAAYgkB,YAAYnqB,KAAKpC,MAAOoC,KAAKnC,SAOlDmC,KAAKjC,QAAU,IAAIS,KAAK+N,QAAQvM,KAAKmG,aAMrCnG,KAAKm4E,aAAe,IAAI32E,EAAO62E,MAAM,EAAG,EAAG,EAAGr4E,KAAKpC,MAAOoC,KAAKnC,OAAQ,SAEvEmC,KAAKjC,QAAQ6sB,SAAS5qB,KAAKm4E,cAE3Bn4E,KAAKjC,QAAQqP,OAAQ,EAET,OAARwF,GAAgB5S,KAAKo0E,QAErBp0E,KAAKjC,QAAQqP,MAAQpN,KAAKo0E,MAAMs4C,SAWpC1sH,KAAKgyI,SAAW,KAEZxwI,EAAOouE,aAEP5vE,KAAKgyI,SAAW,IAAIxwI,EAAOouE,WAAW5vE,KAAK8C,KAAM,GAAI9C,KAAKpC,MAAOoC,KAAKnC,SAGtEmC,KAAK8C,KAAK+mB,OAAO87E,mBAEjB3lG,KAAK83H,eAID6Z,IAEAA,EAAOzrF,QAAS,IAM5B1kD,EAAOyqE,MAAM3pE,WAUT2vI,qBAAsB,SAAU79D,EAAO89D,GAcnC,OAZI99D,GAAS89D,IAETlyI,KAAKo0E,MAAQA,EACbp0E,KAAKgxI,YAAckB,EAEnBlyI,KAAKixI,aAAc,EACnBjxI,KAAKmG,YAAY6I,OAAShP,KAAKo0E,MAC/Bp0E,KAAKoV,cAAc,KAAMpV,KAAKo0E,MAAMy9D,WAAY7xI,KAAKo0E,MAAM09D,aAE3D9xI,KAAK2wI,SAAS1rG,SAASjlC,OAGpBA,MAuBXmyI,iBAAkB,SAAUC,EAAcx0I,EAAOC,GAM7C,QAJqByI,IAAjB8rI,IAA8BA,GAAe,QACnC9rI,IAAV1I,IAAuBA,EAAQ,WACpB0I,IAAXzI,IAAwBA,EAAS,OAEhCmC,KAAK8C,KAAK+mB,OAAO00E,aAGlB,OADAv+F,KAAK4wI,QAAQ3rG,SAASjlC,KAAM,oBACrB,EAGc,OAArBA,KAAKgxI,cAEDhxI,KAAKgxI,YAAoB,OAEzBhxI,KAAKgxI,YAAY3mG,QAAS,EAI1BrqC,KAAKgxI,YAAYnlI,QAIzB7L,KAAKqyI,qBAELryI,KAAKo0E,MAAQzkC,SAAS0kD,cAAc,SACpCr0F,KAAKo0E,MAAMk+D,aAAa,WAAY,YAEtB,OAAV10I,IAEAoC,KAAKo0E,MAAMx2E,MAAQA,GAGR,OAAXC,IAEAmC,KAAKo0E,MAAMv2E,OAASA,GAKxBmC,KAAKknG,WAAal3F,OAAOuxF,WAAWvhG,KAAKuyI,oBAAoBziH,KAAK9vB,MAAOA,KAAK+wI,SAE9E,IACIxnH,UAAUg1E,cACJtsB,MAASmgE,EAAch+D,OAAS,GAClCp0E,KAAKwyI,oBAAoB1iH,KAAK9vB,MAC9BA,KAAKyyI,kBAAkB3iH,KAAK9vB,OAGpC,MAAOO,GAEHP,KAAKyyI,kBAAkBlyI,GAG3B,OAAOP,MAQXuyI,oBAAqB,WAEjBhrC,aAAavnG,KAAKknG,YAElBlnG,KAAK6wI,UAAU5rG,SAASjlC,OAQ5ByyI,kBAAmB,SAAUziG,GAEzBu3D,aAAavnG,KAAKknG,YAElBlnG,KAAK4wI,QAAQ3rG,SAASjlC,KAAMgwC,IAQhCwiG,oBAAqB,SAAUN,GAE3B3qC,aAAavnG,KAAKknG,YAGlBlnG,KAAKgxI,YAAckB,OAGa5rI,IAA5BtG,KAAKo0E,MAAMs+D,aAEX1yI,KAAKo0E,MAAMs+D,aAAeR,EAI1BlyI,KAAKo0E,MAAM3kE,IAAOO,OAAOu0F,KAAOv0F,OAAOu0F,IAAIouC,gBAAgBT,IAAYA,EAG3E,IAAIj3G,EAAOj7B,KAEXA,KAAKo0E,MAAMw+D,aAAe,WAItB,SAASC,IAEL,GAAI1B,EAAQ,EAER,GAAIl2G,EAAKm5C,MAAMy9D,WAAa,EAC5B,CAEI,IAAIj0I,EAAQq9B,EAAKm5C,MAAMy9D,WACnBh0I,EAASo9B,EAAKm5C,MAAM09D,YAEpB7xE,MAAMhlC,EAAKm5C,MAAM09D,eAEjBj0I,EAASD,GAAS,EAAE,IAGxBq9B,EAAKm5C,MAAM/K,OAEXpuC,EAAKg2G,aAAc,EACnBh2G,EAAK90B,YAAY6I,OAASisB,EAAKm5C,MAC/Bn5C,EAAK7lB,cAAc,KAAMxX,EAAOC,GAChCo9B,EAAK01G,SAAS1rG,SAAShK,QAIvBjrB,OAAOuxF,WAAWsxC,EAAa,UAKnCvyI,QAAQ0Z,KAAK,oDAGjBm3H,IAlCJ,IAAIA,EAAQ,GAqCZ0B,MAcRjB,oBAAqB,SAAUp8B,GAE3B,IAAIxpE,EAAQhsC,KASZ,OAPAA,KAAKo0E,MAAQzkC,SAAS0kD,cAAc,SACpCr0F,KAAKo0E,MAAMm4C,UAAW,EACtBvsH,KAAKo0E,MAAMk+D,aAAa,WAAY,YACpCtyI,KAAKo0E,MAAMhkC,iBAAiB,aAAc,SAAUJ,GAAShE,EAAM52B,cAAc46B,KAAW,GAC5FhwC,KAAKo0E,MAAM3kE,IAAMO,OAAOu0F,IAAIouC,gBAAgBn9B,GAC5Cx1G,KAAKo0E,MAAMs4C,SAAU,EAEd1sH,MAYX+xI,mBAAoB,SAAU19D,EAAKm4C,GA8B/B,YA5BiBlmH,IAAbkmH,IAA0BA,GAAW,GAGrCxsH,KAAKjC,UAELiC,KAAKjC,QAAQqP,OAAQ,GAGzBpN,KAAKo0E,MAAQzkC,SAAS0kD,cAAc,SACpCr0F,KAAKo0E,MAAMm4C,UAAW,EAElBC,GAEAxsH,KAAKo0E,MAAMk+D,aAAa,WAAY,YAGxCtyI,KAAKo0E,MAAM3kE,IAAM4kE,EAEjBr0E,KAAKo0E,MAAMs4C,SAAU,EAErB1sH,KAAKo0E,MAAMnuC,OAEXjmC,KAAKmxI,MAAQnxI,KAAKkxI,WAElBlxI,KAAKqxI,SAAWrhI,OAAOuxF,WAAWvhG,KAAK8yI,mBAAmBhjH,KAAK9vB,MAAOA,KAAKoxI,eAE3EpxI,KAAK4S,IAAMyhE,EAEJr0E,MAaXoV,cAAe,SAAU46B,EAAOpyC,EAAOC,GAEnC,IAAIk1I,GAAS,OAECzsI,IAAV1I,GAAiC,OAAVA,IAAkBA,EAAQoC,KAAKo0E,MAAMy9D,WAAYkB,GAAS,QACtEzsI,IAAXzI,GAAmC,OAAXA,IAAmBA,EAASmC,KAAKo0E,MAAM09D,aAEnE9xI,KAAKpC,MAAQA,EACboC,KAAKnC,OAASA,EAEVmC,KAAKmG,YAAY6I,SAAWhP,KAAKo0E,QAEjCp0E,KAAKmG,YAAY6I,OAAShP,KAAKo0E,OAGnCp0E,KAAKmG,YAAYgkB,YAAYvsB,EAAOC,GAEpCmC,KAAKjC,QAAQiP,MAAM9G,OAAOtI,EAAOC,GAEjCmC,KAAKjC,QAAQH,MAAQA,EACrBoC,KAAKjC,QAAQF,OAASA,EAEtBmC,KAAKjC,QAAQqP,OAAQ,EAEjBpN,KAAKgyI,UAELhyI,KAAKgyI,SAAS9rI,OAAOtI,EAAOC,GAG5Bk1I,GAAuB,OAAb/yI,KAAK4S,MAEf5S,KAAKksE,eAAejnC,SAASjlC,KAAMpC,EAAOC,GAEtCmC,KAAKwxI,YAELxxI,KAAKo0E,MAAM/K,OACXrpE,KAAK+0H,OAAO9vF,SAASjlC,KAAMA,KAAKupE,KAAMvpE,KAAKgzI,iBAYvDhpH,SAAU,WAENhqB,KAAKkzG,WAAWjuE,SAASjlC,OAc7BqpE,KAAM,SAAUE,EAAMypE,GAElB,OAAIhzI,KAAKuxI,qBAEEvxI,WAGEsG,IAATijE,IAAsBA,GAAO,QACZjjE,IAAjB0sI,IAA8BA,EAAe,GAE7ChzI,KAAK8C,KAAKojC,MAAM+uF,SAEhBj1H,KAAK8C,KAAKojC,MAAM+uF,OAAOl8F,IAAI/4B,KAAKu/C,QAASv/C,MACzCA,KAAK8C,KAAKojC,MAAM+wF,SAASl+F,IAAI/4B,KAAK0/C,UAAW1/C,MAEzCA,KAAK8C,KAAKojC,MAAMqwF,MAEhBv2H,KAAKu/C,WAIbv/C,KAAK8C,KAAKwlC,QAAQvP,IAAI/4B,KAAKizI,SAAUjzI,MACrCA,KAAK8C,KAAK0lC,SAASzP,IAAI/4B,KAAKkzI,UAAWlzI,MAEvCA,KAAKyxI,aAAezxI,KAAKgqB,SAAS8F,KAAK9vB,MAEvCA,KAAKo0E,MAAMhkC,iBAAiB,QAASpwC,KAAKyxI,cAAc,GACxDzxI,KAAKo0E,MAAMhkC,iBAAiB,sBAAuBpwC,KAAKyxI,cAAc,GAIlEzxI,KAAKo0E,MAAM7K,KAFXA,EAEkB,OAIA,GAGtBvpE,KAAKo0E,MAAM4+D,aAAeA,EAEtBhzI,KAAKsgH,YAELtgH,KAAKsxI,UAAW,GAIhBtxI,KAAKsxI,UAAW,EAEC,OAAbtxI,KAAK4S,MAEyB,IAA1B5S,KAAKo0E,MAAMktB,YAEXthG,KAAKmxI,MAAQnxI,KAAKkxI,WAClBlxI,KAAKqxI,SAAWrhI,OAAOuxF,WAAWvhG,KAAK8yI,mBAAmBhjH,KAAK9vB,MAAOA,KAAKoxI,iBAI3EpxI,KAAK0xI,cAAgB1xI,KAAKmzI,YAAYrjH,KAAK9vB,MAC3CA,KAAKo0E,MAAMhkC,iBAAiB,UAAWpwC,KAAK0xI,eAAe,KAInE1xI,KAAKo0E,MAAM/K,OAEXrpE,KAAK+0H,OAAO9vF,SAASjlC,KAAMupE,EAAMypE,IAG9BhzI,OAUXmzI,YAAa,WAETnzI,KAAKo0E,MAAMhjC,oBAAoB,UAAWpxC,KAAK0xI,eAAe,GAE9D1xI,KAAKoV,iBAkBTvJ,KAAM,WA8DF,OA5DI7L,KAAK8C,KAAKojC,MAAM+uF,SAEhBj1H,KAAK8C,KAAKojC,MAAM+uF,OAAOl5G,OAAO/b,KAAKu/C,QAASv/C,MAC5CA,KAAK8C,KAAKojC,MAAM+wF,SAASl7G,OAAO/b,KAAK0/C,UAAW1/C,OAGpDA,KAAK8C,KAAKwlC,QAAQvsB,OAAO/b,KAAKizI,SAAUjzI,MACxCA,KAAK8C,KAAK0lC,SAASzsB,OAAO/b,KAAKkzI,UAAWlzI,MAItCA,KAAKixI,aAEDjxI,KAAKo0E,MAAMs+D,cAEX1yI,KAAKo0E,MAAMs+D,aAAa7mI,OACxB7L,KAAKo0E,MAAM3kE,IAAM,OAIjBzP,KAAKo0E,MAAM3kE,IAAM,GAEbzP,KAAKgxI,YAAoB,OAEzBhxI,KAAKgxI,YAAY3mG,QAAS,EAItBrqC,KAAKgxI,YAAYoC,UAEjBpzI,KAAKgxI,YAAYoC,YAAY1iH,QAAQ,SAAU2iH,GAC3CA,EAAMxnI,SAKV7L,KAAKgxI,YAAYnlI,QAK7B7L,KAAKgxI,YAAc,KACnBhxI,KAAKixI,aAAc,IAInBjxI,KAAKo0E,MAAMhjC,oBAAoB,QAASpxC,KAAKyxI,cAAc,GAC3DzxI,KAAKo0E,MAAMhjC,oBAAoB,sBAAuBpxC,KAAKyxI,cAAc,GACzEzxI,KAAKo0E,MAAMhjC,oBAAoB,UAAWpxC,KAAK0xI,eAAe,GAE1D1xI,KAAKsgH,YAELtgH,KAAKsxI,UAAW,EAIhBtxI,KAAKo0E,MAAM7rC,SAIZvoC,MAYX+4B,IAAK,SAAU6f,GAEX,GAAIvxC,MAAMC,QAAQsxC,GAEd,IAAK,IAAIl2C,EAAI,EAAGA,EAAIk2C,EAAOj2C,OAAQD,IAE3Bk2C,EAAOl2C,GAAgB,aAEvBk2C,EAAOl2C,GAAG81C,YAAYx4C,WAM9B44C,EAAOJ,YAAYx4C,MAGvB,OAAOA,MAgBX8tC,WAAY,SAAUhqC,EAAGC,EAAGgqC,EAASC,EAASxpB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,EAEnB,IAAI7K,EAAQ7Z,KAAK8C,KAAKi2B,IAAIlf,MAAM/V,EAAGC,EAAG/D,MAKtC,OAHA6Z,EAAMnT,OAAOK,IAAIgnC,EAASC,GAC1Bn0B,EAAM/Y,MAAMiG,IAAIyd,EAAQE,GAEjB7K,GAWX3U,OAAQ,YAEClF,KAAKs4E,sBAAwBt4E,KAAKszI,SAEnCtzI,KAAKmG,YAAYiL,SAWzBmuC,QAAS,WAEDv/C,KAAKq1H,SAKTr1H,KAAKq1H,QAAS,EAEdr1H,KAAKo0E,MAAMkiD,OAAQ,IAUvB52E,UAAW,WAEF1/C,KAAKq1H,SAAUr1H,KAAKo3H,aAKzBp3H,KAAKq1H,QAAS,EAEdr1H,KAAKo0E,MAAMkiD,OAAQ,IAUvB2c,SAAU,WAEFjzI,KAAKq7C,SAAWr7C,KAAKsgH,cAKzBtgH,KAAKq7C,SAAU,EAEfr7C,KAAKo0E,MAAM7rC,UAUf2qG,UAAW,YAEFlzI,KAAKq7C,SAAWr7C,KAAKs7C,aAAet7C,KAAKsgH,cAK9CtgH,KAAKq7C,SAAU,EAEVr7C,KAAKo0E,MAAMm/D,OAEZvzI,KAAKo0E,MAAM/K,SA0BnBmqE,aAAc,SAAU/jI,EAAK+8G,GA0BzB,YAxBiBlmH,IAAbkmH,IAA0BA,GAAW,GAGzCxsH,KAAKjC,QAAQqP,OAAQ,EAErBpN,KAAKo0E,MAAM7rC,QAEXvoC,KAAKuxI,sBAAuB,EAE5BvxI,KAAKmxI,MAAQnxI,KAAKkxI,WAElBlxI,KAAKqxI,SAAWrhI,OAAOuxF,WAAWvhG,KAAK8yI,mBAAmBhjH,KAAK9vB,MAAOA,KAAKoxI,eAE3EpxI,KAAKo0E,MAAM3kE,IAAMA,EAEjBzP,KAAKo0E,MAAMnuC,OAEXjmC,KAAKwxI,UAAYhlB,EAEZA,IAEDxsH,KAAK2mC,QAAS,GAGX3mC,MAUX8yI,mBAAoB,WAGc,IAA1B9yI,KAAKo0E,MAAMktB,YAEXthG,KAAKuxI,sBAAuB,EAG5BvxI,KAAKoV,mBAILpV,KAAKmxI,MAEY,EAEbnxI,KAAKqxI,SAAWrhI,OAAOuxF,WAAWvhG,KAAK8yI,mBAAmBhjH,KAAK9vB,MAAOA,KAAKoxI,eAI3E9wI,QAAQ0Z,KAAK,0DAA2Dha,KAAKixI,cAYzFnZ,aAAc,WAEV93H,KAAK8C,KAAKkjC,MAAM6d,qBAAqB7jD,KAAK+3H,OAAQ/3H,MAAM,GACxDA,KAAKsgH,aAAc,GAWvByX,OAAQ,WAWJ,GATA/3H,KAAKsgH,aAAc,EAEftgH,KAAK8wI,mBAEL9wI,KAAKo0E,MAAM/K,OAEXrpE,KAAK+0H,OAAO9vF,SAASjlC,KAAMA,KAAKupE,KAAMvpE,KAAKgzI,eAG3ChzI,KAAK4S,IACT,CACI,IAAI++H,EAAS3xI,KAAK8C,KAAK6W,MAAM2qG,SAAStkH,KAAK4S,KAEvC++H,IAAWA,EAAO7vB,SAElB6vB,EAAOzrF,QAAS,GAMxB,OAFAlmD,KAAKk3H,cAAcjyF,SAASjlC,OAErB,GAiBXyzI,KAAM,SAAUl5H,EAAOtZ,EAAO4G,GAM1B,QAJcvB,IAAViU,IAAuBA,GAAQ,QACrBjU,IAAVrF,IAAuBA,EAAQ,QACjBqF,IAAduB,IAA2BA,EAAY,MAErB,OAAlB7H,KAAKgyI,SAaT,OAPIz3H,GAEAva,KAAKgyI,SAASz5D,MAGlBv4E,KAAKgyI,SAASn+G,KAAK7zB,KAAKo0E,MAAO,EAAG,EAAGp0E,KAAKpC,MAAOoC,KAAKnC,OAAQ,EAAG,EAAGmC,KAAKpC,MAAOoC,KAAKnC,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGoD,EAAO4G,GAE5G7H,KAAKgyI,SAXR1xI,QAAQ0Z,KAAK,mEAqBrBq4H,mBAAoB,WAEhB,GAAKryI,KAAKo0E,MAAV,CAUA,IALIp0E,KAAKo0E,MAAMkyB,YAEXtmG,KAAKo0E,MAAMkyB,WAAW79F,YAAYzI,KAAKo0E,OAGpCp0E,KAAKo0E,MAAMs/D,iBAEd1zI,KAAKo0E,MAAM3rE,YAAYzI,KAAKo0E,MAAMu/D,YAGtC3zI,KAAKo0E,MAAMw/D,gBAAgB,YAC3B5zI,KAAKo0E,MAAMw/D,gBAAgB,OAE3B5zI,KAAKo0E,MAAQ,OAUjB5xE,QAAS,WAELxC,KAAK6L,OAEL7L,KAAKqyI,qBAEDryI,KAAKsgH,aAELtgH,KAAK8C,KAAKkjC,MAAM8b,MAAMiC,wBAAwB/jD,KAAK+3H,OAAQ/3H,MAG3DA,KAAKqxI,UAELrhI,OAAOu3F,aAAavnG,KAAKqxI,YAWrCzqI,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,eAE1CwE,IAAK,WAED,OAAQ9G,KAAU,MAAIA,KAAKo0E,MAAMo/C,YAAc,GAInDzsH,IAAK,SAAUC,GAEXhH,KAAKo0E,MAAMo/C,YAAcxsH,KAWjCJ,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,YAE1CwE,IAAK,WAED,OAAQ9G,KAAU,MAAIA,KAAKo0E,MAAM1xC,SAAW,KAWpD97B,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,YAE1CwE,IAAK,WAED,OAAQ9G,KAAU,MAAKA,KAAKo0E,MAAMo/C,YAAcxzH,KAAKo0E,MAAM1xC,SAAY,KAU/E97B,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,QAE1CwE,IAAK,WAED,OAAO9G,KAAKq1H,QAIhBtuH,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,KAGjB,CACI,GAAIhH,KAAKq1H,OAEL,OAGJr1H,KAAKo3H,YAAa,EAClBp3H,KAAKu/C,cAGT,CACI,IAAKv/C,KAAKq1H,OAEN,OAGJr1H,KAAKo3H,YAAa,EAClBp3H,KAAK0/C,gBAajB94C,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,UAE1CwE,IAAK,WAED,OAAO9G,KAAKq7C,SAIhBt0C,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,MAEbhH,KAAKsgH,YAKT,GAAIt5G,EACJ,CACI,GAAIhH,KAAKq7C,QAEL,OAGJr7C,KAAKs7C,aAAc,EACnBt7C,KAAKizI,eAGT,CACI,IAAKjzI,KAAKq7C,QAEN,OAGJr7C,KAAKs7C,aAAc,EACnBt7C,KAAKkzI,gBAUjBtsI,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,UAE1CwE,IAAK,WAED,OAAQ9G,KAAU,MAAIA,KAAKo0E,MAAMhzC,OAAS,GAI9Cr6B,IAAK,SAAUC,GAEPA,EAAQ,EAERA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRhH,KAAKo0E,QAELp0E,KAAKo0E,MAAMhzC,OAASp6B,MAWhCJ,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,gBAE1CwE,IAAK,WAED,OAAQ9G,KAAU,MAAIA,KAAKo0E,MAAM4+D,aAAe,GAIpDjsI,IAAK,SAAUC,GAEPhH,KAAKo0E,QAELp0E,KAAKo0E,MAAM4+D,aAAehsI,MAetCJ,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,QAE1CwE,IAAK,WAED,QAAQ9G,KAAU,OAAIA,KAAKo0E,MAAM7K,MAIrCxiE,IAAK,SAAUC,GAEPA,GAAShH,KAAKo0E,MAEdp0E,KAAKo0E,MAAM7K,KAAO,OAEbvpE,KAAKo0E,QAEVp0E,KAAKo0E,MAAM7K,KAAO,OAY9B3iE,OAAOuF,eAAe3K,EAAOyqE,MAAM3pE,UAAW,WAE1CwE,IAAK,WAED,QAAQ9G,KAAU,SAAMA,KAAKo0E,MAAMztC,QAAU3mC,KAAKo0E,MAAMm/D,UAMhE/xI,EAAOyqE,MAAM3pE,UAAUC,YAAcf,EAAOyqE,WAWpB3lE,IAApB9H,KAAKsJ,aAELtJ,KAAKsJ,WAAatG,EAAOsG,iBAGLxB,IAApB9H,KAAKC,aAELD,KAAKC,WAAa+C,EAAO/C,iBAGK6H,IAA9B9H,KAAK+N,QAAQC,eAEbhO,KAAK+N,QAAQC,aAAe,IAAIhO,KAAK+N,QAAQ,IAAI/N,KAAKurB,mBAGnBzjB,IAAnC9H,KAAKmC,cAAcsE,cAEnBzG,KAAKmC,cAAcsE,YAAc,IAAIzD,EAAOC,QAGhDjD,KAAKgsB,mBAAoB,EAGzBhsB,KAAKq1I,0BAA4B,WAC7B,OAAOryI,EAAOs5C,OAAOhxB,gBASE,oBAAZmB,SACe,oBAAXC,QAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAUzpB,GAE/BypB,QAAQzpB,OAASA,GACQ,oBAAX2pB,QAA0BA,OAAOC,IAC/CD,OAAO,SAA+BzqB,EAAKc,OAASA,GAEpDd,EAAKc,OAASA,EAGXA,GACR+C,KAAKvE","file":"phaser-no-physics.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-no-physics.min.js b/build/custom/phaser-no-physics.min.js index ffbd333eb..2ef27a065 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*m+T*v+C,E=w*v+b*m+S,A=_*g+T*v+C,R=w*v+b*g+S,M=_*g+T*y+C,I=w*y+b*g+S,L=_*m+T*y+C,O=w*y+b*m+S;c=P,d=E,l=E,u=L<(u=M<(u=A<(u=P)?A:u)?M:u)?L:u,l=O<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?L:c,d=O>(d=I>(d=R>d?R:d)?I:d)?O:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=_>g?_:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,_=o.c/m,b=o.d/m,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,R=u,M=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,_=S+6.123233995736766e-17*E,b=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=l,u=c,l=M,c=R}var I=this.colors,L=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[g++]=v*u+_*c+T|0,L[g++]=b*c+x*u+w|0,L[g++]=a.x0,L[g++]=a.y0,I[g++]=k,L[g++]=y,L[g++]=v*h+_*c+T|0,L[g++]=b*c+x*h+w|0,L[g++]=a.x1,L[g++]=a.y1,I[g++]=k,L[g++]=y,L[g++]=v*h+_*l+T|0,L[g++]=b*l+x*h+w|0,L[g++]=a.x2,L[g++]=a.y2,I[g++]=k,L[g++]=y,L[g++]=v*u+_*l+T|0,L[g++]=b*l+x*u+w|0,L[g++]=a.x3,L[g++]=a.y3,I[g++]=k,L[g++]=y):(L[g++]=v*u+_*c+T,L[g++]=b*c+x*u+w,L[g++]=a.x0,L[g++]=a.y0,I[g++]=k,L[g++]=y,L[g++]=v*h+_*c+T,L[g++]=b*c+x*h+w,L[g++]=a.x1,L[g++]=a.y1,I[g++]=k,L[g++]=y,L[g++]=v*h+_*l+T,L[g++]=b*l+x*h+w,L[g++]=a.x2,L[g++]=a.y2,I[g++]=k,L[g++]=y,L[g++]=v*u+_*l+T,L[g++]=b*l+x*u+w,L[g++]=a.x3,L[g++]=a.y3,I[g++]=k,L[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,L=E.tx,O=E.ty;g[S++]=A*T+M*C+L,g[S++]=I*C+R*T+O,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*b+M*C+L,g[S++]=I*C+R*b+O,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*b+M*w+L,g[S++]=I*w+R*b+O,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+M*w+L,g[S++]=I*w+R*T+O,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,u,l),l=m,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,u,l,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-u*this._anchor.y,h,u),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=l=t[0],u=c=t[1];for(var g=s;gl&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return i.EarCut.earcutLinked(o,a,s,h,u,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,u=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(u.i/s),i.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,u,e,s,n),p=i.EarCut.zOrder(l,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var u=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),u=i.EarCut.filterPoints(u,u.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(u,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,u,l=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,u=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,u*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var u=0;u=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=M=Math.sqrt(b*b+T*T),T/=M,b*=F,T*=F,I.push(p-b,f-T),I.push(G,N,X,U),I.push(p+b,f+T),I.push(G,N,X,U),I.push(p-b,f-T),I.push(G,N,X,U),k++):(I.push(u,l),I.push(G,N,X,U),I.push(p-(u-p),f-(l-f)),I.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=F,v*=F,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),L.push(D),s=0;sh?r:h,u=ol?o:l;s.push(a,u,h,u,h,l,a,l);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(b,T+S),e.lineTo(b,T+C-S),e.quadraticCurveTo(b,T+C,b+S,T+C),e.lineTo(b+w-S,T+C),e.quadraticCurveTo(b+w,T+C,b+w,T+C-S),e.lineTo(b+w,T+S),e.quadraticCurveTo(b+w,T,b+w-S,T),e.lineTo(b+S,T),e.quadraticCurveTo(b,T,b,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,_+w),e.lineTo(x,_+T-w),e.quadraticCurveTo(x,_+T,x+w,_+T),e.lineTo(x+b-w,_+T),e.quadraticCurveTo(x+b,_+T,x+b,_+T-w),e.lineTo(x+b,_+w),e.quadraticCurveTo(x+b,_,x+b-w,_),e.lineTo(x+w,_),e.quadraticCurveTo(x,_,x,_+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var u=t+Math.cos(s)*i,l=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(u,l);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+g*b)*i+t,(f*-b+g*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+u:e,s=hn?h+l:n;else if(p===i.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var u=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[u.id]=!1,this.textureBuffer=new PIXI.FilterTexture(u,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[u.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(e[a]):u+=this.context.measureText(e[a]).width,this.style.wordWrap&&(u-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),u=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var l=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(l+=i[c-1]),u=l+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(h[c]):u+=Math.ceil(this.context.measureText(h[c]).width),u+=this.game.math.snapToCeil(u,i)-u}s[a]=Math.ceil(u),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=u)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);l[c]=m,h+=g}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,u,l=n.getImageData(0,0,r,a).data,c=l.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(u=0;u0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:!1,chars:u};n+=(p.xAdvance+g)*e,u.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:c,chars:u}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=l.width),n+=t.lineHeight*i,e=e.substr(l.text.length+1)}while(!1===l.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,u=0;u0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=u||0,this.offsetY=l||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var b=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(u+l+c)/3,C=(d+p+f)/3,S=u-w,P=d-C,E=Math.sqrt(S*S+P*P);u=w+S/E*(E+b),d=C+P/E*(E+T),P=p-C,l=w+(S=l-w)/(E=Math.sqrt(S*S+P*P))*(E+b),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+b),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(u,d),t.lineTo(l,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*_-x*y-v*m-g*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=g*l+u*y+m*c-l*y-u*m-g*c,I=g*x*c+v*l*y+u*m*_-u*x*y-v*m*c-g*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*_-d*x*y-v*m*f-g*p*_;t.transform(R/A,L/A,M/A,O/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,u=y>u?y:u}if(l===-1/0||u===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=l,v.width=h-l,v.y=c,v.height=u-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=g>(b=p>b?p:b)?g:b)?y:b)?x:b,T=_>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!function(){if(!window.WebGLRenderingContext)return!1;try{var t=document.createElement("canvas");t.screencanvas=!1;var e={stencil:!0};return t.getContext("webgl",e)||t.getContext("experimental-webgl",e)}catch(t){return s.webGLError=t,!1}}(),s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&!e||i.isRunning&&!i.pendingDelete})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this._setGain(1),this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this._setGain(t);else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]},update:function(){for(var t in this.emitters)this.emitters[t].exists&&this.emitters[t].update()}},i.Particles.prototype.constructor=i.Particles,i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*m+T*v+C,E=w*v+b*m+S,A=_*g+T*v+C,R=w*v+b*g+S,M=_*g+T*y+C,I=w*y+b*g+S,L=_*m+T*y+C,O=w*y+b*m+S;c=P,d=E,l=E,u=L<(u=M<(u=A<(u=P)?A:u)?M:u)?L:u,l=O<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?L:c,d=O>(d=I>(d=R>d?R:d)?I:d)?O:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=_>g?_:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,_=o.c/m,b=o.d/m,T=o.tx,w=o.ty,C=(i.crop.width,i.crop.height);if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,R=u,M=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,_=S+6.123233995736766e-17*E,b=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=l,u=c,l=M,c=R}var I=this.colors,L=this.positions,O=t.tint,k=(O>>16)+(65280&O)+((255&O)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[g++]=v*u+_*c+T|0,L[g++]=b*c+x*u+w|0,L[g++]=a.x0,L[g++]=a.y0,I[g++]=k,L[g++]=y,L[g++]=v*h+_*c+T|0,L[g++]=b*c+x*h+w|0,L[g++]=a.x1,L[g++]=a.y1,I[g++]=k,L[g++]=y,L[g++]=v*h+_*l+T|0,L[g++]=b*l+x*h+w|0,L[g++]=a.x2,L[g++]=a.y2,I[g++]=k,L[g++]=y,L[g++]=v*u+_*l+T|0,L[g++]=b*l+x*u+w|0,L[g++]=a.x3,L[g++]=a.y3,I[g++]=k,L[g++]=y):(L[g++]=v*u+_*c+T,L[g++]=b*c+x*u+w,L[g++]=a.x0,L[g++]=a.y0,I[g++]=k,L[g++]=y,L[g++]=v*h+_*c+T,L[g++]=b*c+x*h+w,L[g++]=a.x1,L[g++]=a.y1,I[g++]=k,L[g++]=y,L[g++]=v*h+_*l+T,L[g++]=b*l+x*h+w,L[g++]=a.x2,L[g++]=a.y2,I[g++]=k,L[g++]=y,L[g++]=v*u+_*l+T,L[g++]=b*l+x*u+w,L[g++]=a.x3,L[g++]=a.y3,I[g++]=k,L[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,L=E.tx,O=E.ty;g[S++]=A*T+M*C+L,g[S++]=I*C+R*T+O,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*b+M*C+L,g[S++]=I*C+R*b+O,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*b+M*w+L,g[S++]=I*w+R*b+O,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+M*w+L,g[S++]=I*w+R*T+O,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,u,l),l=m,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,g=new i.Point(c,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,u=e.right,l=e.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,u=e*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new i.Button(this.game,t,e,s,n,r,o,a,h,u))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,u){return new i.Button(this.game,t,e,s,n,r,o,a,h,u)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,u){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,u)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,u,l){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,u,l,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-u*this._anchor.y,h,u),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=l=t[0],u=c=t[1];for(var g=s;gl&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return i.EarCut.earcutLinked(o,a,s,h,u,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,u=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(u.i/s),i.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,u,e,s,n),p=i.EarCut.zOrder(l,c,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var u=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),u=i.EarCut.filterPoints(u,u.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(u,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,u,l=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,u=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,u*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var u=0;u=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=M=Math.sqrt(b*b+T*T),T/=M,b*=F,T*=F,I.push(p-b,f-T),I.push(G,N,X,U),I.push(p+b,f+T),I.push(G,N,X,U),I.push(p-b,f-T),I.push(G,N,X,U),k++):(I.push(u,l),I.push(G,N,X,U),I.push(p-(u-p),f-(l-f)),I.push(G,N,X,U));for(c=n[2*(O-2)],d=n[2*(O-2)+1],p=n[2*(O-1)],y=-(d-(f=n[2*(O-1)+1])),v=c-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=F,v*=F,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),L.push(D),s=0;sh?r:h,u=ol?o:l;s.push(a,u,h,u,h,l,a,l);var d=s.length/2;for(c=0;cP?P:S,e.beginPath(),e.moveTo(b,T+S),e.lineTo(b,T+C-S),e.quadraticCurveTo(b,T+C,b+S,T+C),e.lineTo(b+w-S,T+C),e.quadraticCurveTo(b+w,T+C,b+w,T+C-S),e.lineTo(b+w,T+S),e.quadraticCurveTo(b+w,T,b+w-S,T),e.lineTo(b+S,T),e.quadraticCurveTo(b,T,b,T+S),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nC?C:w,e.moveTo(x,_+w),e.lineTo(x,_+T-w),e.quadraticCurveTo(x,_+T,x+w,_+T),e.lineTo(x+b-w,_+T),e.quadraticCurveTo(x+b,_+T,x+b,_+T-w),e.lineTo(x+b,_+w),e.quadraticCurveTo(x+b,_,x+b-w,_),e.lineTo(x+w,_),e.quadraticCurveTo(x,_,x,_+w),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var u=t+Math.cos(s)*i,l=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(u,l);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+g*b)*i+t,(f*-b+g*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+u:e,s=hn?h+l:n;else if(p===i.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ue?a+u:e,s=h-ln?h+l:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var u=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[u.id]=!1,this.textureBuffer=new PIXI.FilterTexture(u,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[u.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(e[a]):u+=this.context.measureText(e[a]).width,this.style.wordWrap&&(u-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),u=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var l=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(l+=i[c-1]),u=l+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(h[c]):u+=Math.ceil(this.context.measureText(h[c]).width),u+=this.game.math.snapToCeil(u,i)-u}s[a]=Math.ceil(u),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=u)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);l[c]=m,h+=g}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,u,l=n.getImageData(0,0,r,a).data,c=l.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(u=0;u0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:!1,chars:u};n+=(p.xAdvance+g)*e,u.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:c,chars:u}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=l.width),n+=t.lineHeight*i,e=e.substr(l.text.length+1)}while(!1===l.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,u=0;u0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),i.RetroFont=function(t,e,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=u||0,this.offsetY=l||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var b=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(u+l+c)/3,C=(d+p+f)/3,S=u-w,P=d-C,E=Math.sqrt(S*S+P*P);u=w+S/E*(E+b),d=C+P/E*(E+T),P=p-C,l=w+(S=l-w)/(E=Math.sqrt(S*S+P*P))*(E+b),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+b),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(u,d),t.lineTo(l,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*_-x*y-v*m-g*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=g*l+u*y+m*c-l*y-u*m-g*c,I=g*x*c+v*l*y+u*m*_-u*x*y-v*m*c-g*l*_,L=d*x+v*f+p*_-x*f-v*p-d*_,O=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*_-d*x*y-v*m*f-g*p*_;t.transform(R/A,L/A,M/A,O/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,u=y>u?y:u}if(l===-1/0||u===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=l,v.width=h-l,v.y=c,v.height=u-c,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=g>(b=p>b?p:b)?g:b)?y:b)?x:b,T=_>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===l||0===c||ll&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var u={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=i.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=i.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(e,l)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.onTouchUnlock=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var u={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return i.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,u,l)},interpolateRGB:function(t,e,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-e)*h/a+e,c=(o-s)*h/a+s;return i.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Particles=function(t){this.game=t,this.emitters={},this.ID=0},i.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},i.Particles.prototype.constructor=i.Particles,i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser-no-physics.map \ No newline at end of file diff --git a/build/custom/phaser-split.js b/build/custom/phaser-split.js index 14ff63c5c..68e6e83ae 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.4 "2017-12-20" - Built: Wed Dec 20 2017 12:51:41 +* v2.10.0 "2018-01-18" - Built: Thu Jan 18 2018 16:35:34 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -53,7 +53,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.4', + VERSION: '2.10.0', /** * An array of Phaser game instances. @@ -4172,6 +4172,18 @@ Phaser.Point.prototype = { }, + /** + * Math.round() both the x and y properties of this Point. + * + * @method Phaser.Point#round + * @return {Phaser.Point} This Point object. + */ + round: function () { + + return this.setTo(Math.round(this.x), Math.round(this.y)); + + }, + /** * Returns a string representation of this object. * @@ -4738,7 +4750,7 @@ PIXI.Point = Phaser.Point; /** * Creates a new Polygon. -* +* * The points can be set from a variety of formats: * * - An array of Point objects: `[new Phaser.Point(x1, y1), ...]` @@ -5023,32 +5035,18 @@ Phaser.Polygon.prototype = { Phaser.Polygon.prototype.constructor = Phaser.Polygon; /** -* Sets and modifies the points of this polygon. +* The points of this polygon. * -* See {@link Phaser.Polygon#setTo setTo} for the different kinds of arrays formats that can be assigned. +* You can modify these with {@link Phaser.Polygon#setTo setTo}. * * @name Phaser.Polygon#points * @property {Phaser.Point[]} points - The array of vertex points. -* @deprecated Use `setTo`. +* @readonly */ Object.defineProperty(Phaser.Polygon.prototype, 'points', { get: function() { return this._points; - }, - - set: function(points) { - - if (points != null) - { - this.setTo(points); - } - else - { - // Clear the points - this.setTo(); - } - } }); @@ -7608,14 +7606,14 @@ Phaser.StateManager = function (game, pendingState) { /** * onStateChange is a Phaser.Signal that is dispatched whenever the game changes state. - * + * * It is dispatched only when the new state is started, which isn't usually at the same time as StateManager.start * is called because state swapping is done in sync with the game loop. It is dispatched *before* any of the new states * methods (such as preload and create) are called, and *after* the previous states shutdown method has been run. * - * The callback you specify is sent two parameters: the string based key of the new state, + * The callback you specify is sent two parameters: the string based key of the new state, * and the second parameter is the string based key of the old / previous state. - * + * * @property {Phaser.Signal} onStateChange */ this.onStateChange = new Phaser.Signal(); @@ -8006,25 +8004,27 @@ Phaser.StateManager.prototype = { */ link: function (key) { - this.states[key].game = this.game; - this.states[key].add = this.game.add; - this.states[key].make = this.game.make; - this.states[key].camera = this.game.camera; - this.states[key].cache = this.game.cache; - this.states[key].input = this.game.input; - this.states[key].load = this.game.load; - this.states[key].math = this.game.math; - this.states[key].sound = this.game.sound; - this.states[key].scale = this.game.scale; - this.states[key].state = this; - this.states[key].stage = this.game.stage; - this.states[key].time = this.game.time; - this.states[key].tweens = this.game.tweens; - this.states[key].world = this.game.world; - this.states[key].particles = this.game.particles; - this.states[key].rnd = this.game.rnd; - this.states[key].physics = this.game.physics; - this.states[key].key = key; + var state = this.states[key]; + + state.game = this.game; + state.add = this.game.add; + state.make = this.game.make; + state.camera = this.game.camera; + state.cache = this.game.cache; + state.input = this.game.input; + state.load = this.game.load; + state.math = this.game.math; + state.sound = this.game.sound; + state.scale = this.game.scale; + state.state = this; + state.stage = this.game.stage; + state.time = this.game.time; + state.tweens = this.game.tweens; + state.world = this.game.world; + state.particles = this.game.particles; + state.rnd = this.game.rnd; + state.physics = this.game.physics; + state.key = key; }, @@ -8037,26 +8037,28 @@ Phaser.StateManager.prototype = { */ unlink: function (key) { - if (this.states[key]) + var state = this.states[key]; + + if (state) { - this.states[key].game = null; - this.states[key].add = null; - this.states[key].make = null; - this.states[key].camera = null; - this.states[key].cache = null; - this.states[key].input = null; - this.states[key].load = null; - this.states[key].math = null; - this.states[key].sound = null; - this.states[key].scale = null; - this.states[key].state = null; - this.states[key].stage = null; - this.states[key].time = null; - this.states[key].tweens = null; - this.states[key].world = null; - this.states[key].particles = null; - this.states[key].rnd = null; - this.states[key].physics = null; + state.game = null; + state.add = null; + state.make = null; + state.camera = null; + state.cache = null; + state.input = null; + state.load = null; + state.math = null; + state.sound = null; + state.scale = null; + state.state = null; + state.stage = null; + state.time = null; + state.tweens = null; + state.world = null; + state.particles = null; + state.rnd = null; + state.physics = null; } }, @@ -8070,27 +8072,29 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { - this.callbackContext = this.states[key]; + var state = this.states[key]; + + this.callbackContext = state; this.link(key); // Used when the state is set as being the current active state - this.onInitCallback = this.states[key]['init'] || this.dummy; - - this.onPreloadCallback = this.states[key]['preload'] || null; - this.onLoadRenderCallback = this.states[key]['loadRender'] || null; - this.onLoadUpdateCallback = this.states[key]['loadUpdate'] || null; - this.onCreateCallback = this.states[key]['create'] || null; - this.onUpdateCallback = this.states[key]['update'] || null; - this.onPreRenderCallback = this.states[key]['preRender'] || null; - this.onRenderCallback = this.states[key]['render'] || null; - this.onResizeCallback = this.states[key]['resize'] || null; - this.onPausedCallback = this.states[key]['paused'] || null; - this.onResumedCallback = this.states[key]['resumed'] || null; - this.onPauseUpdateCallback = this.states[key]['pauseUpdate'] || null; + this.onInitCallback = state['init'] || this.dummy; + + this.onPreloadCallback = state['preload'] || null; + this.onLoadRenderCallback = state['loadRender'] || null; + this.onLoadUpdateCallback = state['loadUpdate'] || null; + this.onCreateCallback = state['create'] || null; + this.onUpdateCallback = state['update'] || null; + this.onPreRenderCallback = state['preRender'] || null; + this.onRenderCallback = state['render'] || null; + this.onResizeCallback = state['resize'] || null; + this.onPausedCallback = state['paused'] || null; + this.onResumedCallback = state['resumed'] || null; + this.onPauseUpdateCallback = state['pauseUpdate'] || null; // Used when the state is no longer the current active state - this.onShutDownCallback = this.states[key]['shutdown'] || this.dummy; + this.onShutDownCallback = state['shutdown'] || this.dummy; // Reset the physics system, but not on the first state start if (this.current !== '') @@ -14219,6 +14223,12 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.lockRender = false; + /** + * @property {boolean} pendingDestroy - Destroy the game at the next update. + * @default + */ + this.pendingDestroy = false; + /** * @property {boolean} stepping - Enable core loop stepping with Game.enableStep(). * @default @@ -14273,7 +14283,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this._codePaused = false; /** - * The ID of the current/last logic update applied this render frame, starting from 0. + * The ID of the current/last logic update applied this animation frame, starting from 0. * The first update is `currentUpdateID === 0` and the last update is `currentUpdateID === updatesThisFrame.` * @property {integer} currentUpdateID * @protected @@ -14281,12 +14291,19 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this.currentUpdateID = 0; /** - * Number of logic updates expected to occur this render frame; will be 1 unless there are catch-ups required (and allowed). + * Number of logic updates expected to occur this animation frame; will be 1 unless there are catch-ups required (and allowed). * @property {integer} updatesThisFrame * @protected */ this.updatesThisFrame = 1; + /** + * Number of renders expected to occur this animation frame. May be 0 if {@link #dropFrames is on} or {@link #forceSingleRender} is off; otherwise it will be 1. + * @property {integer} updatesThisFrame + * @protected + */ + this.rendersThisFrame = 1; + /** * @property {number} _deltaTime - Accumulate elapsed time until a logic update is due. * @private @@ -14324,6 +14341,16 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.forceSingleUpdate = true; + /** + * @property {boolean} forceSingleRender - Should the game loop make one render per animation frame, even without a preceding logic update? (During spiraling conditions, {@link #dropFrames} is used instead.) + */ + this.forceSingleRender = true; + + /** + * @property {boolean} dropFrames - When {@link #forceSingleUpdate} is off, skip {@link #updateRender rendering} if logic updates are spiraling upwards. + */ + this.dropFrames = false; + /** * @property {number} _nextNotification - The soonest game.time.time value that the next fpsProblemNotifier can be dispatched. * @private @@ -14384,27 +14411,37 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * A configuration object for {@link Phaser.Game}. * * @typedef {object} GameConfig +* @property {boolean} [GameConfig.alignH=false] - Sets {@link Phaser.ScaleManager#pageAlignHorizontally}. +* @property {boolean} [GameConfig.alignV=false] - Sets {@link Phaser.ScaleManager#pageAlignVertically}. * @property {number|string} [GameConfig.antialias=true] -* @property {string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. +* @property {number|string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. * @property {HTMLCanvasElement} [GameConfig.canvas] - An existing canvas to display the game in. * @property {string} [GameConfig.canvasId] - `id` attribute value to assign to the game canvas. * @property {string} [GameConfig.canvasStyle] - `style` attribute value to assign to the game canvas. +* @property {boolean} [GameConfig.crisp=false] - Sets the canvas's `image-rendering` property to `pixelated` or `crisp-edges`. See {@link Phaser.Canvas.setImageRenderingCrisp}. * @property {boolean} [GameConfig.disableVisibilityChange=false] - Sets {@link Phaser.Stage#disableVisibilityChange} +* @property {boolean} [GameConfig.disableStart=false] - Prevents the game loop from starting, allowing you to call updates manually. Helpful for automated testing. * @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {boolean} [GameConfig.failIfMajorPerformanceCaveat] - Abort WebGL context creation if performance would be poor. You can use this with renderer AUTO. * @property {boolean} [GameConfig.forceSetTimeout] - Use {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout setTimeOut} for the game loop even if {@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame requestAnimationFrame} is available. * @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. * @property {HTMLElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. * @property {number|string} [GameConfig.height=600] * @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. * @property {string|HTMLElement} [GameConfig.parent=''] - The DOM element into which this games canvas will be injected. -* @property {object} [GameConfig.physicsConfig=null] +* @property {object} [GameConfig.physicsConfig] * @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. * @property {number} [GameConfig.renderer=Phaser.AUTO] * @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {boolean} [GameConfig.roundPixels=false] - Round pixel coordinates for rendering (rather than interpolating). Handy for crisp pixel art and speed on legacy devices. +* @property {number} [GameConfig.scaleH=1] - Horizontal scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @property {object} [GameConfig.state=null] +* @property {object} [GameConfig.state] * @property {boolean} [GameConfig.transparent=false] +* @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. +* @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] */ // Documentation stub for linking. @@ -14581,6 +14618,11 @@ Phaser.Game.prototype = { } } + if (this.config['disableStart']) + { + return; + } + if (this.cache.isReady) { this.raf.start(); @@ -14669,6 +14711,12 @@ Phaser.Game.prototype = { */ setUpRenderer: function () { + if (!this.device.canvas) + { + // Nothing else to do + throw new Error('Phaser.Game - Cannot create Canvas 2d context, aborting.'); + } + if (this.config['canvas']) { this.canvas = this.config['canvas']; @@ -14687,42 +14735,52 @@ Phaser.Game.prototype = { this.canvas.style['-webkit-full-screen'] = 'width: 100%; height: 100%'; } - if (this.renderType === Phaser.HEADLESS || this.renderType === Phaser.CANVAS || (this.renderType === Phaser.AUTO && !this.device.webGL)) + if (this.config['crisp']) { - if (this.device.canvas) - { - this.renderer = new PIXI.CanvasRenderer(this); - - this.context = this.renderer.context; - - if (this.renderType === Phaser.AUTO) { - this.renderType = Phaser.CANVAS; - } - } - else - { - throw new Error('Phaser.Game - Cannot create Canvas or WebGL context, aborting.'); - } + Phaser.Canvas.setImageRenderingCrisp(this.canvas); } - else - { - // They requested WebGL and their browser supports it + if ((this.renderType === Phaser.WEBGL) || + (this.renderType === Phaser.WEBGL_MULTI) || + (this.renderType === Phaser.AUTO && this.device.webGL)) + { if (this.multiTexture || this.renderType === Phaser.WEBGL_MULTI) { PIXI.enableMultiTexture(); - this.multiTexture = true; } - this.renderType = Phaser.WEBGL; + try + { + this.renderer = new PIXI.WebGLRenderer(this, this.config); + this.renderType = Phaser.WEBGL; + this.context = null; + this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); + this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + } + catch (webGLRendererError) + { + this.renderer = null; + this.multiTexture = false; + PIXI._enableMultiTextureToggle = false; - this.renderer = new PIXI.WebGLRenderer(this); + if (this.renderType === Phaser.WEBGL) + { + // No fallback + throw webGLRendererError; + } + } + } - this.context = null; + if (!this.renderer) + { + this.renderer = new PIXI.CanvasRenderer(this, this.config); + this.context = this.renderer.context; - this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); - this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + if (this.renderType === Phaser.AUTO) + { + this.renderType = Phaser.CANVAS; + } } if (this.device.cocoonJS) @@ -14780,6 +14838,12 @@ Phaser.Game.prototype = { */ update: function (time) { + if (this.pendingDestroy) + { + this.destroy(); + return; + } + this.time.update(time); if (this._kickstart) @@ -14807,12 +14871,19 @@ Phaser.Game.prototype = { this.fpsProblemNotifier.dispatch(); } - // reset the _deltaTime accumulator which will cause all pending dropped frames to be permanently skipped + // reset the _deltaTime accumulator which will cause all pending late updates to be permanently skipped this._deltaTime = 0; this._spiraling = 0; - // call the game render update exactly once every frame - this.updateRender(this.time.slowMotion * this.time.desiredFps); + if (this.dropFrames) + { + this.rendersThisFrame = 0; + } + else + { + this.updateRender(this.time.slowMotion * this.time.desiredFps); + this.rendersThisFrame = 1; + } } else { @@ -14833,6 +14904,15 @@ Phaser.Game.prototype = { this.updatesThisFrame = Math.min(1, this.updatesThisFrame); } + if (this.forceSingleRender) + { + this.rendersThisFrame = 1; + } + else + { + this.rendersThisFrame = Math.min(1, this.updatesThisFrame); + } + while (this._deltaTime >= slowStep) { this._deltaTime -= slowStep; @@ -14865,8 +14945,10 @@ Phaser.Game.prototype = { this._lastCount = count; - // call the game render update exactly once every frame unless we're playing catch-up from a spiral condition - this.updateRender(this._deltaTime / slowStep); + if (this.rendersThisFrame > 0) + { + this.updateRender(this._deltaTime / slowStep); + } } }, @@ -14887,6 +14969,8 @@ Phaser.Game.prototype = { this.pendingStep = true; } + this.time.countUpdate(); + this.scale.preUpdate(); this.debug.preUpdate(); this.camera.preUpdate(); @@ -14912,6 +14996,7 @@ Phaser.Game.prototype = { this.scale.pauseUpdate(); this.state.pauseUpdate(timeStep); this.debug.preUpdate(); + this.input.pauseUpdate(); } this.stage.updateTransform(); @@ -14940,6 +15025,8 @@ Phaser.Game.prototype = { return; } + this.time.countRender(); + this.state.preRender(elapsedTime); if (this.renderType !== Phaser.HEADLESS) @@ -15002,6 +15089,8 @@ Phaser.Game.prototype = { * Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM * and resets the PIXI default renderer. * + * To destroy the game during an update callback, set {@link #pendingDestroy} instead. + * * @method Phaser.Game#destroy */ destroy: function () { @@ -15919,6 +16008,21 @@ Phaser.Input.prototype = { }, + /** + * Update method while paused. + * + * @method Phaser.Input#pauseUpdate + * @private + */ + pauseUpdate: function () { + + if (this.gamepad && this.gamepad.active) + { + this.gamepad.update(); + } + + }, + /** * Reset all of the Pointers and Input states. * @@ -15946,11 +16050,6 @@ Phaser.Input.prototype = { this.keyboard.reset(hard); } - if (this.gamepad) - { - this.gamepad.reset(); - } - for (var i = 0; i < this.pointers.length; i++) { this.pointers[i].reset(); @@ -16933,6 +17032,8 @@ Phaser.Mouse.prototype = { this.input.mousePointer.stop(event); } + this.input.interactiveItems.callAll('_pointerOutHandler', this.input.mousePointer); + }, /** @@ -19466,22 +19567,6 @@ Phaser.Touch.prototype = { } } - /** - * Adds a callback that is fired when a browser touchstart or touchend event is received. - * - * @method Phaser.Touch#addTouchLockCallback - * @deprecated Use {@link Phaser.Input#addTouchLockCallback} instead. - */ - this.addTouchLockCallback = this.game.input.addTouchLockCallback.bind(this.game.input); - - /** - * Removes the callback at the defined index from the touchLockCallbacks array. - * - * @method Phaser.Touch#removeTouchLockCallback - * @deprecated Use {@link Phaser.Input#removeTouchLockCallback} instead. - */ - this.removeTouchLockCallback = this.game.input.removeTouchLockCallback.bind(this.game.input); - }, /** @@ -27081,6 +27166,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 0; + this.texture.baseTexture.dirty(); } } else @@ -27088,6 +27174,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 1; + this.texture.baseTexture.dirty(); } } } @@ -33738,7 +33825,7 @@ Phaser.Graphics = function (game, x, y) { this.graphicsData = []; /** - * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF to reset the tint. + * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF (Phaser.Color.WHITE) to reset the tint. * * @property tint * @type Number @@ -38680,6 +38767,7 @@ Object.defineProperty(Phaser.BitmapText.prototype, 'smoothed', { { this._data.base.scaleMode = 1; } + this._data.base.dirty(); } @@ -41273,17 +41361,11 @@ Phaser.Device = function () { this.canUseMultiply = false; /** - * @property {boolean} webGL - Is webGL (and stencil support) available? + * @property {boolean} webGL - Is webGL available? * @default */ this.webGL = false; - /** - * @property {?Error} webGLError - Any error raised while creating a test {@link #webGL} context. - * @default - */ - this.webGLError = null; - /** * @property {boolean} file - Is file available? * @default @@ -41900,30 +41982,7 @@ Phaser.Device._initialize = function () { device.file = !!window['File'] && !!window['FileReader'] && !!window['FileList'] && !!window['Blob']; device.fileSystem = !!window['requestFileSystem']; - device.webGL = !!(function () { - if (!window.WebGLRenderingContext) - { - return false; - } - - try { - var canvas = document.createElement('canvas'); - - // Force screencanvas to false - canvas.screencanvas = false; - - // See PIXI.WebGLRenderer#_contextOptions - var contextOptions = { stencil: true }; - - return canvas.getContext('webgl' , contextOptions) || - canvas.getContext('experimental-webgl', contextOptions); - - } catch (error) { - device.webGLError = error; - - return false; - } - })(); + device.webGL = !!window.WebGLRenderingContext; device.worker = !!window['Worker']; @@ -42517,22 +42576,6 @@ Phaser.Device.needsTouchUnlock = function () { return !!(!this.cocoonJS && (this.iOS || this.android) || (window.PhaserGlobal && window.PhaserGlobal.fakeiOSTouchLock)); }; -/** -* Returns false. -* -* @deprecated -* @method isConsoleOpen -* @memberof Phaser.Device.prototype -* @return false -*/ -Phaser.Device.isConsoleOpen = function () { - - console.warn('Phaser.Device.isConsoleOpen is deprecated and will be removed.'); - - return false; - -}; - /** * Detect if the host is a an Android Stock browser. * This is available before the device "ready" event. @@ -42559,7 +42602,7 @@ Phaser.Device.isAndroidStockBrowser = function () { */ /** -* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, +* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, * including styles, offset and aspect ratio. * * @class Phaser.Canvas @@ -42812,16 +42855,20 @@ Phaser.Canvas = { }, /** - * Sets the CSS image-rendering property on the given canvas to be 'crisp' (aka 'optimize contrast' on webkit). + * Sets the CSS image-rendering property to `pixelated` or `crisp-edges`. + * This can remove blurring when the game canvas is scaled up. + * In some browsers this has no visible effect in WEBGL mode. * Note that if this doesn't given the desired result then see the setSmoothingEnabled. * * @method Phaser.Canvas.setImageRenderingCrisp * @param {HTMLCanvasElement} canvas - The canvas to set image-rendering crisp on. * @return {HTMLCanvasElement} Returns the source canvas. + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering + * @see https://caniuse.com/#feat=css-crisp-edges */ setImageRenderingCrisp: function (canvas) { - var types = [ 'optimizeSpeed', 'crisp-edges', '-moz-crisp-edges', '-webkit-optimize-contrast', 'optimize-contrast', 'pixelated' ]; + var types = [ '-webkit-optimize-contrast', '-moz-crisp-edges', 'crisp-edges', 'pixelated' ]; for (var i = 0; i < types.length; i++) { @@ -45529,7 +45576,7 @@ Phaser.TweenManager.prototype = { * * @method Phaser.TweenManager#isTweening * @param {object} object - The object to check for tweens against. - * @param {boolean} [checkIsRunning] - Also check that the tween is running and is not marked for deletion. + * @param {boolean} [checkIsRunning=false] - Also check that the tween is running and is not marked for deletion. * @returns {boolean} Returns true if the object is currently being tweened, false if not. */ isTweening: function(object, checkIsRunning) { @@ -45537,7 +45584,7 @@ Phaser.TweenManager.prototype = { if (!checkIsRunning) { checkIsRunning = false; } return this._tweens.some(function(tween) { - return (tween.target === object) && !checkIsRunning || (tween.isRunning && !tween.pendingDelete); + return (tween.target === object) && (!checkIsRunning || (tween.isRunning && !tween.pendingDelete)); }); }, @@ -47798,6 +47845,8 @@ Phaser.Time = function (game) { * * This value _may_ include time that the game is paused/inactive. * + * While the game is active, this will be similar to (1000 / {@link #fps}). + * * _Note:_ This is updated only once per game loop - even if multiple logic update steps are done. * Use {@link Phaser.Timer#physicsTime physicsTime} as a basis of game/logic calculations instead. * @@ -47892,7 +47941,7 @@ Phaser.Time = function (game) { this.advancedTiming = false; /** - * Advanced timing result: The number of render frames record in the last second. + * Advanced timing result: The number of animation frames received from the browser in the last second. * * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. * @property {integer} frames @@ -47900,6 +47949,24 @@ Phaser.Time = function (game) { */ this.frames = 0; + /** + * Advanced timing result: The number of {@link Phaser.Game#updateLogic logic updates} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} updates + * @readonly + */ + this.updates = 0; + + /** + * Advanced timing result: The number of {@link Phaser.Game#updateRender renders} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} renders + * @readonly + */ + this.renders = 0; + /** * Advanced timing result: Frames per second. * @@ -47909,6 +47976,24 @@ Phaser.Time = function (game) { */ this.fps = 0; + /** + * Advanced timing result: Logic updates per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} ups + * @readonly + */ + this.ups = 0; + + /** + * Advanced timing result: Renders per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} rps + * @readonly + */ + this.rps = 0; + /** * Advanced timing result: The lowest rate the fps has dropped to. * @@ -48220,11 +48305,46 @@ Phaser.Time.prototype = { if (this.now > this._timeLastSecond + 1000) { - this.fps = Math.round((this.frames * 1000) / (this.now - this._timeLastSecond)); + var interval = this.now - this._timeLastSecond; + this.fps = Math.round((this.frames * 1000) / interval); + this.ups = Math.round((this.updates * 1000) / interval); + this.rps = Math.round((this.renders * 1000) / interval); this.fpsMin = Math.min(this.fpsMin, this.fps); this.fpsMax = Math.max(this.fpsMax, this.fps); this._timeLastSecond = this.now; this.frames = 0; + this.updates = 0; + this.renders = 0; + } + + }, + + /** + * Counts one logic update (if advanced timing is enabled). + * + * @method Phaser.Time#countUpdate + * @private + */ + countUpdate: function () { + + if (this.advancedTiming) + { + this.updates++; + } + + }, + + /** + * Counts one render (if advanced timing is enabled). + * + * @method Phaser.Time#countRender + * @private + */ + countRender: function () { + + if (this.advancedTiming) + { + this.renders++; } }, @@ -48321,12 +48441,15 @@ Phaser.Time.prototype = { }; /** -* The desired frame rate of the game. +* The number of logic updates per second. * * This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. * +* The render rate is unaffected unless you also turn off {@link Phaser.Game#forceSingleRender}. +* * @name Phaser.Time#desiredFps -* @property {integer} desiredFps - The desired frame rate of the game. Defaults to 60. +* @type {integer} +* @default 60 */ Object.defineProperty(Phaser.Time.prototype, "desiredFps", { @@ -53939,7 +54062,7 @@ Phaser.Loader = function (game) { }; /** - * This event is dispatched when the loading process starts: before the first file has been requested, + * This event is dispatched when the loading process starts: before the first file has been requested, * but after all the initial packs have been loaded. * * @property {Phaser.Signal} onLoadStart @@ -53998,22 +54121,6 @@ Phaser.Loader = function (game) { */ this.onFileError = new Phaser.Signal(); - /** - * If true and if the browser supports XDomainRequest, it will be used in preference for XHR. - * - * This is only relevant for IE 9 and should _only_ be enabled for IE 9 clients when required by the server/CDN. - * - * @property {boolean} useXDomainRequest - * @deprecated This is only relevant for IE 9. - */ - this.useXDomainRequest = false; - - /** - * @private - * @property {boolean} _warnedAboutXDomainRequest - Control number of warnings for using XDR outside of IE 9. - */ - this._warnedAboutXDomainRequest = false; - /** * If true (the default) then parallel downloading will be enabled. * @@ -56311,12 +56418,6 @@ Phaser.Loader.prototype = { */ xhrLoad: function (file, url, type, onload, onerror) { - if (this.useXDomainRequest && window.XDomainRequest) - { - this.xhrLoadWithXDR(file, url, type, onload, onerror); - return; - } - var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = type; @@ -56393,88 +56494,6 @@ Phaser.Loader.prototype = { }, - /** - * Starts the xhr loader - using XDomainRequest. - * This should _only_ be used with IE 9. Phaser does not support IE 8 and XDR is deprecated in IE 10. - * - * This is designed specifically to use with asset file processing. - * - * @method Phaser.Loader#xhrLoadWithXDR - * @private - * @param {object} file - The file/pack to load. - * @param {string} url - The URL of the file. - * @param {string} type - The xhr responseType. - * @param {function} onload - The function to call on success. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @param {function} [onerror=fileError] The function to call on error. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @deprecated This is only relevant for IE 9. - */ - xhrLoadWithXDR: function (file, url, type, onload, onerror) { - - // Special IE9 magic .. only - if (!this._warnedAboutXDomainRequest && - (!this.game.device.ie || this.game.device.ieVersion >= 10)) - { - this._warnedAboutXDomainRequest = true; - console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"); - } - - // Ref: http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx - var xhr = new window.XDomainRequest(); - xhr.open('GET', url, true); - xhr.responseType = type; - - // XDomainRequest has a few quirks. Occasionally it will abort requests - // A way to avoid this is to make sure ALL callbacks are set even if not used - // More info here: http://stackoverflow.com/questions/15786966/xdomainrequest-aborts-post-on-ie-9 - xhr.timeout = 3000; - - onerror = onerror || this.fileError; - - var _this = this; - - xhr.onerror = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.ontimeout = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.onprogress = function() {}; - - xhr.onload = function () { - try { - if (xhr.readyState === 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. - return onerror.call(_this, file, xhr); - } - else { - return onload.call(_this, file, xhr); - } - return onload.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - file.requestObject = xhr; - file.requestUrl = url; - - // Note: The xdr.send() call is wrapped in a timeout to prevent an issue with the interface where some requests are lost - // if multiple XDomainRequests are being sent at the same time. - setTimeout(function () { - xhr.send(); - }, 0); - - }, - /** * Give a bunch of URLs, return the first URL that has an extension this device thinks it can play. * @@ -56943,10 +56962,8 @@ Phaser.Loader.prototype = { /** * Update the loading sprite progress. * - * @method Phaser.Loader#nextFile + * @method Phaser.Loader#updateProgress * @private - * @param {object} previousFile - * @param {boolean} success - Whether the previous asset loaded successfully or not. */ updateProgress: function () { @@ -57934,7 +57951,7 @@ Phaser.Sound = function (game, key, volume, loop, connect) { this.gainNode = this.context.createGain(); } - this.gainNode.gain.value = volume * this.game.sound.volume; + this.gainNode.gain.value = volume; if (connect) { @@ -57960,47 +57977,47 @@ Phaser.Sound = function (game, key, volume, loop, connect) { } /** - * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files) + * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files). It passes one argument, this sound. */ this.onDecoded = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played. + * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played or a looping marker is restarted. It passes one argument, this sound. */ this.onPlay = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. + * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. It passes one argument, this sound. */ this.onPause = new Phaser.Signal(); /** - * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. + * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. It passes one argument, this sound. */ this.onResume = new Phaser.Signal(); /** - * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. + * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. It passes one argument, this sound. */ this.onLoop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback. + * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback or when a non-looping marker completes. It passes two arguments: this sound and any {@link #currentMarker marker} that was playing. */ this.onStop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. + * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. It passes one argument, this sound. */ this.onMute = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. + * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. It passes two arguments: the {@link #currentMarker} and this sound. */ this.onMarkerComplete = new Phaser.Signal(); /** - * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. + * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. It passes two arguments: this sound and its current {@link #volume}. */ this.onFadeComplete = new Phaser.Signal(); @@ -59026,6 +59043,13 @@ Phaser.SoundManager = function (game) { */ this.onUnMute = new Phaser.Signal(); + /** + * This signal is dispatched when the SoundManager is touch-unlocked. + * If the device doesn't {@link Phaser.Device.needsTouchUnlock need touch-unlocking}, the signal won't be dispatched. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -59147,16 +59171,19 @@ Phaser.SoundManager.prototype = { */ boot: function () { - if (this.game.device.iOS && this.game.device.webAudio === false) + var device = this.game.device; + var PhaserGlobal = window.PhaserGlobal; + + if (device.iOS && device.webAudio === false) { this.channels = 1; } // PhaserGlobal overrides - if (window['PhaserGlobal']) + if (PhaserGlobal) { // Check to see if all audio playback is disabled (i.e. handled by a 3rd party class) - if (window['PhaserGlobal'].disableAudio === true) + if (PhaserGlobal.disableAudio === true) { this.noAudio = true; this.touchLocked = false; @@ -59164,7 +59191,7 @@ Phaser.SoundManager.prototype = { } // Check if the Web Audio API is disabled (for testing Audio Tag playback during development) - if (window['PhaserGlobal'].disableWebAudio === true) + if (PhaserGlobal.disableWebAudio === true) { this.usingAudioTag = true; this.touchLocked = false; @@ -59172,9 +59199,9 @@ Phaser.SoundManager.prototype = { } } - if (window['PhaserGlobal'] && window['PhaserGlobal'].audioContext) + if (PhaserGlobal && PhaserGlobal.audioContext) { - this.context = window['PhaserGlobal'].audioContext; + this.context = PhaserGlobal.audioContext; } else { @@ -59226,19 +59253,24 @@ Phaser.SoundManager.prototype = { this.masterGain = this.context.createGain(); } - this._setGain(1); + this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); } if (!this.noAudio) { // On mobile we need a native touch event before we can play anything, so capture it here - if (this.game.device.needsTouchUnlock()) + if (device.needsTouchUnlock()) { this.setTouchLock(); } } + if (this.usingWebAudio && device.chrome && device.chromeVersion <= 65) + { + console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. '); + } + }, /** @@ -59249,7 +59281,7 @@ Phaser.SoundManager.prototype = { */ setTouchLock: function () { - if (this.noAudio || (window['PhaserGlobal'] && window['PhaserGlobal'].disableAudio === true)) + if (this.noAudio || (window.PhaserGlobal && window.PhaserGlobal.disableAudio === true)) { return; } @@ -59260,6 +59292,20 @@ Phaser.SoundManager.prototype = { }, + /** + * Turns off {@link #touchLocked} and dispatches {@link #onTouchUnlock}. + * + * @method Phaser.SoundManager#setTouchUnlock + * @private + */ + setTouchUnlock: function () { + + this.touchLocked = false; + this._unlockSource = null; + this.onTouchUnlock.dispatch(); + + }, + /** * Enables the audio, usually after the first touch. * @@ -59276,8 +59322,7 @@ Phaser.SoundManager.prototype = { // Global override (mostly for Audio Tag testing) if (this.usingAudioTag) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } else if (this.usingWebAudio) { @@ -59477,8 +59522,7 @@ Phaser.SoundManager.prototype = { if (this.touchLocked && this._unlockSource !== null && (this._unlockSource.playbackState === this._unlockSource.PLAYING_STATE || this._unlockSource.playbackState === this._unlockSource.FINISHED_STATE)) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } for (var i = 0; i < this._sounds.length; i++) @@ -59573,6 +59617,28 @@ Phaser.SoundManager.prototype = { }, + /** + * Removes all Sounds from the SoundManager. + * The removed Sounds are destroyed before removal. + * + * @method Phaser.SoundManager#removeAll + */ + removeAll: function () { + + this.stopAll(); + + for (var i = 0; i < this._sounds.length; i++) + { + if (this._sounds[i]) + { + this._sounds[i].destroy(); + } + } + + this._sounds.length = 0; + + }, + /** * Removes all Sounds from the SoundManager that have an asset key matching the given value. * The removed Sounds are destroyed before removal. @@ -59642,7 +59708,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { this._muteVolume = this.masterGain.gain.value; - this._setGain(0); + this.masterGain.gain.value = 0; } // Loop through sounds @@ -59675,7 +59741,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { - this._setGain(this._muteVolume); + this.masterGain.gain.value = this._muteVolume; } // Loop through sounds @@ -59698,26 +59764,16 @@ Phaser.SoundManager.prototype = { */ destroy: function () { - this.stopAll(); - - for (var i = 0; i < this._sounds.length; i++) - { - if (this._sounds[i]) - { - this._sounds[i].destroy(); - } - } - - this._sounds = []; + this.removeAll(); this.onSoundDecode.dispose(); if (this.context) { - if (window['PhaserGlobal']) + if (window.PhaserGlobal) { // Store this in the PhaserGlobal window var, if set, to allow for re-use if the game is created again without the page refreshing - window['PhaserGlobal'].audioContext = this.context; + window.PhaserGlobal.audioContext = this.context; } else { @@ -59728,12 +59784,6 @@ Phaser.SoundManager.prototype = { } } - }, - - _setGain: function (value) { - - this.masterGain.gain.setTargetAtTime(value, 0, 0.01); - } }; @@ -59809,7 +59859,7 @@ Object.defineProperty(Phaser.SoundManager.prototype, "volume", { if (this.usingWebAudio) { - this._setGain(value); + this.masterGain.gain.value = value; } else { @@ -60498,6 +60548,20 @@ Phaser.ScaleManager.RESIZE = 3; */ Phaser.ScaleManager.USER_SCALE = 4; +/** +* Names of the scale modes, indexed by value. +* +* @constant +* @type {string[]} +*/ +Phaser.ScaleManager.MODES = [ + 'EXACT_FIT', + 'NO_SCALE', + 'SHOW_ALL', + 'RESIZE', + 'USER_SCALE' +]; + Phaser.ScaleManager.prototype = { /** @@ -60634,6 +60698,14 @@ Phaser.ScaleManager.prototype = { this.fullScreenTarget = config['fullScreenTarget']; } + this.pageAlignHorizontally = config.alignH || false; + this.pageAlignVertically = config.alignV || false; + + if (config.scaleH && config.scaleV) + { + this.setUserScale(config.scaleH, config.scaleV, config.trimH, config.trimV); + } + }, /** @@ -62597,6 +62669,36 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Render Sound Manager information, including volume, mute, audio mode, and locked status. + * + * @method Phaser.Utils.Debug#sound + * @param {number} x - X position of the debug info to be rendered. + * @param {number} y - Y position of the debug info to be rendered. + * @param {string} [color='rgb(255,255,255)'] - color of the debug info to be rendered. (format is css color string). + */ + sound: function (x, y, color) { + + var sound = this.game.sound; + + this.start(x, y, color); + + if (sound.noAudio) + { + this.line('Audio is disabled'); + } + else + { + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Mute on pause: ' + sound.muteOnPause); + this.line('Using: ' + (sound.usingWebAudio ? ('Web Audio - ' + sound.context.state) : 'Audio Tag')); + this.line('Touch locked: ' + sound.touchLocked); + } + + this.stop(); + + }, + /** * Render Sound information, including decoded state, duration, volume and more. * @@ -62609,13 +62711,13 @@ Phaser.Utils.Debug.prototype = { soundInfo: function (sound, x, y, color) { this.start(x, y, color); - this.line('Sound: ' + sound.key + ' Locked: ' + sound.game.sound.touchLocked); + this.line('Sound: ' + sound.key + ' Touch locked: ' + sound.game.sound.touchLocked); this.line('Is Ready?: ' + this.game.cache.isSoundReady(sound.key) + ' Pending Playback: ' + sound.pendingPlayback); this.line('Decoded: ' + sound.isDecoded + ' Decoding: ' + sound.isDecoding); - this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying); + this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying + ' Loop: ' + sound.loop); this.line('Time: ' + sound.currentTime); - this.line('Volume: ' + sound.volume + ' Muted: ' + sound.mute); - this.line('WebAudio: ' + sound.usingWebAudio + ' Audio: ' + sound.usingAudioTag); + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Using: ' + (sound.usingWebAudio ? 'Web Audio' : 'Audio Tag')); if (sound.currentMarker !== '') { @@ -62676,17 +62778,12 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Camera (' + camera.width + ' x ' + camera.height + ')'); this.line('x: ' + camera.x + ' y: ' + camera.y); - - if (bounds) - { - this.line('Bounds x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height); - } - - this.line('View x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); + this.line('Bounds: ' + (bounds ? ('x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height) : 'none')); + this.line('View: x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); this.line('Deadzone: ' + (deadzone ? ('x: ' + deadzone.x + ' y: ' + deadzone.y + ' w: ' + deadzone.width + ' h: ' + deadzone.height) : deadzone)); this.line('Total in view: ' + camera.totalInView); this.line('At limit: x: ' + camera.atLimit.x + ' y: ' + camera.atLimit.y); - this.line('Target: ' + (target ? (target.name || target) : target)); + this.line('Target: ' + (target ? (target.name || target) : 'none')); this.stop(); }, @@ -63362,6 +63459,86 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Prints game/canvas dimensions and {@link Phaser.ScaleManager game scale} settings. + * + * @method Phaser.Utils.Debug#scale + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + scale: function (x, y, color) { + + this.start(x, y, color); + + var scale = this.game.scale; + var factor = scale.scaleFactorInversed; + var bounds = scale._parentBounds; + var x = ' x '; + + this.line('Game: ' + this.game.width + x + this.game.height); + this.line('Canvas: ' + scale.width + x + scale.height + + ' (' + factor.x.toFixed(2) + x + factor.y.toFixed(2) + ')' + + ' [' + scale.aspectRatio.toFixed(2) + ']'); + this.line('Mode: ' + Phaser.ScaleManager.MODES[scale.currentScaleMode] + + (scale.currentScaleMode === Phaser.ScaleManager.USER_SCALE ? + (' (' + scale._userScaleFactor.x + x + scale._userScaleFactor.y + ')') : + '')); + this.line('Parent: ' + (scale.parentIsWindow ? 'window' : scale.parentNode) + + (bounds.empty ? '' : (' (' + bounds.width + x + bounds.height + ')'))); + this.line('Screen: ' + scale.classifyOrientation(scale.screenOrientation) + + (scale.incorrectOrientation ? ' (incorrect)' : '')); + + this.stop(); + + }, + + /** + * Prints the progress of a {@link Phaser.Loader}. + * + * Typically you would call this within a {@link State#loadRender} callback and pass `game.load` ({@link Phaser.Game#load}). + * + * You can enable {@link Phaser.Loader#resetLocked} to temporarily hold the loader in its 'complete' state. + * Just remember to disable it before restarting the loader (such as when changing states). + * + * @method Phaser.Utils.Debug#loader + * @param {Phaser.Loader} loader - The loader. Usually `game.load` ({@link Phaser.Game#load}). + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + loader: function (loader, x, y, color) { + + var pad = Phaser.Utils.pad; + + this.start(x, y, color); + + if (loader.hasLoaded) + { + this.line('Complete' + (loader.resetLocked ? ' [locked]' : '')); + } + else if (loader.isLoading) + { + this.line('Loading'); + } + else + { + this.line('Not started'); + } + + if (!loader.hasLoaded || loader.resetLocked) + { + this.line('Progress: ' + (pad(loader.progress, 3) + '%')); + this.line('Files: ' + loader._loadedFileCount + ' of ' + + loader._totalFileCount); + this.line('Packs: ' + loader._loadedPackCount + ' of ' + + loader._loadedPackCount); + } + + this.stop(); + + }, + /** * Destroy this object. * @@ -64364,29 +64541,6 @@ Phaser.ArrayUtils = { }, - /** - * Moves the element from the start of the array to the end, shifting all items in the process. - * The "rotation" happens to the left. - * - * Before: `[ A, B, C, D, E, F ]` - * After: `[ B, C, D, E, F, A ]` - * - * See also Phaser.ArrayUtils.rotateRight - * - * @method Phaser.ArrayUtils.rotate - * @deprecated Please use Phaser.ArrayUtils.rotateLeft instead. - * @param {any[]} array - The array to rotate. The array is modified. - * @return {any} The rotated value. - */ - rotate: function (array) { - - var s = array.shift(); - array.push(s); - - return s; - - }, - /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]` (or `[0, start]`, if `end` is omitted). * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. @@ -65375,6 +65529,96 @@ Phaser.FlexLayer.prototype.debug = function () { */ Phaser.Color = { + /** + * Red (0xff0000) + * + * @type number + * @constant + * @default + */ + RED: 0xff0000, + + /** + * Orange (0xff9900) + * + * @type number + * @constant + * @default + */ + ORANGE: 0xff9900, + + /** + * Yellow (0xffff00) + * + * @type number + * @constant + * @default + */ + YELLOW: 0xffff00, + + /** + * Green (0x00ff00) + * + * @type number + * @constant + * @default + */ + GREEN: 0x00ff00, + + /** + * Aqua (0x00ffff) + * + * @type number + * @constant + * @default + */ + AQUA: 0x00ffff, + + /** + * Blue (0x0000ff) + * + * @type number + * @constant + * @default + */ + BLUE: 0x0000ff, + + /** + * Violet/purple (0xff00ff) + * + * @type number + * @constant + * @default + */ + VIOLET: 0xff00ff, + + /** + * White (0xffffff) + * + * @type number + * @constant + * @default + */ + WHITE: 0xffffff, + + /** + * Black (0x000000) + * + * @type number + * @constant + * @default + */ + BLACK: 0, + + /** + * Gray (0x666666) + * + * @type number + * @constant + * @default + */ + GRAY: 0x666666, + /** * Packs the r, g, b, a components into a single integer, for use with Int32Array. * If device is little endian then ABGR order is used. Otherwise RGBA order is used. @@ -67317,6 +67561,7 @@ Phaser.Physics.Arcade = function (game) { /** * @property {number} OVERLAP_BIAS - A value added to the delta values during collision checks. + * @default */ this.OVERLAP_BIAS = 4; @@ -77049,7 +77294,7 @@ Phaser.Tile = function (layer, index, x, y, width, height) { * @property {number} y - The y map coordinate of this tile. */ this.y = y; - + /** * @property {number} rotation - The rotation angle of this tile. */ @@ -77059,7 +77304,7 @@ Phaser.Tile = function (layer, index, x, y, width, height) { * @property {boolean} flipped - Whether this tile is flipped (mirrored) or not. */ this.flipped = false; - + /** * @property {number} x - The x map coordinate of this tile. */ @@ -77161,6 +77406,12 @@ Phaser.Tile = function (layer, index, x, y, width, height) { */ this.collisionCallbackContext = this; + /** + * @property {boolean} debug + * @default + */ + this.debug = false; + }; Phaser.Tile.prototype = { @@ -82031,7 +82282,7 @@ Phaser.Particle.prototype.reset = function(x, y, health) { */ /** -* Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it. +* Phaser.Particles tracks any Emitters attached to it. * * @class Phaser.Particles * @constructor @@ -82077,26 +82328,6 @@ Phaser.Particles.prototype = { */ remove: function (emitter) { delete this.emitters[emitter.id]; - }, - - /** - * Updates all Emitters who have their exists value set to true. - * - * Phaser no longer uses this method; Emitters receive updates via {@link Phaser.Stage#update} instead. - * - * @method Phaser.Particles#update - * @protected - * @deprecated - */ - update: function () { - for (var key in this.emitters) - { - if (this.emitters[key].exists) - { - this.emitters[key].update(); - } - } - } }; @@ -85053,6 +85284,19 @@ Phaser.Video = function (game, key, url) { */ this.onTimeout = new Phaser.Signal(); + /** + * This signal is dispatched when the Video is unlocked. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + + /** + * Start playing the video when it's unlocked. + * @property {boolean} playWhenUnlocked + * @default + */ + this.playWhenUnlocked = true; + /** * @property {integer} timeout - The amount of ms allowed to elapsed before the Video.onTimeout signal is dispatched while waiting for webcam access. * @default @@ -86012,9 +86256,12 @@ Phaser.Video.prototype = { this.touchLocked = false; - this.video.play(); + if (this.playWhenUnlocked) + { + this.video.play(); - this.onPlay.dispatch(this, this.loop, this.playbackRate); + this.onPlay.dispatch(this, this.loop, this.playbackRate); + } if (this.key) { @@ -86026,6 +86273,8 @@ Phaser.Video.prototype = { } } + this.onTouchUnlock.dispatch(this); + return true; }, diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index 3aa226cf9..0d3418736 100644 --- a/build/custom/phaser-split.map +++ b/build/custom/phaser-split.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-split.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","key","currentObj","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","webGL","CanvasRenderer","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","webGLError","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","contextOptions","stencil","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","_setGain","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","setTargetAtTime","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-split.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-split.js"],"names":["WheelEventProxy","scaleFactor","deltaMode","this","_scaleFactor","_deltaMode","originalEvent","root","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","Math","trunc","x","ceil","floor","Function","prototype","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","key","currentObj","chanceRoll","chance","undefined","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","start","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","v","webAudio","ie","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","timeStep","countUpdate","countRender","enableStep","disableStep","step","stop","removeFromDOM","defaultRenderer","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","py","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","gl","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","flush","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","item","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","require","versions","error","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","on","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-split.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-split.min.js b/build/custom/phaser-split.min.js index 7ae3d8a9c..8d8314e69 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,m=new i.Point(u,p),g=new i.Point(d,f),y=e.pointOnSegment(m.x,m.y,.01),v=e.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(R-2)],d=n[2*(R-2)+1],p=n[2*(R-1)],y=-(d-(f=n[2*(R-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),E.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var m=0;me?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=e-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+m)*e,l.push(s+(p.xOffset+m)*e),s+=(p.xAdvance+m)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,k=Math.sqrt(C*C+S*S);l=T+C/k*(k+_),d=P+S/k*(k+w),S=p-P,c=T+(C=c-T)/(k=Math.sqrt(C*C+S*S))*(k+_),p=P+S/k*(k+w),S=f-P,u=T+(C=u-T)/(k=Math.sqrt(C*C+S*S))*(k+_),f=P+S/k*(k+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/A,E/A,O/A,R/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?g:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!function(){if(!window.WebGLRenderingContext)return!1;try{var t=document.createElement("canvas");t.screencanvas=!1;var e={stencil:!0};return t.getContext("webgl",e)||t.getContext("experimental-webgl",e)}catch(t){return s.webGLError=t,!1}}(),s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&!e||i.isRunning&&!i.pendingDelete})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,m+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var o=new window.XDomainRequest;o.open("GET",e,!0),o.responseType=i,o.timeout=3e3,n=n||this.fileError;var r=this;o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.ontimeout=function(){try{return n.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},o.onprogress=function(){},o.onload=function(){try{return 4===o.readyState&&o.status>=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,setTimeout(function(){o.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this._setGain(1),this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this._setGain(t);else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=o.data.length;g536870912)switch(k>2147483648&&(k-=2147483648,d+=4),k>1073741824&&(k-=1073741824,d+=2),k>536870912&&(k-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}k>0?((B=new i.Tile(D,k,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===o.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); +(function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(e),r=n*Math.sin(e);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,o){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,o=t.y,r=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-r*e.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?r:null}return r},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,o){return i.Point.rotate(this,t,e,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,o,r),this.bounds=new i.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(e){case i.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case i.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,o){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else r=new i.SignalBinding(this,t,e,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},i.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=i.Utils.getProperty(t,e);return!(void 0===o&&n||o!==s)},i.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},i.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=0;r2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,o,r){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!e||e.call(s,h,o))&&(n=o,r=h)}return r},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var o=this.game.camera.x-this._pointerData[t.id].camX,r=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+o),this.allowVerticalDrag&&(this.sprite.y=n+r),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,e)}o&&(this._frame=i.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,o){var r=this.game.plugins.add(i.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,e,s,n),r},image:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,o){void 0===o&&(o=this.world);var r=new i.Creature(this.game,t,e,s,n);return o.add(r),r},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,o,r))},rope:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.Rope(this.game,t,e,s,n,o))},text:function(t,e,s,n,o){return void 0===o&&(o=this.world),o.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,o,r,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return void 0===r&&(r=this.world),r.add(new i.BitmapText(this.game,t,e,s,n,o))},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,o){return new i.Group(this.game,t,e,s,n,o)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,o,r){return new i.TileSprite(this.game,t,e,s,n,o,r)},rope:function(t,e,s,n,o){return new i.Rope(this.game,t,e,s,n,o)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,o,r,a,h,l){return new i.Button(this.game,t,e,s,n,o,r,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,o,r,a,h,l){return new i.RetroFont(this.game,t,e,s,n,o,r,a,h,l)},bitmapText:function(t,e,s,n,o,r){return new i.BitmapText(this.game,t,e,s,n,o,r)},tilemap:function(t,e,s,n,o){return new i.Tilemap(this.game,t,e,s,n,o)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,o){e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,o)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,o,r,a,h,l,c){e=e||0,s=s||0,n=n||null,o=o||null,r=r||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,o){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===e.a&&!r);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,e,s,n,o,r,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var o=this.context;return o.fillStyle=o.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,e.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(r,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,o){var r,a,h,l=0;for(r=e,a=s-n;r0)for(r=e;r=e;r-=n)h=i.EarCut.insertNode(r,t[r],t[r+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,o,r,a){if(t){!a&&r&&i.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?i.EarCut.isEarHashed(t,n,o,r):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,o,r,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,o,r):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,o,r,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,o.x,o.y)&&i.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var o=t.prev,r=t,a=t.next;if(i.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var o=n.prev,r=n.next.next;i.EarCut.intersects(o,n,n.next,r)&&i.EarCut.locallyInside(o,r)&&i.EarCut.locallyInside(r,o)&&(e.push(o.i/s),e.push(n.i/s),e.push(r.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,o,r),void i.EarCut.earcutLinked(l,e,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var o,r,a,h,l,c=[];for(o=0,r=e.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(rs.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var o=t;do{null===o.z&&(o.z=i.EarCut.zOrder(o.x,o.y,e,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,i.EarCut.sortLinked(o)},i.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),o=t.next,r=e.prev;return t.next=e,e.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},i.EarCut.insertNode=function(t,e,s,n){var o=new i.EarCut.Node(t,e,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,o=e.projection,r=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(R-2)],d=n[2*(R-2)+1],p=n[2*(R-1)],y=-(d-(f=n[2*(R-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),E.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(o.fillColor||0===o.fillColor)&&(e.globalAlpha=o.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),o.lineWidth&&(e.globalAlpha=o.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,o=new i.Point,r=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,o){return this.drawShape(new i.RoundedRectangle(t,e,s,n,o)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{r=o.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,o,r,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=i.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=r,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var o=Math.ceil(n.measureText("|MÉq").width),r=Math.ceil(n.measureText("|MÉq").width),a=2*r;if(r=1.4*r|0,s.width=o,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,o,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,r),!n.getImageData(0,0,o,a))return e.ascent=r,e.descent=r+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,o,a).data,u=c.length,d=4*o,p=0,f=!1;for(h=0;hr;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),i.RetroFont=function(t,e,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,o=o||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,o),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,o,r=t.length,a=1;a1&&1,r=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=r,s.y/=r,s.x*=a,s.y*=a,h[o]=n.x+s.x,h[o+1]=n.y+s.y,h[o+2]=n.x-s.x,h[o+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,o=t.shaderManager.stripShader,r=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(o.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(o.projectionVector,s.x,-s.y),e.uniform2f(o.offsetVector,-n.x,-n.y),e.uniform1f(o.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(o.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(o.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(r,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,o=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|o):e.setTransform(s.a,s.b,s.c,s.d,n,o),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,k=Math.sqrt(C*C+S*S);l=T+C/k*(k+_),d=P+S/k*(k+w),S=p-P,c=T+(C=c-T)/(k=Math.sqrt(C*C+S*S))*(k+_),p=P+S/k*(k+w),S=f-P,u=T+(C=u-T)/(k=Math.sqrt(C*C+S*S))*(k+_),f=P+S/k*(k+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var A=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,E/A,O/A,R/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,o=i.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(r),n=r.canvas}else i.CanvasPool.pool[o].parent=t,n=i.CanvasPool.pool[o].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var o=e.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,o){e=e||256,s=s||256;var r=o?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=e,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},i.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,o,r,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,o,r,a)),n&&this.start(),this)},from:function(t,e,s,n,o,r,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,o){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,o,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,o){void 0===n&&(n="");var r=[],a="";if(e=s;h--)a=t+(a="number"==typeof o?i.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},i.Frame=function(t,e,s,n,o,r){this.index=t,this.x=e,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=i.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==o&&(d=h+o),0===c||0===u||cc&&(f=r,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,o=e.frames,r=0;r tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in i.LoaderParser?i.LoaderParser[s](n):n,r={key:t,url:e,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new i.Frame(0,0,0,o.width,o.height,t),frameData:new i.FrameData,fileFormat:s};return r.frameData.addFrame(new i.Frame(0,0,0,o.width,o.height,e)),this._cache.image[t]=r,this._resolveURL(e,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,o,r,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?i.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,o,r,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,o){var r={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===i.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=i.AnimationParser.XMLData(this.game,n,t):o===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=i.AnimationParser.JSONData(this.game,n,t):r.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(e,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var o=n[e];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":o=JSON.parse(e.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.onTouchUnlock=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==e||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:o}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var o=Math.min(t,e,s),r=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,o,r,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);e?(e.r=n,e.g=o,e.b=r):e=i.Color.createColor(n,o,r)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,o,r){var a=i.Color.getRGB(t),h=(e-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-e)*h/a+e,u=(r-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,o)}}}}},collideGroupVsGroup:function(t,e,s,n,o,r){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,o=e.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:t.velocity.x*Math.sin(r)-t.velocity.y*Math.cos(r)},u={x:e.velocity.x*Math.cos(r)+e.velocity.y*Math.sin(r),y:e.velocity.x*Math.sin(r)-e.velocity.y*Math.cos(r)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*e.bounce.x,e.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*e.bounce.y),Math.abs(r)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,o,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,o,r,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?r.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?r.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&r.push(e[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,o){e=e||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,o,r){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[o].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new i.TilemapLayer(this.game,this,o,e,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,e,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,o){n|=0,o|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),g=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var o=this.getEmptyData(),r=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+o.name+"'");continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=o.data.length;m536870912)switch(k>2147483648&&(k-=2147483648,d+=4),k>1073741824&&(k-=1073741824,d+=2),k>536870912&&(k-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}k>0?((B=new i.Tile(D,k,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===o.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,o){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var r={v:t},a=this.game.make.tween(r).to({v:e},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,o,r,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,o>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,o){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,o){i.Sprite.call(this,t,e,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}).call(this); //# sourceMappingURL=phaser-split.map \ No newline at end of file diff --git a/build/custom/pixi.js b/build/custom/pixi.js index 88f1ee8fa..3cc4f0d4a 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.4 "2017-12-20" - Built: Wed Dec 20 2017 12:51:50 +* v2.10.0 "2018-01-18" - Built: Thu Jan 18 2018 16:35:43 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1572,7 +1572,7 @@ PIXI.Sprite = function (texture) { this._height = 0; /** - * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect. + * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect. * * @property tint * @type Number @@ -3348,7 +3348,7 @@ PIXI._enableMultiTextureToggle = false; * @constructor * @param game {Phaser.Game} A reference to the Phaser Game instance */ -PIXI.WebGLRenderer = function(game) { +PIXI.WebGLRenderer = function(game, config) { /** * @property {Phaser.Game} game - A reference to the Phaser Game instance. @@ -3445,6 +3445,7 @@ PIXI.WebGLRenderer = function(game) { this._contextOptions = { alpha: this.transparent, antialias: game.antialias, + failIfMajorPerformanceCaveat: config.failIfMajorPerformanceCaveat, premultipliedAlpha: this.transparent && this.transparent !== 'notMultiplied', stencil: true, preserveDrawingBuffer: this.preserveDrawingBuffer @@ -3530,7 +3531,7 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.stencilManager = this.stencilManager; this.renderSession.renderer = this; this.renderSession.resolution = this.resolution; - this.renderSession.roundPixels = false; + this.renderSession.roundPixels = config.roundPixels || false; this.renderSession.maxTextureAvailableSpace = null; // filled in setTexturePriority() // time init the context.. @@ -6686,7 +6687,7 @@ PIXI.CanvasTinter.tintWithPerPixel = function(texture, color, canvas) * @constructor * @param game {Phaser.Game} A reference to the Phaser Game instance */ -PIXI.CanvasRenderer = function (game) { +PIXI.CanvasRenderer = function (game, config) { /** * @property {Phaser.Game} game - A reference to the Phaser Game instance. @@ -6813,7 +6814,7 @@ PIXI.CanvasRenderer = function (game) { * If true Pixi will Math.floor() x/y values when rendering, stopping pixel interpolation. * Handy for crisp pixel art and speed on legacy devices. */ - roundPixels: false + roundPixels: config.roundPixels || false }; this.mapBlendModes(); @@ -7155,18 +7156,6 @@ PIXI.BaseTexture.prototype.destroy = function() this.unloadFromGPU(); }; -/** - * Changes the source image of the texture - * - * @method PIXI.BaseTexture#updateSourceImage - * @param newSrc {String} the path of the image - * @deprecated This method is deprecated. Please use Phaser.Sprite.loadTexture instead. - */ -PIXI.BaseTexture.prototype.updateSourceImage = function(newSrc) -{ - console.warn("PIXI.BaseTexture.updateSourceImage is deprecated. Use Phaser.Sprite.loadTexture instead."); -}; - /** * Sets all glTextures to be dirty. * diff --git a/build/custom/pixi.map b/build/custom/pixi.map index b0303f682..6d990b2b1 100644 --- a/build/custom/pixi.map +++ b/build/custom/pixi.map @@ -1 +1 @@ -{"version":3,"sources":["pixi.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":"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","file":"pixi.min.js"} \ No newline at end of file +{"version":3,"sources":["pixi.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","floor","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":"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","file":"pixi.min.js"} \ No newline at end of file diff --git a/build/custom/pixi.min.js b/build/custom/pixi.min.js index 113d8285e..d2c37c610 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function e(e,t,r,s){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),o}function t(t,r,i,o,a){var n=t.createFramebuffer(),h=t.createRenderbuffer(),l=null,u=0;return t.activeTexture(t.TEXTURE0+a),t.bindFramebuffer(t.FRAMEBUFFER,n),t.bindRenderbuffer(t.RENDERBUFFER,h),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),l=e(t,r,i,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),(u=t.checkFramebufferStatus(t.FRAMEBUFFER))!==t.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",s[u]),n.width=r,n.height=i,n.targetTexture=l,n.renderBuffer=h,n}var r=this,i=i||{};i.DisplayObject=function(){this.position=new i.Point(0,0),this.scale=new i.Point(1,1),this.pivot=new i.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new i.Point(0,0),this.worldScale=new i.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new i.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},i.DisplayObject.prototype={constructor:i.DisplayObject,destroy:function(){if(this.children){for(var e=this.children.length;e--;)this.children[e].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(e){if(!e&&!this.parent&&!this.game)return this;var t=this.parent;e?t=e:this.parent||(t=this.game.world);var r,i,s,o,a,n,h=t.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),r=this._cr*this.scale.x,i=this._sr*this.scale.x,s=-this._sr*this.scale.y,o=this._cr*this.scale.y,a=this.position.x,n=this.position.y,(this.pivot.x||this.pivot.y)&&(a-=this.pivot.x*r+this.pivot.y*s,n-=this.pivot.x*i+this.pivot.y*o),l.a=r*h.a+i*h.c,l.b=r*h.b+i*h.d,l.c=s*h.a+o*h.c,l.d=s*h.b+o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty):(r=this.scale.x,i=0,s=0,o=this.scale.y,a=this.position.x-this.pivot.x*r,n=this.position.y-this.pivot.y*o,l.a=r*h.a,l.b=r*h.b,l.c=o*h.c,l.d=o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty),r=l.a,i=l.b,s=l.c;var u=r*(o=l.d)-i*s;if(r||i){var d=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/d):-Math.acos(r/d),this.worldScale.x=d,this.worldScale.y=u/d}else if(s||o){var c=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/c):-Math.acos(s/c)),this.worldScale.x=u/c,this.worldScale.y=c}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},i.DisplayObject.prototype.displayObjectUpdateTransform=i.DisplayObject.prototype.updateTransform,Object.defineProperties(i.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(e){this.position.x=e}},y:{get:function(){return this.position.y},set:function(e){this.position.y=e}},worldVisible:{get:function(){if(this.visible){var e=this.parent;if(!e)return this.visible;do{if(!e.visible)return!1;e=e.parent}while(e);return!0}return!1}},mask:{get:function(){return this._mask},set:function(e){this._mask&&(this._mask.isMask=!1),this._mask=e,e&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(e){if(Array.isArray(e)){for(var t=[],r=0;r=0&&t<=this.children.length)return e.parent&&e.parent.removeChild(e),e.parent=this,this.children.splice(t,0,e),e;throw new Error(e+"addChildAt: The index "+t+" supplied is out of bounds "+this.children.length)},i.DisplayObjectContainer.prototype.swapChildren=function(e,t){if(e!==t){var r=this.getChildIndex(e),i=this.getChildIndex(t);if(r<0||i<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[r]=t,this.children[i]=e}},i.DisplayObjectContainer.prototype.getChildIndex=function(e){var t=this.children.indexOf(e);if(-1===t)throw new Error("The supplied DisplayObject must be a child of the caller");return t},i.DisplayObjectContainer.prototype.setChildIndex=function(e,t){if(t<0||t>=this.children.length)throw new Error("The supplied index is out of bounds");var r=this.getChildIndex(e);this.children.splice(r,1),this.children.splice(t,0,e)},i.DisplayObjectContainer.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw new Error("getChildAt: Supplied index "+e+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[e]},i.DisplayObjectContainer.prototype.removeChild=function(e){var t=this.children.indexOf(e);if(-1!==t)return this.removeChildAt(t)},i.DisplayObjectContainer.prototype.removeChildAt=function(e){var t=this.getChildAt(e);return t&&(t.parent=void 0,this.children.splice(e,1)),t},i.DisplayObjectContainer.prototype.removeChildren=function(e,t){void 0===e&&(e=0),void 0===t&&(t=this.children.length);var r=t-e;if(r>0&&r<=t){for(var i=this.children.splice(e,r),s=0;sn?d:n,c=c>h?c:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,v=x.y,T=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*T+b,M=y*T+_*g+A,C=E*p+S*T+b,L=y*T+_*p+A,B=E*p+S*v+b,P=y*v+_*p+A,w=E*g+S*v+b,U=y*v+_*g+A;d=R,c=M,u=M,l=w<(l=B<(l=C<(l=R)?C:l)?B:l)?w:l,u=U<(u=P<(u=L(d=B>(d=C>d?C:d)?B:d)?w:d,c=U>(c=P>(c=L>c?L:c)?P:c)?U:c}if(x.x=l,x.y=u,x.width=d-l,x.height=c-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=v,M.height=p-v,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var n=r._uvs;if(n){var h,l,u,d,c=e.anchor.x,f=e.anchor.y;if(r.trim){var x=r.trim;h=(l=x.x-c*x.width)+r.crop.width,u=(d=x.y-f*x.height)+r.crop.height}else h=r.frame.width*(1-c),l=r.frame.width*-c,u=r.frame.height*(1-f),d=r.frame.height*-f;var p=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,r.baseTexture.resolution),v=r.baseTexture.textureIndex,T=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=(r.crop.width,r.crop.height);if(r.rotated){var A=a.a,R=a.b,M=a.c,C=a.d,L=l,B=h;S=a.c*b+S,y=a.d*b+y,T=6.123233995736766e-17*A-M,m=6.123233995736766e-17*R-C,E=A+6.123233995736766e-17*M,_=R+6.123233995736766e-17*C,r._updateUvsInverted(),h=u,l=d,u=B,d=L}var P=this.colors,w=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(w[p++]=T*l+E*d+S|0,w[p++]=_*d+m*l+y|0,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*d+S|0,w[p++]=_*d+m*h+y|0,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S|0,w[p++]=_*u+m*h+y|0,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S|0,w[p++]=_*u+m*l+y|0,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v):(w[p++]=T*l+E*d+S,w[p++]=_*d+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*d+S,w[p++]=_*d+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=t.baseTexture,s=this.gl,o=e.texture.baseTexture.textureIndex;i.WebGLRenderer.textureArray[o]!=r&&(this.flush(),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,r._glTextures[s.id]),i.WebGLRenderer.textureArray[o]=r),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var a=e._uvs,n=t.baseTexture.width,h=t.baseTexture.height;e.tilePosition.x%=n*e.tileScaleOffset.x,e.tilePosition.y%=h*e.tileScaleOffset.y;var l=e.tilePosition.x/(n*e.tileScaleOffset.x),u=e.tilePosition.y/(h*e.tileScaleOffset.y),d=e.width/n/(e.tileScale.x*e.tileScaleOffset.x),c=e.height/h/(e.tileScale.y*e.tileScaleOffset.y);a.x0=0-l,a.y0=0-u,a.x1=1*d-l,a.y1=0-u,a.x2=1*d-l,a.y2=1*c-u,a.x3=0-l,a.y3=1*c-u;var f=e.tint,x=(f>>16)+(65280&f)+((255&f)<<16)+(255*e.worldAlpha<<24),p=this.positions,g=this.colors,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-E,A=this.currentBatchSize*this.vertexSize,R=t.baseTexture.resolution,M=e.worldTransform,C=M.a/R,L=M.b/R,B=M.c/R,P=M.d/R,w=M.tx,U=M.ty;p[A++]=C*S+B*b+w,p[A++]=P*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+w,p[A++]=P*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+w,p[A++]=P*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+w,p[A++]=P*y+L*S+U,p[A++]=a.x3,p[A++]=a.y3,g[A++]=x,p[A++]=o,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,d=null,c=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,v=this.currentBatchSize;g0&&(T=!1),(x||p)&&(this.renderBatch(d,l,u),u=g,l=0,d=o,x&&(c=a,this.renderSession.blendModeManager.setBlendMode(c)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(d,l,u),this.currentBatchSize=0}},i.WebGLSpriteBatch.prototype.renderBatch=function(e,t,r){if(0!==t){var i=this.gl;if(e._dirty[i.id]){if(!this.renderSession.renderer.updateTexture(e))return}else i.bindTexture(i.TEXTURE_2D,e._glTextures[i.id]);i.drawElements(i.TRIANGLES,6*t,i.UNSIGNED_SHORT,6*r*2),this.renderSession.drawCount++}},i.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},i.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},i.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},i.WebGLFastSpriteBatch=function(e){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var t=4*this.size*this.vertSize,r=6*this.maxSize;this.vertices=new Float32Array(t),this.indices=new Uint16Array(r),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var i=0,s=0;i=this.size&&this.flush()}},i.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e=this.gl;if(this.currentBaseTexture._glTextures[e.id]){if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{var t=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);e.bufferSubData(e.ARRAY_BUFFER,0,t)}e.drawElements(e.TRIANGLES,6*this.currentBatchSize,e.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,e)}},i.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},i.WebGLFastSpriteBatch.prototype.start=function(){var e=this.gl;e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var t=this.renderSession.projection;e.uniform2f(this.shader.projectionVector,t.x,t.y),e.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var r=4*this.vertSize;e.vertexAttribPointer(this.shader.aVertexPosition,2,e.FLOAT,!1,r,0),e.vertexAttribPointer(this.shader.aPositionCoord,2,e.FLOAT,!1,r,8),e.vertexAttribPointer(this.shader.aScale,2,e.FLOAT,!1,r,16),e.vertexAttribPointer(this.shader.aRotation,1,e.FLOAT,!1,r,24),e.vertexAttribPointer(this.shader.aTextureCoord,2,e.FLOAT,!1,r,28),e.vertexAttribPointer(this.shader.colorAttribute,1,e.FLOAT,!1,r,36),e.vertexAttribPointer(this.shader.aTextureIndex,1,e.FLOAT,!1,r,40)},i.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},i.WebGLFilterManager.prototype.constructor=i.WebGLFilterManager,i.WebGLFilterManager.prototype.setContext=function(e){this.gl=e,this.texturePool=[],this.initShaderBuffers()},i.WebGLFilterManager.prototype.begin=function(e,t){this.renderSession=e,this.defaultShader=e.shaderManager.defaultShader;var r=this.renderSession.projection;this.width=2*r.x,this.height=2*-r.y,this.buffer=t},i.WebGLFilterManager.prototype.pushFilter=function(e){var t=this.gl,r=this.renderSession.projection,s=this.renderSession.offset;e._filterArea=e.target.filterArea||e.target.getBounds(),e._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new i.WebGLStencilManager,this.renderSession.stencilManager.setContext(t),t.disable(t.STENCIL_TEST),this.filterStack.push(e);var o=e.filterPasses[0];this.offsetX+=e._filterArea.x,this.offsetY+=e._filterArea.y;var a=this.texturePool.pop();a?a.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):a=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindTexture(t.TEXTURE_2D,a.texture);var n=e._filterArea,h=o.padding;n.x-=h,n.y-=h,n.width+=2*h,n.height+=2*h,n.x<0&&(n.x=0),n.width>this.width&&(n.width=this.width),n.y<0&&(n.y=0),n.height>this.height&&(n.height=this.height),t.bindFramebuffer(t.FRAMEBUFFER,a.frameBuffer),t.viewport(0,0,n.width*this.renderSession.resolution,n.height*this.renderSession.resolution),r.x=n.width/2,r.y=-n.height/2,s.x=-n.x,s.y=-n.y,t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e._glFilterTexture=a},i.WebGLFilterManager.prototype.popFilter=function(){var e=this.gl,t=this.filterStack.pop(),r=t._filterArea,s=t._glFilterTexture,o=this.renderSession.projection,a=this.renderSession.offset;if(t.filterPasses.length>1){e.viewport(0,0,r.width*this.renderSession.resolution,r.height*this.renderSession.resolution),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=r.height,this.vertexArray[2]=r.width,this.vertexArray[3]=r.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=r.width,this.vertexArray[7]=0,e.bufferSubData(e.ARRAY_BUFFER,0,this.vertexArray),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=r.width/this.width,this.uvArray[5]=r.height/this.height,this.uvArray[6]=r.width/this.width,this.uvArray[7]=r.height/this.height,e.bufferSubData(e.ARRAY_BUFFER,0,this.uvArray);var n=s,h=this.texturePool.pop();h||(h=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindFramebuffer(e.FRAMEBUFFER,h.frameBuffer),e.clear(e.COLOR_BUFFER_BIT),e.disable(e.BLEND);for(var l=0;l0?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.applyFilterPass(c,r,f,x),this.texturePool.push(s),t._glFilterTexture=null},i.WebGLFilterManager.prototype.applyFilterPass=function(e,t,r,s){var o=this.gl,a=e.shaders[o.id];a||((a=new i.PixiShader(o)).fragmentSrc=e.fragmentSrc,a.uniforms=e.uniforms,a.init(!0),e.shaders[o.id]=a),this.renderSession.shaderManager.setShader(a),o.uniform2f(a.projectionVector,r/2,-s/2),o.uniform2f(a.offsetVector,0,0),e.uniforms.dimensions&&(e.uniforms.dimensions.value[0]=this.width,e.uniforms.dimensions.value[1]=this.height,e.uniforms.dimensions.value[2]=this.vertexArray[0],e.uniforms.dimensions.value[3]=this.vertexArray[5]),a.syncUniforms(),o.bindBuffer(o.ARRAY_BUFFER,this.vertexBuffer),o.vertexAttribPointer(a.aVertexPosition,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.uvBuffer),o.vertexAttribPointer(a.aTextureCoord,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.colorBuffer),o.vertexAttribPointer(a.colorAttribute,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.indexBuffer),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0),this.renderSession.drawCount++},i.WebGLFilterManager.prototype.initShaderBuffers=function(){var e=this.gl;this.vertexBuffer=e.createBuffer(),this.uvBuffer=e.createBuffer(),this.colorBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertexArray,e.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvArray,e.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),e.bindBuffer(e.ARRAY_BUFFER,this.colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colorArray,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),e.STATIC_DRAW)},i.WebGLFilterManager.prototype.destroy=function(){var e=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var t=0;t=0;e--){var t=this._glTextures[e],r=i.glContexts[e];r&&t&&r.deleteTexture(t)}this._glTextures.length=0,this.dirty()},i.BaseTexture.fromCanvas=function(e,t,r){return 0===e.width&&(e.width=1),0===e.height&&(e.height=1),r=r||1,new i.BaseTexture(e,t,r)},i.TextureSilentFail=!1,i.Texture=function(e,t,r,s){this.noFrame=!1,t||(this.noFrame=!0,t=new i.Rectangle(0,0,1,1)),e instanceof i.Texture&&(e=e.baseTexture),this.baseTexture=e,this.frame=t,this.trim=s,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new i.Rectangle(0,0,1,1),this.rotated=!1,e.hasLoaded&&(this.noFrame&&(t=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(t))},i.Texture.prototype.constructor=i.Texture,i.Texture.prototype.onBaseTextureLoaded=function(){var e=this.baseTexture;this.noFrame&&(this.frame=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(this.frame)},i.Texture.prototype.destroy=function(e){e&&this.baseTexture.destroy(),this.valid=!1},i.Texture.prototype.setFrame=function(e){if(this.noFrame=!1,this.frame=e,this.width=e.width,this.height=e.height,this.crop.x=e.x,this.crop.y=e.y,this.crop.width=e.width,this.crop.height=e.height,this.trim||!(e.x+e.width>this.baseTexture.width||e.y+e.height>this.baseTexture.height))this.valid=e&&e.width&&e.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!i.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},i.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.width)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.width)/t,this._uvs.y2=(e.y+e.height)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.height)/r},i.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.height)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.height)/t,this._uvs.y2=(e.y+e.width)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.width)/r},i.Texture.fromCanvas=function(e,t){var r=i.BaseTexture.fromCanvas(e,t);return new i.Texture(r)},i.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.PIXI=i):"undefined"!=typeof define&&define.amd?define("PIXI",r.PIXI=i):r.PIXI=i,i}).call(this); +(function(){function e(e,t,r,s){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),o}function t(t,r,i,o,a){var n=t.createFramebuffer(),h=t.createRenderbuffer(),l=null,u=0;return t.activeTexture(t.TEXTURE0+a),t.bindFramebuffer(t.FRAMEBUFFER,n),t.bindRenderbuffer(t.RENDERBUFFER,h),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),l=e(t,r,i,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),(u=t.checkFramebufferStatus(t.FRAMEBUFFER))!==t.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",s[u]),n.width=r,n.height=i,n.targetTexture=l,n.renderBuffer=h,n}var r=this,i=i||{};i.DisplayObject=function(){this.position=new i.Point(0,0),this.scale=new i.Point(1,1),this.pivot=new i.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new i.Point(0,0),this.worldScale=new i.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new i.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},i.DisplayObject.prototype={constructor:i.DisplayObject,destroy:function(){if(this.children){for(var e=this.children.length;e--;)this.children[e].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite()},updateTransform:function(e){if(!e&&!this.parent&&!this.game)return this;var t=this.parent;e?t=e:this.parent||(t=this.game.world);var r,i,s,o,a,n,h=t.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),r=this._cr*this.scale.x,i=this._sr*this.scale.x,s=-this._sr*this.scale.y,o=this._cr*this.scale.y,a=this.position.x,n=this.position.y,(this.pivot.x||this.pivot.y)&&(a-=this.pivot.x*r+this.pivot.y*s,n-=this.pivot.x*i+this.pivot.y*o),l.a=r*h.a+i*h.c,l.b=r*h.b+i*h.d,l.c=s*h.a+o*h.c,l.d=s*h.b+o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty):(r=this.scale.x,i=0,s=0,o=this.scale.y,a=this.position.x-this.pivot.x*r,n=this.position.y-this.pivot.y*o,l.a=r*h.a,l.b=r*h.b,l.c=o*h.c,l.d=o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty),r=l.a,i=l.b,s=l.c;var u=r*(o=l.d)-i*s;if(r||i){var c=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/c):-Math.acos(r/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(s||o){var d=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/d):-Math.acos(s/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},i.DisplayObject.prototype.displayObjectUpdateTransform=i.DisplayObject.prototype.updateTransform,Object.defineProperties(i.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(e){this.position.x=e}},y:{get:function(){return this.position.y},set:function(e){this.position.y=e}},worldVisible:{get:function(){if(this.visible){var e=this.parent;if(!e)return this.visible;do{if(!e.visible)return!1;e=e.parent}while(e);return!0}return!1}},mask:{get:function(){return this._mask},set:function(e){this._mask&&(this._mask.isMask=!1),this._mask=e,e&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(e){if(Array.isArray(e)){for(var t=[],r=0;r=0&&t<=this.children.length)return e.parent&&e.parent.removeChild(e),e.parent=this,this.children.splice(t,0,e),e;throw new Error(e+"addChildAt: The index "+t+" supplied is out of bounds "+this.children.length)},i.DisplayObjectContainer.prototype.swapChildren=function(e,t){if(e!==t){var r=this.getChildIndex(e),i=this.getChildIndex(t);if(r<0||i<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[r]=t,this.children[i]=e}},i.DisplayObjectContainer.prototype.getChildIndex=function(e){var t=this.children.indexOf(e);if(-1===t)throw new Error("The supplied DisplayObject must be a child of the caller");return t},i.DisplayObjectContainer.prototype.setChildIndex=function(e,t){if(t<0||t>=this.children.length)throw new Error("The supplied index is out of bounds");var r=this.getChildIndex(e);this.children.splice(r,1),this.children.splice(t,0,e)},i.DisplayObjectContainer.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw new Error("getChildAt: Supplied index "+e+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[e]},i.DisplayObjectContainer.prototype.removeChild=function(e){var t=this.children.indexOf(e);if(-1!==t)return this.removeChildAt(t)},i.DisplayObjectContainer.prototype.removeChildAt=function(e){var t=this.getChildAt(e);return t&&(t.parent=void 0,this.children.splice(e,1)),t},i.DisplayObjectContainer.prototype.removeChildren=function(e,t){void 0===e&&(e=0),void 0===t&&(t=this.children.length);var r=t-e;if(r>0&&r<=t){for(var i=this.children.splice(e,r),s=0;sn?c:n,d=d>h?d:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,v=x.y,T=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*T+b,M=y*T+_*g+A,C=E*p+S*T+b,L=y*T+_*p+A,B=E*p+S*v+b,P=y*v+_*p+A,w=E*g+S*v+b,U=y*v+_*g+A;c=R,d=M,u=M,l=w<(l=B<(l=C<(l=R)?C:l)?B:l)?w:l,u=U<(u=P<(u=L(c=B>(c=C>c?C:c)?B:c)?w:c,d=U>(d=P>(d=L>d?L:d)?P:d)?U:d}if(x.x=l,x.y=u,x.width=c-l,x.height=d-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=v,M.height=p-v,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var n=r._uvs;if(n){var h,l,u,c,d=e.anchor.x,f=e.anchor.y;if(r.trim){var x=r.trim;h=(l=x.x-d*x.width)+r.crop.width,u=(c=x.y-f*x.height)+r.crop.height}else h=r.frame.width*(1-d),l=r.frame.width*-d,u=r.frame.height*(1-f),c=r.frame.height*-f;var p=this.currentBatchSize*this.vertexSize,g=(this.currentBatchSize,r.baseTexture.resolution),v=r.baseTexture.textureIndex,T=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=(r.crop.width,r.crop.height);if(r.rotated){var A=a.a,R=a.b,M=a.c,C=a.d,L=l,B=h;S=a.c*b+S,y=a.d*b+y,T=6.123233995736766e-17*A-M,m=6.123233995736766e-17*R-C,E=A+6.123233995736766e-17*M,_=R+6.123233995736766e-17*C,r._updateUvsInverted(),h=u,l=c,u=B,c=L}var P=this.colors,w=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(w[p++]=T*l+E*c+S|0,w[p++]=_*c+m*l+y|0,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*c+S|0,w[p++]=_*c+m*h+y|0,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S|0,w[p++]=_*u+m*h+y|0,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S|0,w[p++]=_*u+m*l+y|0,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v):(w[p++]=T*l+E*c+S,w[p++]=_*c+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=v,w[p++]=T*h+E*c+S,w[p++]=_*c+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=v,w[p++]=T*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=v,w[p++]=T*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=v),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=t.baseTexture,s=this.gl,o=e.texture.baseTexture.textureIndex;i.WebGLRenderer.textureArray[o]!=r&&(this.flush(),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,r._glTextures[s.id]),i.WebGLRenderer.textureArray[o]=r),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var a=e._uvs,n=t.baseTexture.width,h=t.baseTexture.height;e.tilePosition.x%=n*e.tileScaleOffset.x,e.tilePosition.y%=h*e.tileScaleOffset.y;var l=e.tilePosition.x/(n*e.tileScaleOffset.x),u=e.tilePosition.y/(h*e.tileScaleOffset.y),c=e.width/n/(e.tileScale.x*e.tileScaleOffset.x),d=e.height/h/(e.tileScale.y*e.tileScaleOffset.y);a.x0=0-l,a.y0=0-u,a.x1=1*c-l,a.y1=0-u,a.x2=1*c-l,a.y2=1*d-u,a.x3=0-l,a.y3=1*d-u;var f=e.tint,x=(f>>16)+(65280&f)+((255&f)<<16)+(255*e.worldAlpha<<24),p=this.positions,g=this.colors,v=e.width,T=e.height,m=e.anchor.x,E=e.anchor.y,_=v*(1-m),S=v*-m,y=T*(1-E),b=T*-E,A=this.currentBatchSize*this.vertexSize,R=t.baseTexture.resolution,M=e.worldTransform,C=M.a/R,L=M.b/R,B=M.c/R,P=M.d/R,w=M.tx,U=M.ty;p[A++]=C*S+B*b+w,p[A++]=P*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+w,p[A++]=P*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+w,p[A++]=P*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+w,p[A++]=P*y+L*S+U,p[A++]=a.x3,p[A++]=a.y3,g[A++]=x,p[A++]=o,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,v=this.currentBatchSize;g0&&(T=!1),(x||p)&&(this.renderBatch(c,l,u),u=g,l=0,c=o,x&&(d=a,this.renderSession.blendModeManager.setBlendMode(d)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},i.WebGLSpriteBatch.prototype.renderBatch=function(e,t,r){if(0!==t){var i=this.gl;if(e._dirty[i.id]){if(!this.renderSession.renderer.updateTexture(e))return}else i.bindTexture(i.TEXTURE_2D,e._glTextures[i.id]);i.drawElements(i.TRIANGLES,6*t,i.UNSIGNED_SHORT,6*r*2),this.renderSession.drawCount++}},i.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},i.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},i.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},i.WebGLFastSpriteBatch=function(e){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var t=4*this.size*this.vertSize,r=6*this.maxSize;this.vertices=new Float32Array(t),this.indices=new Uint16Array(r),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var i=0,s=0;i=this.size&&this.flush()}},i.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e=this.gl;if(this.currentBaseTexture._glTextures[e.id]){if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{var t=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);e.bufferSubData(e.ARRAY_BUFFER,0,t)}e.drawElements(e.TRIANGLES,6*this.currentBatchSize,e.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,e)}},i.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},i.WebGLFastSpriteBatch.prototype.start=function(){var e=this.gl;e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var t=this.renderSession.projection;e.uniform2f(this.shader.projectionVector,t.x,t.y),e.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var r=4*this.vertSize;e.vertexAttribPointer(this.shader.aVertexPosition,2,e.FLOAT,!1,r,0),e.vertexAttribPointer(this.shader.aPositionCoord,2,e.FLOAT,!1,r,8),e.vertexAttribPointer(this.shader.aScale,2,e.FLOAT,!1,r,16),e.vertexAttribPointer(this.shader.aRotation,1,e.FLOAT,!1,r,24),e.vertexAttribPointer(this.shader.aTextureCoord,2,e.FLOAT,!1,r,28),e.vertexAttribPointer(this.shader.colorAttribute,1,e.FLOAT,!1,r,36),e.vertexAttribPointer(this.shader.aTextureIndex,1,e.FLOAT,!1,r,40)},i.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},i.WebGLFilterManager.prototype.constructor=i.WebGLFilterManager,i.WebGLFilterManager.prototype.setContext=function(e){this.gl=e,this.texturePool=[],this.initShaderBuffers()},i.WebGLFilterManager.prototype.begin=function(e,t){this.renderSession=e,this.defaultShader=e.shaderManager.defaultShader;var r=this.renderSession.projection;this.width=2*r.x,this.height=2*-r.y,this.buffer=t},i.WebGLFilterManager.prototype.pushFilter=function(e){var t=this.gl,r=this.renderSession.projection,s=this.renderSession.offset;e._filterArea=e.target.filterArea||e.target.getBounds(),e._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new i.WebGLStencilManager,this.renderSession.stencilManager.setContext(t),t.disable(t.STENCIL_TEST),this.filterStack.push(e);var o=e.filterPasses[0];this.offsetX+=e._filterArea.x,this.offsetY+=e._filterArea.y;var a=this.texturePool.pop();a?a.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):a=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindTexture(t.TEXTURE_2D,a.texture);var n=e._filterArea,h=o.padding;n.x-=h,n.y-=h,n.width+=2*h,n.height+=2*h,n.x<0&&(n.x=0),n.width>this.width&&(n.width=this.width),n.y<0&&(n.y=0),n.height>this.height&&(n.height=this.height),t.bindFramebuffer(t.FRAMEBUFFER,a.frameBuffer),t.viewport(0,0,n.width*this.renderSession.resolution,n.height*this.renderSession.resolution),r.x=n.width/2,r.y=-n.height/2,s.x=-n.x,s.y=-n.y,t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e._glFilterTexture=a},i.WebGLFilterManager.prototype.popFilter=function(){var e=this.gl,t=this.filterStack.pop(),r=t._filterArea,s=t._glFilterTexture,o=this.renderSession.projection,a=this.renderSession.offset;if(t.filterPasses.length>1){e.viewport(0,0,r.width*this.renderSession.resolution,r.height*this.renderSession.resolution),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=r.height,this.vertexArray[2]=r.width,this.vertexArray[3]=r.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=r.width,this.vertexArray[7]=0,e.bufferSubData(e.ARRAY_BUFFER,0,this.vertexArray),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=r.width/this.width,this.uvArray[5]=r.height/this.height,this.uvArray[6]=r.width/this.width,this.uvArray[7]=r.height/this.height,e.bufferSubData(e.ARRAY_BUFFER,0,this.uvArray);var n=s,h=this.texturePool.pop();h||(h=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindFramebuffer(e.FRAMEBUFFER,h.frameBuffer),e.clear(e.COLOR_BUFFER_BIT),e.disable(e.BLEND);for(var l=0;l0?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.applyFilterPass(d,r,f,x),this.texturePool.push(s),t._glFilterTexture=null},i.WebGLFilterManager.prototype.applyFilterPass=function(e,t,r,s){var o=this.gl,a=e.shaders[o.id];a||((a=new i.PixiShader(o)).fragmentSrc=e.fragmentSrc,a.uniforms=e.uniforms,a.init(!0),e.shaders[o.id]=a),this.renderSession.shaderManager.setShader(a),o.uniform2f(a.projectionVector,r/2,-s/2),o.uniform2f(a.offsetVector,0,0),e.uniforms.dimensions&&(e.uniforms.dimensions.value[0]=this.width,e.uniforms.dimensions.value[1]=this.height,e.uniforms.dimensions.value[2]=this.vertexArray[0],e.uniforms.dimensions.value[3]=this.vertexArray[5]),a.syncUniforms(),o.bindBuffer(o.ARRAY_BUFFER,this.vertexBuffer),o.vertexAttribPointer(a.aVertexPosition,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.uvBuffer),o.vertexAttribPointer(a.aTextureCoord,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.colorBuffer),o.vertexAttribPointer(a.colorAttribute,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.indexBuffer),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0),this.renderSession.drawCount++},i.WebGLFilterManager.prototype.initShaderBuffers=function(){var e=this.gl;this.vertexBuffer=e.createBuffer(),this.uvBuffer=e.createBuffer(),this.colorBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertexArray,e.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvArray,e.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),e.bindBuffer(e.ARRAY_BUFFER,this.colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colorArray,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),e.STATIC_DRAW)},i.WebGLFilterManager.prototype.destroy=function(){var e=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var t=0;t=0;e--){var t=this._glTextures[e],r=i.glContexts[e];r&&t&&r.deleteTexture(t)}this._glTextures.length=0,this.dirty()},i.BaseTexture.fromCanvas=function(e,t,r){return 0===e.width&&(e.width=1),0===e.height&&(e.height=1),r=r||1,new i.BaseTexture(e,t,r)},i.TextureSilentFail=!1,i.Texture=function(e,t,r,s){this.noFrame=!1,t||(this.noFrame=!0,t=new i.Rectangle(0,0,1,1)),e instanceof i.Texture&&(e=e.baseTexture),this.baseTexture=e,this.frame=t,this.trim=s,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new i.Rectangle(0,0,1,1),this.rotated=!1,e.hasLoaded&&(this.noFrame&&(t=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(t))},i.Texture.prototype.constructor=i.Texture,i.Texture.prototype.onBaseTextureLoaded=function(){var e=this.baseTexture;this.noFrame&&(this.frame=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(this.frame)},i.Texture.prototype.destroy=function(e){e&&this.baseTexture.destroy(),this.valid=!1},i.Texture.prototype.setFrame=function(e){if(this.noFrame=!1,this.frame=e,this.width=e.width,this.height=e.height,this.crop.x=e.x,this.crop.y=e.y,this.crop.width=e.width,this.crop.height=e.height,this.trim||!(e.x+e.width>this.baseTexture.width||e.y+e.height>this.baseTexture.height))this.valid=e&&e.width&&e.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!i.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},i.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.width)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.width)/t,this._uvs.y2=(e.y+e.height)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.height)/r},i.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.height)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.height)/t,this._uvs.y2=(e.y+e.width)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.width)/r},i.Texture.fromCanvas=function(e,t){var r=i.BaseTexture.fromCanvas(e,t);return new i.Texture(r)},i.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.PIXI=i):"undefined"!=typeof define&&define.amd?define("PIXI",r.PIXI=i):r.PIXI=i,i}).call(this); //# sourceMappingURL=pixi.map \ No newline at end of file diff --git a/build/phaser.js b/build/phaser.js index 0802ab1c9..3bac171a7 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.9.4 "2017-12-20" - Built: Wed Dec 20 2017 12:51:13 +* v2.10.0 "2018-01-18" - Built: Thu Jan 18 2018 16:35:03 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -5576,16 +5576,6 @@ RevoluteConstraint.prototype.disableMotor = function(){ this.motorEnabled = false; }; -/** - * Check if the motor is enabled. - * @method motorIsEnabled - * @deprecated use property motorEnabled instead. - * @return {Boolean} - */ -RevoluteConstraint.prototype.motorIsEnabled = function(){ - return !!this.motorEnabled; -}; - /** * Set the speed of the rotational constraint motor * @method setMotorSpeed @@ -10939,13 +10929,6 @@ Shape.LINE = 16; */ Shape.BOX = 32; -Object.defineProperty(Shape, 'RECTANGLE', { - get: function() { - console.warn('Shape.RECTANGLE is deprecated, use Shape.BOX instead.'); - return Shape.BOX; - } -}); - /** * @static * @property {Number} CAPSULE @@ -13665,6 +13648,7 @@ World.prototype.raycast = function(result, ray){ },{"../../package.json":6,"../collision/AABB":7,"../collision/Broadphase":8,"../collision/Narrowphase":10,"../collision/Ray":11,"../collision/SAPBroadphase":13,"../constraints/Constraint":14,"../constraints/DistanceConstraint":15,"../constraints/GearConstraint":16,"../constraints/LockConstraint":17,"../constraints/PrismaticConstraint":18,"../constraints/RevoluteConstraint":19,"../events/EventEmitter":26,"../material/ContactMaterial":27,"../material/Material":28,"../math/vec2":30,"../objects/Body":31,"../objects/LinearSpring":32,"../objects/RotationalSpring":33,"../shapes/Capsule":38,"../shapes/Circle":39,"../shapes/Convex":40,"../shapes/Line":42,"../shapes/Particle":43,"../shapes/Plane":44,"../shapes/Shape":45,"../solver/GSSolver":46,"../solver/Solver":47,"../utils/OverlapKeeper":52,"../utils/Utils":57,"./IslandManager":59}]},{},[36]) (36) }); + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -15210,7 +15194,7 @@ PIXI.Sprite = function (texture) { this._height = 0; /** - * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect. + * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect. * * @property tint * @type Number @@ -16986,7 +16970,7 @@ PIXI._enableMultiTextureToggle = false; * @constructor * @param game {Phaser.Game} A reference to the Phaser Game instance */ -PIXI.WebGLRenderer = function(game) { +PIXI.WebGLRenderer = function(game, config) { /** * @property {Phaser.Game} game - A reference to the Phaser Game instance. @@ -17083,6 +17067,7 @@ PIXI.WebGLRenderer = function(game) { this._contextOptions = { alpha: this.transparent, antialias: game.antialias, + failIfMajorPerformanceCaveat: config.failIfMajorPerformanceCaveat, premultipliedAlpha: this.transparent && this.transparent !== 'notMultiplied', stencil: true, preserveDrawingBuffer: this.preserveDrawingBuffer @@ -17168,7 +17153,7 @@ PIXI.WebGLRenderer = function(game) { this.renderSession.stencilManager = this.stencilManager; this.renderSession.renderer = this; this.renderSession.resolution = this.resolution; - this.renderSession.roundPixels = false; + this.renderSession.roundPixels = config.roundPixels || false; this.renderSession.maxTextureAvailableSpace = null; // filled in setTexturePriority() // time init the context.. @@ -20324,7 +20309,7 @@ PIXI.CanvasTinter.tintWithPerPixel = function(texture, color, canvas) * @constructor * @param game {Phaser.Game} A reference to the Phaser Game instance */ -PIXI.CanvasRenderer = function (game) { +PIXI.CanvasRenderer = function (game, config) { /** * @property {Phaser.Game} game - A reference to the Phaser Game instance. @@ -20451,7 +20436,7 @@ PIXI.CanvasRenderer = function (game) { * If true Pixi will Math.floor() x/y values when rendering, stopping pixel interpolation. * Handy for crisp pixel art and speed on legacy devices. */ - roundPixels: false + roundPixels: config.roundPixels || false }; this.mapBlendModes(); @@ -20793,18 +20778,6 @@ PIXI.BaseTexture.prototype.destroy = function() this.unloadFromGPU(); }; -/** - * Changes the source image of the texture - * - * @method PIXI.BaseTexture#updateSourceImage - * @param newSrc {String} the path of the image - * @deprecated This method is deprecated. Please use Phaser.Sprite.loadTexture instead. - */ -PIXI.BaseTexture.prototype.updateSourceImage = function(newSrc) -{ - console.warn("PIXI.BaseTexture.updateSourceImage is deprecated. Use Phaser.Sprite.loadTexture instead."); -}; - /** * Sets all glTextures to be dirty. * @@ -21232,7 +21205,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.9.4', + VERSION: '2.10.0', /** * An array of Phaser game instances. @@ -25351,6 +25324,18 @@ Phaser.Point.prototype = { }, + /** + * Math.round() both the x and y properties of this Point. + * + * @method Phaser.Point#round + * @return {Phaser.Point} This Point object. + */ + round: function () { + + return this.setTo(Math.round(this.x), Math.round(this.y)); + + }, + /** * Returns a string representation of this object. * @@ -25917,7 +25902,7 @@ PIXI.Point = Phaser.Point; /** * Creates a new Polygon. -* +* * The points can be set from a variety of formats: * * - An array of Point objects: `[new Phaser.Point(x1, y1), ...]` @@ -26202,32 +26187,18 @@ Phaser.Polygon.prototype = { Phaser.Polygon.prototype.constructor = Phaser.Polygon; /** -* Sets and modifies the points of this polygon. +* The points of this polygon. * -* See {@link Phaser.Polygon#setTo setTo} for the different kinds of arrays formats that can be assigned. +* You can modify these with {@link Phaser.Polygon#setTo setTo}. * * @name Phaser.Polygon#points * @property {Phaser.Point[]} points - The array of vertex points. -* @deprecated Use `setTo`. +* @readonly */ Object.defineProperty(Phaser.Polygon.prototype, 'points', { get: function() { return this._points; - }, - - set: function(points) { - - if (points != null) - { - this.setTo(points); - } - else - { - // Clear the points - this.setTo(); - } - } }); @@ -28787,14 +28758,14 @@ Phaser.StateManager = function (game, pendingState) { /** * onStateChange is a Phaser.Signal that is dispatched whenever the game changes state. - * + * * It is dispatched only when the new state is started, which isn't usually at the same time as StateManager.start * is called because state swapping is done in sync with the game loop. It is dispatched *before* any of the new states * methods (such as preload and create) are called, and *after* the previous states shutdown method has been run. * - * The callback you specify is sent two parameters: the string based key of the new state, + * The callback you specify is sent two parameters: the string based key of the new state, * and the second parameter is the string based key of the old / previous state. - * + * * @property {Phaser.Signal} onStateChange */ this.onStateChange = new Phaser.Signal(); @@ -29185,25 +29156,27 @@ Phaser.StateManager.prototype = { */ link: function (key) { - this.states[key].game = this.game; - this.states[key].add = this.game.add; - this.states[key].make = this.game.make; - this.states[key].camera = this.game.camera; - this.states[key].cache = this.game.cache; - this.states[key].input = this.game.input; - this.states[key].load = this.game.load; - this.states[key].math = this.game.math; - this.states[key].sound = this.game.sound; - this.states[key].scale = this.game.scale; - this.states[key].state = this; - this.states[key].stage = this.game.stage; - this.states[key].time = this.game.time; - this.states[key].tweens = this.game.tweens; - this.states[key].world = this.game.world; - this.states[key].particles = this.game.particles; - this.states[key].rnd = this.game.rnd; - this.states[key].physics = this.game.physics; - this.states[key].key = key; + var state = this.states[key]; + + state.game = this.game; + state.add = this.game.add; + state.make = this.game.make; + state.camera = this.game.camera; + state.cache = this.game.cache; + state.input = this.game.input; + state.load = this.game.load; + state.math = this.game.math; + state.sound = this.game.sound; + state.scale = this.game.scale; + state.state = this; + state.stage = this.game.stage; + state.time = this.game.time; + state.tweens = this.game.tweens; + state.world = this.game.world; + state.particles = this.game.particles; + state.rnd = this.game.rnd; + state.physics = this.game.physics; + state.key = key; }, @@ -29216,26 +29189,28 @@ Phaser.StateManager.prototype = { */ unlink: function (key) { - if (this.states[key]) + var state = this.states[key]; + + if (state) { - this.states[key].game = null; - this.states[key].add = null; - this.states[key].make = null; - this.states[key].camera = null; - this.states[key].cache = null; - this.states[key].input = null; - this.states[key].load = null; - this.states[key].math = null; - this.states[key].sound = null; - this.states[key].scale = null; - this.states[key].state = null; - this.states[key].stage = null; - this.states[key].time = null; - this.states[key].tweens = null; - this.states[key].world = null; - this.states[key].particles = null; - this.states[key].rnd = null; - this.states[key].physics = null; + state.game = null; + state.add = null; + state.make = null; + state.camera = null; + state.cache = null; + state.input = null; + state.load = null; + state.math = null; + state.sound = null; + state.scale = null; + state.state = null; + state.stage = null; + state.time = null; + state.tweens = null; + state.world = null; + state.particles = null; + state.rnd = null; + state.physics = null; } }, @@ -29249,27 +29224,29 @@ Phaser.StateManager.prototype = { */ setCurrentState: function (key) { - this.callbackContext = this.states[key]; + var state = this.states[key]; + + this.callbackContext = state; this.link(key); // Used when the state is set as being the current active state - this.onInitCallback = this.states[key]['init'] || this.dummy; - - this.onPreloadCallback = this.states[key]['preload'] || null; - this.onLoadRenderCallback = this.states[key]['loadRender'] || null; - this.onLoadUpdateCallback = this.states[key]['loadUpdate'] || null; - this.onCreateCallback = this.states[key]['create'] || null; - this.onUpdateCallback = this.states[key]['update'] || null; - this.onPreRenderCallback = this.states[key]['preRender'] || null; - this.onRenderCallback = this.states[key]['render'] || null; - this.onResizeCallback = this.states[key]['resize'] || null; - this.onPausedCallback = this.states[key]['paused'] || null; - this.onResumedCallback = this.states[key]['resumed'] || null; - this.onPauseUpdateCallback = this.states[key]['pauseUpdate'] || null; + this.onInitCallback = state['init'] || this.dummy; + + this.onPreloadCallback = state['preload'] || null; + this.onLoadRenderCallback = state['loadRender'] || null; + this.onLoadUpdateCallback = state['loadUpdate'] || null; + this.onCreateCallback = state['create'] || null; + this.onUpdateCallback = state['update'] || null; + this.onPreRenderCallback = state['preRender'] || null; + this.onRenderCallback = state['render'] || null; + this.onResizeCallback = state['resize'] || null; + this.onPausedCallback = state['paused'] || null; + this.onResumedCallback = state['resumed'] || null; + this.onPauseUpdateCallback = state['pauseUpdate'] || null; // Used when the state is no longer the current active state - this.onShutDownCallback = this.states[key]['shutdown'] || this.dummy; + this.onShutDownCallback = state['shutdown'] || this.dummy; // Reset the physics system, but not on the first state start if (this.current !== '') @@ -35398,6 +35375,12 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.lockRender = false; + /** + * @property {boolean} pendingDestroy - Destroy the game at the next update. + * @default + */ + this.pendingDestroy = false; + /** * @property {boolean} stepping - Enable core loop stepping with Game.enableStep(). * @default @@ -35452,7 +35435,7 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this._codePaused = false; /** - * The ID of the current/last logic update applied this render frame, starting from 0. + * The ID of the current/last logic update applied this animation frame, starting from 0. * The first update is `currentUpdateID === 0` and the last update is `currentUpdateID === updatesThisFrame.` * @property {integer} currentUpdateID * @protected @@ -35460,12 +35443,19 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant this.currentUpdateID = 0; /** - * Number of logic updates expected to occur this render frame; will be 1 unless there are catch-ups required (and allowed). + * Number of logic updates expected to occur this animation frame; will be 1 unless there are catch-ups required (and allowed). * @property {integer} updatesThisFrame * @protected */ this.updatesThisFrame = 1; + /** + * Number of renders expected to occur this animation frame. May be 0 if {@link #dropFrames is on} or {@link #forceSingleRender} is off; otherwise it will be 1. + * @property {integer} updatesThisFrame + * @protected + */ + this.rendersThisFrame = 1; + /** * @property {number} _deltaTime - Accumulate elapsed time until a logic update is due. * @private @@ -35503,6 +35493,16 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant */ this.forceSingleUpdate = true; + /** + * @property {boolean} forceSingleRender - Should the game loop make one render per animation frame, even without a preceding logic update? (During spiraling conditions, {@link #dropFrames} is used instead.) + */ + this.forceSingleRender = true; + + /** + * @property {boolean} dropFrames - When {@link #forceSingleUpdate} is off, skip {@link #updateRender rendering} if logic updates are spiraling upwards. + */ + this.dropFrames = false; + /** * @property {number} _nextNotification - The soonest game.time.time value that the next fpsProblemNotifier can be dispatched. * @private @@ -35563,27 +35563,37 @@ Phaser.Game = function (width, height, renderer, parent, state, transparent, ant * A configuration object for {@link Phaser.Game}. * * @typedef {object} GameConfig +* @property {boolean} [GameConfig.alignH=false] - Sets {@link Phaser.ScaleManager#pageAlignHorizontally}. +* @property {boolean} [GameConfig.alignV=false] - Sets {@link Phaser.ScaleManager#pageAlignVertically}. * @property {number|string} [GameConfig.antialias=true] -* @property {string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. +* @property {number|string} [GameConfig.backgroundColor=0] - Sets {@link Phaser.Stage#backgroundColor}. * @property {HTMLCanvasElement} [GameConfig.canvas] - An existing canvas to display the game in. * @property {string} [GameConfig.canvasId] - `id` attribute value to assign to the game canvas. * @property {string} [GameConfig.canvasStyle] - `style` attribute value to assign to the game canvas. +* @property {boolean} [GameConfig.crisp=false] - Sets the canvas's `image-rendering` property to `pixelated` or `crisp-edges`. See {@link Phaser.Canvas.setImageRenderingCrisp}. * @property {boolean} [GameConfig.disableVisibilityChange=false] - Sets {@link Phaser.Stage#disableVisibilityChange} +* @property {boolean} [GameConfig.disableStart=false] - Prevents the game loop from starting, allowing you to call updates manually. Helpful for automated testing. * @property {boolean} [GameConfig.enableDebug=true] - Enable {@link Phaser.Utils.Debug}. You can gain a little performance by disabling this in production. +* @property {boolean} [GameConfig.failIfMajorPerformanceCaveat] - Abort WebGL context creation if performance would be poor. You can use this with renderer AUTO. * @property {boolean} [GameConfig.forceSetTimeout] - Use {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout setTimeOut} for the game loop even if {@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame requestAnimationFrame} is available. * @property {number} [GameConfig.fullScreenScaleMode] - The scaling method used by the ScaleManager when in fullscreen. * @property {HTMLElement} [GameConfig.fullScreenTarget] - The DOM element on which the Fullscreen API enter request will be invoked. * @property {number|string} [GameConfig.height=600] * @property {boolean} [GameConfig.multiTexture=false] - Enable support for multiple bound Textures in WebGL. Same as `{renderer: Phaser.WEBGL_MULTI}`. * @property {string|HTMLElement} [GameConfig.parent=''] - The DOM element into which this games canvas will be injected. -* @property {object} [GameConfig.physicsConfig=null] +* @property {object} [GameConfig.physicsConfig] * @property {boolean} [GameConfig.preserveDrawingBuffer=false] - Whether or not the contents of the stencil buffer is retained after rendering. * @property {number} [GameConfig.renderer=Phaser.AUTO] * @property {number} [GameConfig.resolution=1] - The resolution of your game, as a ratio of canvas pixels to game pixels. +* @property {boolean} [GameConfig.roundPixels=false] - Round pixel coordinates for rendering (rather than interpolating). Handy for crisp pixel art and speed on legacy devices. +* @property {number} [GameConfig.scaleH=1] - Horizontal scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.scaleMode] - The scaling method used by the ScaleManager when not in fullscreen. +* @property {number} [GameConfig.scaleV=1] - Vertical scaling factor for USER_SCALE scale mode. * @property {number} [GameConfig.seed] - Seed for {@link Phaser.RandomDataGenerator}. -* @property {object} [GameConfig.state=null] +* @property {object} [GameConfig.state] * @property {boolean} [GameConfig.transparent=false] +* @property {number} [GameConfig.trimH=0] - Horizontal trim for USER_SCALE scale mode. +* @property {number} [GameConfig.trimV=0] - Vertical trim for USER_SCALE scale mode. * @property {number|string} [GameConfig.width=800] */ // Documentation stub for linking. @@ -35760,6 +35770,11 @@ Phaser.Game.prototype = { } } + if (this.config['disableStart']) + { + return; + } + if (this.cache.isReady) { this.raf.start(); @@ -35848,6 +35863,12 @@ Phaser.Game.prototype = { */ setUpRenderer: function () { + if (!this.device.canvas) + { + // Nothing else to do + throw new Error('Phaser.Game - Cannot create Canvas 2d context, aborting.'); + } + if (this.config['canvas']) { this.canvas = this.config['canvas']; @@ -35866,42 +35887,52 @@ Phaser.Game.prototype = { this.canvas.style['-webkit-full-screen'] = 'width: 100%; height: 100%'; } - if (this.renderType === Phaser.HEADLESS || this.renderType === Phaser.CANVAS || (this.renderType === Phaser.AUTO && !this.device.webGL)) + if (this.config['crisp']) { - if (this.device.canvas) - { - this.renderer = new PIXI.CanvasRenderer(this); - - this.context = this.renderer.context; - - if (this.renderType === Phaser.AUTO) { - this.renderType = Phaser.CANVAS; - } - } - else - { - throw new Error('Phaser.Game - Cannot create Canvas or WebGL context, aborting.'); - } + Phaser.Canvas.setImageRenderingCrisp(this.canvas); } - else - { - // They requested WebGL and their browser supports it + if ((this.renderType === Phaser.WEBGL) || + (this.renderType === Phaser.WEBGL_MULTI) || + (this.renderType === Phaser.AUTO && this.device.webGL)) + { if (this.multiTexture || this.renderType === Phaser.WEBGL_MULTI) { PIXI.enableMultiTexture(); - this.multiTexture = true; } - this.renderType = Phaser.WEBGL; + try + { + this.renderer = new PIXI.WebGLRenderer(this, this.config); + this.renderType = Phaser.WEBGL; + this.context = null; + this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); + this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + } + catch (webGLRendererError) + { + this.renderer = null; + this.multiTexture = false; + PIXI._enableMultiTextureToggle = false; - this.renderer = new PIXI.WebGLRenderer(this); + if (this.renderType === Phaser.WEBGL) + { + // No fallback + throw webGLRendererError; + } + } + } - this.context = null; + if (!this.renderer) + { + this.renderer = new PIXI.CanvasRenderer(this, this.config); + this.context = this.renderer.context; - this.canvas.addEventListener('webglcontextlost', this.contextLost.bind(this), false); - this.canvas.addEventListener('webglcontextrestored', this.contextRestored.bind(this), false); + if (this.renderType === Phaser.AUTO) + { + this.renderType = Phaser.CANVAS; + } } if (this.device.cocoonJS) @@ -35959,6 +35990,12 @@ Phaser.Game.prototype = { */ update: function (time) { + if (this.pendingDestroy) + { + this.destroy(); + return; + } + this.time.update(time); if (this._kickstart) @@ -35986,12 +36023,19 @@ Phaser.Game.prototype = { this.fpsProblemNotifier.dispatch(); } - // reset the _deltaTime accumulator which will cause all pending dropped frames to be permanently skipped + // reset the _deltaTime accumulator which will cause all pending late updates to be permanently skipped this._deltaTime = 0; this._spiraling = 0; - // call the game render update exactly once every frame - this.updateRender(this.time.slowMotion * this.time.desiredFps); + if (this.dropFrames) + { + this.rendersThisFrame = 0; + } + else + { + this.updateRender(this.time.slowMotion * this.time.desiredFps); + this.rendersThisFrame = 1; + } } else { @@ -36012,6 +36056,15 @@ Phaser.Game.prototype = { this.updatesThisFrame = Math.min(1, this.updatesThisFrame); } + if (this.forceSingleRender) + { + this.rendersThisFrame = 1; + } + else + { + this.rendersThisFrame = Math.min(1, this.updatesThisFrame); + } + while (this._deltaTime >= slowStep) { this._deltaTime -= slowStep; @@ -36044,8 +36097,10 @@ Phaser.Game.prototype = { this._lastCount = count; - // call the game render update exactly once every frame unless we're playing catch-up from a spiral condition - this.updateRender(this._deltaTime / slowStep); + if (this.rendersThisFrame > 0) + { + this.updateRender(this._deltaTime / slowStep); + } } }, @@ -36066,6 +36121,8 @@ Phaser.Game.prototype = { this.pendingStep = true; } + this.time.countUpdate(); + this.scale.preUpdate(); this.debug.preUpdate(); this.camera.preUpdate(); @@ -36091,6 +36148,7 @@ Phaser.Game.prototype = { this.scale.pauseUpdate(); this.state.pauseUpdate(timeStep); this.debug.preUpdate(); + this.input.pauseUpdate(); } this.stage.updateTransform(); @@ -36119,6 +36177,8 @@ Phaser.Game.prototype = { return; } + this.time.countRender(); + this.state.preRender(elapsedTime); if (this.renderType !== Phaser.HEADLESS) @@ -36181,6 +36241,8 @@ Phaser.Game.prototype = { * Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM * and resets the PIXI default renderer. * + * To destroy the game during an update callback, set {@link #pendingDestroy} instead. + * * @method Phaser.Game#destroy */ destroy: function () { @@ -37098,6 +37160,21 @@ Phaser.Input.prototype = { }, + /** + * Update method while paused. + * + * @method Phaser.Input#pauseUpdate + * @private + */ + pauseUpdate: function () { + + if (this.gamepad && this.gamepad.active) + { + this.gamepad.update(); + } + + }, + /** * Reset all of the Pointers and Input states. * @@ -37125,11 +37202,6 @@ Phaser.Input.prototype = { this.keyboard.reset(hard); } - if (this.gamepad) - { - this.gamepad.reset(); - } - for (var i = 0; i < this.pointers.length; i++) { this.pointers[i].reset(); @@ -38112,6 +38184,8 @@ Phaser.Mouse.prototype = { this.input.mousePointer.stop(event); } + this.input.interactiveItems.callAll('_pointerOutHandler', this.input.mousePointer); + }, /** @@ -40645,22 +40719,6 @@ Phaser.Touch.prototype = { } } - /** - * Adds a callback that is fired when a browser touchstart or touchend event is received. - * - * @method Phaser.Touch#addTouchLockCallback - * @deprecated Use {@link Phaser.Input#addTouchLockCallback} instead. - */ - this.addTouchLockCallback = this.game.input.addTouchLockCallback.bind(this.game.input); - - /** - * Removes the callback at the defined index from the touchLockCallbacks array. - * - * @method Phaser.Touch#removeTouchLockCallback - * @deprecated Use {@link Phaser.Input#removeTouchLockCallback} instead. - */ - this.removeTouchLockCallback = this.game.input.removeTouchLockCallback.bind(this.game.input); - }, /** @@ -48260,6 +48318,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 0; + this.texture.baseTexture.dirty(); } } else @@ -48267,6 +48326,7 @@ Phaser.Component.Smoothed.prototype = { if (this.texture) { this.texture.baseTexture.scaleMode = 1; + this.texture.baseTexture.dirty(); } } } @@ -54917,7 +54977,7 @@ Phaser.Graphics = function (game, x, y) { this.graphicsData = []; /** - * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF to reset the tint. + * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF (Phaser.Color.WHITE) to reset the tint. * * @property tint * @type Number @@ -59859,6 +59919,7 @@ Object.defineProperty(Phaser.BitmapText.prototype, 'smoothed', { { this._data.base.scaleMode = 1; } + this._data.base.dirty(); } @@ -62452,17 +62513,11 @@ Phaser.Device = function () { this.canUseMultiply = false; /** - * @property {boolean} webGL - Is webGL (and stencil support) available? + * @property {boolean} webGL - Is webGL available? * @default */ this.webGL = false; - /** - * @property {?Error} webGLError - Any error raised while creating a test {@link #webGL} context. - * @default - */ - this.webGLError = null; - /** * @property {boolean} file - Is file available? * @default @@ -63079,30 +63134,7 @@ Phaser.Device._initialize = function () { device.file = !!window['File'] && !!window['FileReader'] && !!window['FileList'] && !!window['Blob']; device.fileSystem = !!window['requestFileSystem']; - device.webGL = !!(function () { - if (!window.WebGLRenderingContext) - { - return false; - } - - try { - var canvas = document.createElement('canvas'); - - // Force screencanvas to false - canvas.screencanvas = false; - - // See PIXI.WebGLRenderer#_contextOptions - var contextOptions = { stencil: true }; - - return canvas.getContext('webgl' , contextOptions) || - canvas.getContext('experimental-webgl', contextOptions); - - } catch (error) { - device.webGLError = error; - - return false; - } - })(); + device.webGL = !!window.WebGLRenderingContext; device.worker = !!window['Worker']; @@ -63696,22 +63728,6 @@ Phaser.Device.needsTouchUnlock = function () { return !!(!this.cocoonJS && (this.iOS || this.android) || (window.PhaserGlobal && window.PhaserGlobal.fakeiOSTouchLock)); }; -/** -* Returns false. -* -* @deprecated -* @method isConsoleOpen -* @memberof Phaser.Device.prototype -* @return false -*/ -Phaser.Device.isConsoleOpen = function () { - - console.warn('Phaser.Device.isConsoleOpen is deprecated and will be removed.'); - - return false; - -}; - /** * Detect if the host is a an Android Stock browser. * This is available before the device "ready" event. @@ -63738,7 +63754,7 @@ Phaser.Device.isAndroidStockBrowser = function () { */ /** -* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, +* The Canvas class handles everything related to creating the `canvas` DOM tag that Phaser will use, * including styles, offset and aspect ratio. * * @class Phaser.Canvas @@ -63991,16 +64007,20 @@ Phaser.Canvas = { }, /** - * Sets the CSS image-rendering property on the given canvas to be 'crisp' (aka 'optimize contrast' on webkit). + * Sets the CSS image-rendering property to `pixelated` or `crisp-edges`. + * This can remove blurring when the game canvas is scaled up. + * In some browsers this has no visible effect in WEBGL mode. * Note that if this doesn't given the desired result then see the setSmoothingEnabled. * * @method Phaser.Canvas.setImageRenderingCrisp * @param {HTMLCanvasElement} canvas - The canvas to set image-rendering crisp on. * @return {HTMLCanvasElement} Returns the source canvas. + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering + * @see https://caniuse.com/#feat=css-crisp-edges */ setImageRenderingCrisp: function (canvas) { - var types = [ 'optimizeSpeed', 'crisp-edges', '-moz-crisp-edges', '-webkit-optimize-contrast', 'optimize-contrast', 'pixelated' ]; + var types = [ '-webkit-optimize-contrast', '-moz-crisp-edges', 'crisp-edges', 'pixelated' ]; for (var i = 0; i < types.length; i++) { @@ -66708,7 +66728,7 @@ Phaser.TweenManager.prototype = { * * @method Phaser.TweenManager#isTweening * @param {object} object - The object to check for tweens against. - * @param {boolean} [checkIsRunning] - Also check that the tween is running and is not marked for deletion. + * @param {boolean} [checkIsRunning=false] - Also check that the tween is running and is not marked for deletion. * @returns {boolean} Returns true if the object is currently being tweened, false if not. */ isTweening: function(object, checkIsRunning) { @@ -66716,7 +66736,7 @@ Phaser.TweenManager.prototype = { if (!checkIsRunning) { checkIsRunning = false; } return this._tweens.some(function(tween) { - return (tween.target === object) && !checkIsRunning || (tween.isRunning && !tween.pendingDelete); + return (tween.target === object) && (!checkIsRunning || (tween.isRunning && !tween.pendingDelete)); }); }, @@ -68977,6 +68997,8 @@ Phaser.Time = function (game) { * * This value _may_ include time that the game is paused/inactive. * + * While the game is active, this will be similar to (1000 / {@link #fps}). + * * _Note:_ This is updated only once per game loop - even if multiple logic update steps are done. * Use {@link Phaser.Timer#physicsTime physicsTime} as a basis of game/logic calculations instead. * @@ -69071,7 +69093,7 @@ Phaser.Time = function (game) { this.advancedTiming = false; /** - * Advanced timing result: The number of render frames record in the last second. + * Advanced timing result: The number of animation frames received from the browser in the last second. * * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. * @property {integer} frames @@ -69079,6 +69101,24 @@ Phaser.Time = function (game) { */ this.frames = 0; + /** + * Advanced timing result: The number of {@link Phaser.Game#updateLogic logic updates} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} updates + * @readonly + */ + this.updates = 0; + + /** + * Advanced timing result: The number of {@link Phaser.Game#updateRender renders} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {integer} renders + * @readonly + */ + this.renders = 0; + /** * Advanced timing result: Frames per second. * @@ -69088,6 +69128,24 @@ Phaser.Time = function (game) { */ this.fps = 0; + /** + * Advanced timing result: Logic updates per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} ups + * @readonly + */ + this.ups = 0; + + /** + * Advanced timing result: Renders per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + * @property {number} rps + * @readonly + */ + this.rps = 0; + /** * Advanced timing result: The lowest rate the fps has dropped to. * @@ -69399,11 +69457,46 @@ Phaser.Time.prototype = { if (this.now > this._timeLastSecond + 1000) { - this.fps = Math.round((this.frames * 1000) / (this.now - this._timeLastSecond)); + var interval = this.now - this._timeLastSecond; + this.fps = Math.round((this.frames * 1000) / interval); + this.ups = Math.round((this.updates * 1000) / interval); + this.rps = Math.round((this.renders * 1000) / interval); this.fpsMin = Math.min(this.fpsMin, this.fps); this.fpsMax = Math.max(this.fpsMax, this.fps); this._timeLastSecond = this.now; this.frames = 0; + this.updates = 0; + this.renders = 0; + } + + }, + + /** + * Counts one logic update (if advanced timing is enabled). + * + * @method Phaser.Time#countUpdate + * @private + */ + countUpdate: function () { + + if (this.advancedTiming) + { + this.updates++; + } + + }, + + /** + * Counts one render (if advanced timing is enabled). + * + * @method Phaser.Time#countRender + * @private + */ + countRender: function () { + + if (this.advancedTiming) + { + this.renders++; } }, @@ -69500,12 +69593,15 @@ Phaser.Time.prototype = { }; /** -* The desired frame rate of the game. +* The number of logic updates per second. * * This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. * +* The render rate is unaffected unless you also turn off {@link Phaser.Game#forceSingleRender}. +* * @name Phaser.Time#desiredFps -* @property {integer} desiredFps - The desired frame rate of the game. Defaults to 60. +* @type {integer} +* @default 60 */ Object.defineProperty(Phaser.Time.prototype, "desiredFps", { @@ -75118,7 +75214,7 @@ Phaser.Loader = function (game) { }; /** - * This event is dispatched when the loading process starts: before the first file has been requested, + * This event is dispatched when the loading process starts: before the first file has been requested, * but after all the initial packs have been loaded. * * @property {Phaser.Signal} onLoadStart @@ -75177,22 +75273,6 @@ Phaser.Loader = function (game) { */ this.onFileError = new Phaser.Signal(); - /** - * If true and if the browser supports XDomainRequest, it will be used in preference for XHR. - * - * This is only relevant for IE 9 and should _only_ be enabled for IE 9 clients when required by the server/CDN. - * - * @property {boolean} useXDomainRequest - * @deprecated This is only relevant for IE 9. - */ - this.useXDomainRequest = false; - - /** - * @private - * @property {boolean} _warnedAboutXDomainRequest - Control number of warnings for using XDR outside of IE 9. - */ - this._warnedAboutXDomainRequest = false; - /** * If true (the default) then parallel downloading will be enabled. * @@ -77490,12 +77570,6 @@ Phaser.Loader.prototype = { */ xhrLoad: function (file, url, type, onload, onerror) { - if (this.useXDomainRequest && window.XDomainRequest) - { - this.xhrLoadWithXDR(file, url, type, onload, onerror); - return; - } - var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = type; @@ -77572,88 +77646,6 @@ Phaser.Loader.prototype = { }, - /** - * Starts the xhr loader - using XDomainRequest. - * This should _only_ be used with IE 9. Phaser does not support IE 8 and XDR is deprecated in IE 10. - * - * This is designed specifically to use with asset file processing. - * - * @method Phaser.Loader#xhrLoadWithXDR - * @private - * @param {object} file - The file/pack to load. - * @param {string} url - The URL of the file. - * @param {string} type - The xhr responseType. - * @param {function} onload - The function to call on success. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @param {function} [onerror=fileError] The function to call on error. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @deprecated This is only relevant for IE 9. - */ - xhrLoadWithXDR: function (file, url, type, onload, onerror) { - - // Special IE9 magic .. only - if (!this._warnedAboutXDomainRequest && - (!this.game.device.ie || this.game.device.ieVersion >= 10)) - { - this._warnedAboutXDomainRequest = true; - console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"); - } - - // Ref: http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx - var xhr = new window.XDomainRequest(); - xhr.open('GET', url, true); - xhr.responseType = type; - - // XDomainRequest has a few quirks. Occasionally it will abort requests - // A way to avoid this is to make sure ALL callbacks are set even if not used - // More info here: http://stackoverflow.com/questions/15786966/xdomainrequest-aborts-post-on-ie-9 - xhr.timeout = 3000; - - onerror = onerror || this.fileError; - - var _this = this; - - xhr.onerror = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.ontimeout = function () { - try { - return onerror.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - xhr.onprogress = function() {}; - - xhr.onload = function () { - try { - if (xhr.readyState === 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. - return onerror.call(_this, file, xhr); - } - else { - return onload.call(_this, file, xhr); - } - return onload.call(_this, file, xhr); - } catch (e) { - _this.asyncComplete(file, e.message || 'Exception'); - } - }; - - file.requestObject = xhr; - file.requestUrl = url; - - // Note: The xdr.send() call is wrapped in a timeout to prevent an issue with the interface where some requests are lost - // if multiple XDomainRequests are being sent at the same time. - setTimeout(function () { - xhr.send(); - }, 0); - - }, - /** * Give a bunch of URLs, return the first URL that has an extension this device thinks it can play. * @@ -78122,10 +78114,8 @@ Phaser.Loader.prototype = { /** * Update the loading sprite progress. * - * @method Phaser.Loader#nextFile + * @method Phaser.Loader#updateProgress * @private - * @param {object} previousFile - * @param {boolean} success - Whether the previous asset loaded successfully or not. */ updateProgress: function () { @@ -79113,7 +79103,7 @@ Phaser.Sound = function (game, key, volume, loop, connect) { this.gainNode = this.context.createGain(); } - this.gainNode.gain.value = volume * this.game.sound.volume; + this.gainNode.gain.value = volume; if (connect) { @@ -79139,47 +79129,47 @@ Phaser.Sound = function (game, key, volume, loop, connect) { } /** - * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files) + * @property {Phaser.Signal} onDecoded - The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files). It passes one argument, this sound. */ this.onDecoded = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played. + * @property {Phaser.Signal} onPlay - The onPlay event is dispatched each time this sound is played or a looping marker is restarted. It passes one argument, this sound. */ this.onPlay = new Phaser.Signal(); /** - * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. + * @property {Phaser.Signal} onPause - The onPause event is dispatched when this sound is paused. It passes one argument, this sound. */ this.onPause = new Phaser.Signal(); /** - * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. + * @property {Phaser.Signal} onResume - The onResume event is dispatched when this sound is resumed from a paused state. It passes one argument, this sound. */ this.onResume = new Phaser.Signal(); /** - * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. + * @property {Phaser.Signal} onLoop - The onLoop event is dispatched when this sound loops during playback. It passes one argument, this sound. */ this.onLoop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback. + * @property {Phaser.Signal} onStop - The onStop event is dispatched when this sound stops playback or when a non-looping marker completes. It passes two arguments: this sound and any {@link #currentMarker marker} that was playing. */ this.onStop = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. + * @property {Phaser.Signal} onMute - The onMute event is dispatched when this sound is muted. It passes one argument, this sound. */ this.onMute = new Phaser.Signal(); /** - * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. + * @property {Phaser.Signal} onMarkerComplete - The onMarkerComplete event is dispatched when a marker within this sound completes playback. It passes two arguments: the {@link #currentMarker} and this sound. */ this.onMarkerComplete = new Phaser.Signal(); /** - * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. + * @property {Phaser.Signal} onFadeComplete - The onFadeComplete event is dispatched when this sound finishes fading either in or out. It passes two arguments: this sound and its current {@link #volume}. */ this.onFadeComplete = new Phaser.Signal(); @@ -80205,6 +80195,13 @@ Phaser.SoundManager = function (game) { */ this.onUnMute = new Phaser.Signal(); + /** + * This signal is dispatched when the SoundManager is touch-unlocked. + * If the device doesn't {@link Phaser.Device.needsTouchUnlock need touch-unlocking}, the signal won't be dispatched. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + /** * @property {AudioContext} context - The AudioContext being used for playback. * @default @@ -80326,16 +80323,19 @@ Phaser.SoundManager.prototype = { */ boot: function () { - if (this.game.device.iOS && this.game.device.webAudio === false) + var device = this.game.device; + var PhaserGlobal = window.PhaserGlobal; + + if (device.iOS && device.webAudio === false) { this.channels = 1; } // PhaserGlobal overrides - if (window['PhaserGlobal']) + if (PhaserGlobal) { // Check to see if all audio playback is disabled (i.e. handled by a 3rd party class) - if (window['PhaserGlobal'].disableAudio === true) + if (PhaserGlobal.disableAudio === true) { this.noAudio = true; this.touchLocked = false; @@ -80343,7 +80343,7 @@ Phaser.SoundManager.prototype = { } // Check if the Web Audio API is disabled (for testing Audio Tag playback during development) - if (window['PhaserGlobal'].disableWebAudio === true) + if (PhaserGlobal.disableWebAudio === true) { this.usingAudioTag = true; this.touchLocked = false; @@ -80351,9 +80351,9 @@ Phaser.SoundManager.prototype = { } } - if (window['PhaserGlobal'] && window['PhaserGlobal'].audioContext) + if (PhaserGlobal && PhaserGlobal.audioContext) { - this.context = window['PhaserGlobal'].audioContext; + this.context = PhaserGlobal.audioContext; } else { @@ -80405,19 +80405,24 @@ Phaser.SoundManager.prototype = { this.masterGain = this.context.createGain(); } - this._setGain(1); + this.masterGain.gain.value = 1; this.masterGain.connect(this.context.destination); } if (!this.noAudio) { // On mobile we need a native touch event before we can play anything, so capture it here - if (this.game.device.needsTouchUnlock()) + if (device.needsTouchUnlock()) { this.setTouchLock(); } } + if (this.usingWebAudio && device.chrome && device.chromeVersion <= 65) + { + console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. '); + } + }, /** @@ -80428,7 +80433,7 @@ Phaser.SoundManager.prototype = { */ setTouchLock: function () { - if (this.noAudio || (window['PhaserGlobal'] && window['PhaserGlobal'].disableAudio === true)) + if (this.noAudio || (window.PhaserGlobal && window.PhaserGlobal.disableAudio === true)) { return; } @@ -80439,6 +80444,20 @@ Phaser.SoundManager.prototype = { }, + /** + * Turns off {@link #touchLocked} and dispatches {@link #onTouchUnlock}. + * + * @method Phaser.SoundManager#setTouchUnlock + * @private + */ + setTouchUnlock: function () { + + this.touchLocked = false; + this._unlockSource = null; + this.onTouchUnlock.dispatch(); + + }, + /** * Enables the audio, usually after the first touch. * @@ -80455,8 +80474,7 @@ Phaser.SoundManager.prototype = { // Global override (mostly for Audio Tag testing) if (this.usingAudioTag) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } else if (this.usingWebAudio) { @@ -80656,8 +80674,7 @@ Phaser.SoundManager.prototype = { if (this.touchLocked && this._unlockSource !== null && (this._unlockSource.playbackState === this._unlockSource.PLAYING_STATE || this._unlockSource.playbackState === this._unlockSource.FINISHED_STATE)) { - this.touchLocked = false; - this._unlockSource = null; + this.setTouchUnlock(); } for (var i = 0; i < this._sounds.length; i++) @@ -80752,6 +80769,28 @@ Phaser.SoundManager.prototype = { }, + /** + * Removes all Sounds from the SoundManager. + * The removed Sounds are destroyed before removal. + * + * @method Phaser.SoundManager#removeAll + */ + removeAll: function () { + + this.stopAll(); + + for (var i = 0; i < this._sounds.length; i++) + { + if (this._sounds[i]) + { + this._sounds[i].destroy(); + } + } + + this._sounds.length = 0; + + }, + /** * Removes all Sounds from the SoundManager that have an asset key matching the given value. * The removed Sounds are destroyed before removal. @@ -80821,7 +80860,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { this._muteVolume = this.masterGain.gain.value; - this._setGain(0); + this.masterGain.gain.value = 0; } // Loop through sounds @@ -80854,7 +80893,7 @@ Phaser.SoundManager.prototype = { if (this.usingWebAudio) { - this._setGain(this._muteVolume); + this.masterGain.gain.value = this._muteVolume; } // Loop through sounds @@ -80877,26 +80916,16 @@ Phaser.SoundManager.prototype = { */ destroy: function () { - this.stopAll(); - - for (var i = 0; i < this._sounds.length; i++) - { - if (this._sounds[i]) - { - this._sounds[i].destroy(); - } - } - - this._sounds = []; + this.removeAll(); this.onSoundDecode.dispose(); if (this.context) { - if (window['PhaserGlobal']) + if (window.PhaserGlobal) { // Store this in the PhaserGlobal window var, if set, to allow for re-use if the game is created again without the page refreshing - window['PhaserGlobal'].audioContext = this.context; + window.PhaserGlobal.audioContext = this.context; } else { @@ -80907,12 +80936,6 @@ Phaser.SoundManager.prototype = { } } - }, - - _setGain: function (value) { - - this.masterGain.gain.setTargetAtTime(value, 0, 0.01); - } }; @@ -80988,7 +81011,7 @@ Object.defineProperty(Phaser.SoundManager.prototype, "volume", { if (this.usingWebAudio) { - this._setGain(value); + this.masterGain.gain.value = value; } else { @@ -81677,6 +81700,20 @@ Phaser.ScaleManager.RESIZE = 3; */ Phaser.ScaleManager.USER_SCALE = 4; +/** +* Names of the scale modes, indexed by value. +* +* @constant +* @type {string[]} +*/ +Phaser.ScaleManager.MODES = [ + 'EXACT_FIT', + 'NO_SCALE', + 'SHOW_ALL', + 'RESIZE', + 'USER_SCALE' +]; + Phaser.ScaleManager.prototype = { /** @@ -81813,6 +81850,14 @@ Phaser.ScaleManager.prototype = { this.fullScreenTarget = config['fullScreenTarget']; } + this.pageAlignHorizontally = config.alignH || false; + this.pageAlignVertically = config.alignV || false; + + if (config.scaleH && config.scaleV) + { + this.setUserScale(config.scaleH, config.scaleV, config.trimH, config.trimV); + } + }, /** @@ -83776,6 +83821,36 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Render Sound Manager information, including volume, mute, audio mode, and locked status. + * + * @method Phaser.Utils.Debug#sound + * @param {number} x - X position of the debug info to be rendered. + * @param {number} y - Y position of the debug info to be rendered. + * @param {string} [color='rgb(255,255,255)'] - color of the debug info to be rendered. (format is css color string). + */ + sound: function (x, y, color) { + + var sound = this.game.sound; + + this.start(x, y, color); + + if (sound.noAudio) + { + this.line('Audio is disabled'); + } + else + { + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Mute on pause: ' + sound.muteOnPause); + this.line('Using: ' + (sound.usingWebAudio ? ('Web Audio - ' + sound.context.state) : 'Audio Tag')); + this.line('Touch locked: ' + sound.touchLocked); + } + + this.stop(); + + }, + /** * Render Sound information, including decoded state, duration, volume and more. * @@ -83788,13 +83863,13 @@ Phaser.Utils.Debug.prototype = { soundInfo: function (sound, x, y, color) { this.start(x, y, color); - this.line('Sound: ' + sound.key + ' Locked: ' + sound.game.sound.touchLocked); + this.line('Sound: ' + sound.key + ' Touch locked: ' + sound.game.sound.touchLocked); this.line('Is Ready?: ' + this.game.cache.isSoundReady(sound.key) + ' Pending Playback: ' + sound.pendingPlayback); this.line('Decoded: ' + sound.isDecoded + ' Decoding: ' + sound.isDecoding); - this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying); + this.line('Total Duration: ' + sound.totalDuration + ' Playing: ' + sound.isPlaying + ' Loop: ' + sound.loop); this.line('Time: ' + sound.currentTime); - this.line('Volume: ' + sound.volume + ' Muted: ' + sound.mute); - this.line('WebAudio: ' + sound.usingWebAudio + ' Audio: ' + sound.usingAudioTag); + this.line('Volume: ' + sound.volume.toFixed(2) + (sound.mute ? ' (Mute)' : '')); + this.line('Using: ' + (sound.usingWebAudio ? 'Web Audio' : 'Audio Tag')); if (sound.currentMarker !== '') { @@ -83855,17 +83930,12 @@ Phaser.Utils.Debug.prototype = { this.start(x, y, color); this.line('Camera (' + camera.width + ' x ' + camera.height + ')'); this.line('x: ' + camera.x + ' y: ' + camera.y); - - if (bounds) - { - this.line('Bounds x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height); - } - - this.line('View x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); + this.line('Bounds: ' + (bounds ? ('x: ' + bounds.x + ' y: ' + bounds.y + ' w: ' + bounds.width + ' h: ' + bounds.height) : 'none')); + this.line('View: x: ' + view.x + ' y: ' + view.y + ' w: ' + view.width + ' h: ' + view.height); this.line('Deadzone: ' + (deadzone ? ('x: ' + deadzone.x + ' y: ' + deadzone.y + ' w: ' + deadzone.width + ' h: ' + deadzone.height) : deadzone)); this.line('Total in view: ' + camera.totalInView); this.line('At limit: x: ' + camera.atLimit.x + ' y: ' + camera.atLimit.y); - this.line('Target: ' + (target ? (target.name || target) : target)); + this.line('Target: ' + (target ? (target.name || target) : 'none')); this.stop(); }, @@ -84541,6 +84611,86 @@ Phaser.Utils.Debug.prototype = { }, + /** + * Prints game/canvas dimensions and {@link Phaser.ScaleManager game scale} settings. + * + * @method Phaser.Utils.Debug#scale + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + scale: function (x, y, color) { + + this.start(x, y, color); + + var scale = this.game.scale; + var factor = scale.scaleFactorInversed; + var bounds = scale._parentBounds; + var x = ' x '; + + this.line('Game: ' + this.game.width + x + this.game.height); + this.line('Canvas: ' + scale.width + x + scale.height + + ' (' + factor.x.toFixed(2) + x + factor.y.toFixed(2) + ')' + + ' [' + scale.aspectRatio.toFixed(2) + ']'); + this.line('Mode: ' + Phaser.ScaleManager.MODES[scale.currentScaleMode] + + (scale.currentScaleMode === Phaser.ScaleManager.USER_SCALE ? + (' (' + scale._userScaleFactor.x + x + scale._userScaleFactor.y + ')') : + '')); + this.line('Parent: ' + (scale.parentIsWindow ? 'window' : scale.parentNode) + + (bounds.empty ? '' : (' (' + bounds.width + x + bounds.height + ')'))); + this.line('Screen: ' + scale.classifyOrientation(scale.screenOrientation) + + (scale.incorrectOrientation ? ' (incorrect)' : '')); + + this.stop(); + + }, + + /** + * Prints the progress of a {@link Phaser.Loader}. + * + * Typically you would call this within a {@link State#loadRender} callback and pass `game.load` ({@link Phaser.Game#load}). + * + * You can enable {@link Phaser.Loader#resetLocked} to temporarily hold the loader in its 'complete' state. + * Just remember to disable it before restarting the loader (such as when changing states). + * + * @method Phaser.Utils.Debug#loader + * @param {Phaser.Loader} loader - The loader. Usually `game.load` ({@link Phaser.Game#load}). + * @param {number} x - The X value the debug info will start from. + * @param {number} y - The Y value the debug info will start from. + * @param {string} [color='rgb(255,255,255)'] - The color the debug text will drawn in. + */ + loader: function (loader, x, y, color) { + + var pad = Phaser.Utils.pad; + + this.start(x, y, color); + + if (loader.hasLoaded) + { + this.line('Complete' + (loader.resetLocked ? ' [locked]' : '')); + } + else if (loader.isLoading) + { + this.line('Loading'); + } + else + { + this.line('Not started'); + } + + if (!loader.hasLoaded || loader.resetLocked) + { + this.line('Progress: ' + (pad(loader.progress, 3) + '%')); + this.line('Files: ' + loader._loadedFileCount + ' of ' + + loader._totalFileCount); + this.line('Packs: ' + loader._loadedPackCount + ' of ' + + loader._loadedPackCount); + } + + this.stop(); + + }, + /** * Destroy this object. * @@ -85543,29 +85693,6 @@ Phaser.ArrayUtils = { }, - /** - * Moves the element from the start of the array to the end, shifting all items in the process. - * The "rotation" happens to the left. - * - * Before: `[ A, B, C, D, E, F ]` - * After: `[ B, C, D, E, F, A ]` - * - * See also Phaser.ArrayUtils.rotateRight - * - * @method Phaser.ArrayUtils.rotate - * @deprecated Please use Phaser.ArrayUtils.rotateLeft instead. - * @param {any[]} array - The array to rotate. The array is modified. - * @return {any} The rotated value. - */ - rotate: function (array) { - - var s = array.shift(); - array.push(s); - - return s; - - }, - /** * Create an array representing the inclusive range of numbers (usually integers) in `[start, end]` (or `[0, start]`, if `end` is omitted). * This is equivalent to `numberArrayStep(start, 1 + end, 1)`. @@ -86554,6 +86681,96 @@ Phaser.FlexLayer.prototype.debug = function () { */ Phaser.Color = { + /** + * Red (0xff0000) + * + * @type number + * @constant + * @default + */ + RED: 0xff0000, + + /** + * Orange (0xff9900) + * + * @type number + * @constant + * @default + */ + ORANGE: 0xff9900, + + /** + * Yellow (0xffff00) + * + * @type number + * @constant + * @default + */ + YELLOW: 0xffff00, + + /** + * Green (0x00ff00) + * + * @type number + * @constant + * @default + */ + GREEN: 0x00ff00, + + /** + * Aqua (0x00ffff) + * + * @type number + * @constant + * @default + */ + AQUA: 0x00ffff, + + /** + * Blue (0x0000ff) + * + * @type number + * @constant + * @default + */ + BLUE: 0x0000ff, + + /** + * Violet/purple (0xff00ff) + * + * @type number + * @constant + * @default + */ + VIOLET: 0xff00ff, + + /** + * White (0xffffff) + * + * @type number + * @constant + * @default + */ + WHITE: 0xffffff, + + /** + * Black (0x000000) + * + * @type number + * @constant + * @default + */ + BLACK: 0, + + /** + * Gray (0x666666) + * + * @type number + * @constant + * @default + */ + GRAY: 0x666666, + /** * Packs the r, g, b, a components into a single integer, for use with Int32Array. * If device is little endian then ABGR order is used. Otherwise RGBA order is used. @@ -88496,6 +88713,7 @@ Phaser.Physics.Arcade = function (game) { /** * @property {number} OVERLAP_BIAS - A value added to the delta values during collision checks. + * @default */ this.OVERLAP_BIAS = 4; @@ -98228,7 +98446,7 @@ Phaser.Tile = function (layer, index, x, y, width, height) { * @property {number} y - The y map coordinate of this tile. */ this.y = y; - + /** * @property {number} rotation - The rotation angle of this tile. */ @@ -98238,7 +98456,7 @@ Phaser.Tile = function (layer, index, x, y, width, height) { * @property {boolean} flipped - Whether this tile is flipped (mirrored) or not. */ this.flipped = false; - + /** * @property {number} x - The x map coordinate of this tile. */ @@ -98340,6 +98558,12 @@ Phaser.Tile = function (layer, index, x, y, width, height) { */ this.collisionCallbackContext = this; + /** + * @property {boolean} debug + * @default + */ + this.debug = false; + }; Phaser.Tile.prototype = { @@ -103210,7 +103434,7 @@ Phaser.Particle.prototype.reset = function(x, y, health) { */ /** -* Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it. +* Phaser.Particles tracks any Emitters attached to it. * * @class Phaser.Particles * @constructor @@ -103256,26 +103480,6 @@ Phaser.Particles.prototype = { */ remove: function (emitter) { delete this.emitters[emitter.id]; - }, - - /** - * Updates all Emitters who have their exists value set to true. - * - * Phaser no longer uses this method; Emitters receive updates via {@link Phaser.Stage#update} instead. - * - * @method Phaser.Particles#update - * @protected - * @deprecated - */ - update: function () { - for (var key in this.emitters) - { - if (this.emitters[key].exists) - { - this.emitters[key].update(); - } - } - } }; @@ -106232,6 +106436,19 @@ Phaser.Video = function (game, key, url) { */ this.onTimeout = new Phaser.Signal(); + /** + * This signal is dispatched when the Video is unlocked. + * @property {Phaser.Signal} onTouchUnlock + */ + this.onTouchUnlock = new Phaser.Signal(); + + /** + * Start playing the video when it's unlocked. + * @property {boolean} playWhenUnlocked + * @default + */ + this.playWhenUnlocked = true; + /** * @property {integer} timeout - The amount of ms allowed to elapsed before the Video.onTimeout signal is dispatched while waiting for webcam access. * @default @@ -107191,9 +107408,12 @@ Phaser.Video.prototype = { this.touchLocked = false; - this.video.play(); + if (this.playWhenUnlocked) + { + this.video.play(); - this.onPlay.dispatch(this, this.loop, this.playbackRate); + this.onPlay.dispatch(this, this.loop, this.playbackRate); + } if (this.key) { @@ -107205,6 +107425,8 @@ Phaser.Video.prototype = { } } + this.onTouchUnlock.dispatch(this); + return true; }, diff --git a/build/phaser.map b/build/phaser.map index e0b8e50b4..70723bbf8 100644 --- a/build/phaser.map +++ b/build/phaser.map @@ -1 +1 @@ -{"version":3,"sources":["phaser.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","motorIsEnabled","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","updateTransform","game","tx","ty","pt","wt","PI2","rotationCache","determ","HALF_PI","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","updateSourceImage","newSrc","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","returnPoints","del","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","intersectionWithRectangle","edgeIntersection","closestDistance","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","expand","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","webAudio","ie","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","webGLError","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","contextOptions","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isConsoleOpen","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","_setGain","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","setTargetAtTime","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","pageAlignHorizontally","pageAlignVertically","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","setupWall","wall","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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AEpB99C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIW,GACxB90D,EAASktB,KAAWinC,EAAInW,GAExBh+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAIpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW4wB,EAEpB99C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIpW,GACxB/9C,EAASktB,KAAWinC,EAAInW,GAExBh+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAGpBp6C,EAASktB,KAAWywB,EACpB39C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB,KAAWgnC,EAAO9hD,MAAM7K,EAGjCvH,EAASktB,KAAWgnC,EAAOxd,SAG3B12C,EAASktB,KAAWinC,EAAIlW,GACxBj+C,EAASktB,KAAWinC,EAAIjW,GAExBl+C,EAASktB,KAAWgnC,EAAOvd,MAE3B32C,EAASktB,KAAWktB,EAKpBp6C,EAASktB,KAAW0wB,EACpB59C,EAASktB,KAAW2wB,EAEpB79C,EAASktB,KAAWgnC,EAAOrtD,SAASS,EACpCtH,EAASktB,KAAWgnC,EAAOrtD,SAASU,EAGpCvH,EAASktB,KAAWgnC,EAAO9hD,MAAM9K,EACjCtH,EAASktB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","file":"phaser.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","updateTransform","game","tx","ty","pt","wt","PI2","rotationCache","determ","HALF_PI","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","CanvasPool","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","removeByCanvas","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","returnPoints","del","p0Exists","pointOnSegment","p1Exists","Ellipse","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","centerX","centerY","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","intersectionWithRectangle","edgeIntersection","closestDistance","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","expand","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","isPoint","sortClockwise","center","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirst","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","isDisabled","showDebugHeader","RequestAnimationFrame","stopFocus","focus","isReady","onReady","hideBanner","webAudio","ie","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","countUpdate","countRender","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","chrome","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","resetButtons","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","prop","makeBinder","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","down","toLowerCase","updateButtons","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","pointerLocalCoord","globalToLocal","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","parseFloat","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","process","versions","_checkBrowser","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","getItem","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","PhaserGlobal","fakeiOSTouchLock","isAndroidStockBrowser","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_removeFromSoundManager","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","soundInfo","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","row","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","setupWall","wall","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","column","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onError","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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AAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIW,GACxB/0D,EAASitB,KAAWmnC,EAAIrW,GAExB/9C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAIpBn6C,EAASitB,KAAWywB,EACpB19C,EAASitB,KAAW4wB,EAEpB79C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAItW,GACxB99C,EAASitB,KAAWmnC,EAAIrW,GAExB/9C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAGpBn6C,EAASitB,KAAWywB,EACpB19C,EAASitB,KAAW2wB,EAEpB59C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIpW,GACxBh+C,EAASitB,KAAWmnC,EAAInW,GAExBj+C,EAASitB,KAAWknC,EAAOzd,MAE3B12C,EAASitB,KAAWktB,EAKpBn6C,EAASitB,KAAW0wB,EACpB39C,EAASitB,KAAW2wB,EAEpB59C,EAASitB,KAAWknC,EAAOttD,SAASS,EACpCtH,EAASitB,KAAWknC,EAAOttD,SAASU,EAGpCvH,EAASitB,KAAWknC,EAAO/hD,MAAM9K,EACjCtH,EAASitB,KAAWknC,EAAO/hD,MAAM7K,EAGjCvH,EAASitB,KAAWknC,EAAO1d,SAG3Bz2C,EAASitB,KAAWmnC,EAAIlW,GACxBl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","file":"phaser.min.js"} \ No newline at end of file diff --git a/build/phaser.min.js b/build/phaser.min.js index 98e6c98f7..6eb048b7a 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.9.4 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.10.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.9.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){this.states[t].game=this.game,this.states[t].add=this.game.add,this.states[t].make=this.game.make,this.states[t].camera=this.game.camera,this.states[t].cache=this.game.cache,this.states[t].input=this.game.input,this.states[t].load=this.game.load,this.states[t].math=this.game.math,this.states[t].sound=this.game.sound,this.states[t].scale=this.game.scale,this.states[t].state=this,this.states[t].stage=this.game.stage,this.states[t].time=this.game.time,this.states[t].tweens=this.game.tweens,this.states[t].world=this.game.world,this.states[t].particles=this.game.particles,this.states[t].rnd=this.game.rnd,this.states[t].physics=this.game.physics,this.states[t].key=t},unlink:function(t){this.states[t]&&(this.states[t].game=null,this.states[t].add=null,this.states[t].make=null,this.states[t].camera=null,this.states[t].cache=null,this.states[t].input=null,this.states[t].load=null,this.states[t].math=null,this.states[t].sound=null,this.states[t].scale=null,this.states[t].state=null,this.states[t].stage=null,this.states[t].time=null,this.states[t].tweens=null,this.states[t].world=null,this.states[t].particles=null,this.states[t].rnd=null,this.states[t].physics=null)},setCurrentState:function(t){this.callbackContext=this.states[t],this.link(t),this.onInitCallback=this.states[t].init||this.dummy,this.onPreloadCallback=this.states[t].preload||null,this.onLoadRenderCallback=this.states[t].loadRender||null,this.onLoadUpdateCallback=this.states[t].loadUpdate||null,this.onCreateCallback=this.states[t].create||null,this.onUpdateCallback=this.states[t].update||null,this.onPreRenderCallback=this.states[t].preRender||null,this.onRenderCallback=this.states[t].render||null,this.onResizeCallback=this.states[t].resize||null,this.onPausedCallback=this.states[t].paused||null,this.onResumedCallback=this.states[t].resumed||null,this.onPauseUpdateCallback=this.states[t].pauseUpdate||null,this.onShutDownCallback=this.states[t].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!function(){if(!window.WebGLRenderingContext)return!1;try{var t=document.createElement("canvas");t.screencanvas=!1;var e={stencil:!0};return t.getContext("webgl",e)||t.getContext("experimental-webgl",e)}catch(t){return s.webGLError=t,!1}}(),s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isConsoleOpen=function(){return console.warn("Phaser.Device.isConsoleOpen is deprecated and will be removed."),!1},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&!e||i.isRunning&&!i.pendingDelete})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.useXDomainRequest=!1,this._warnedAboutXDomainRequest=!1,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()}},xhrLoadWithXDR:function(t,e,i,s,n){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var r=new window.XDomainRequest;r.open("GET",e,!0),r.responseType=i,r.timeout=3e3,n=n||this.fileError;var o=this;r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.ontimeout=function(){try{return n.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},r.onprogress=function(){},r.onload=function(){try{return 4===r.readyState&&r.status>=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,setTimeout(function(){r.send()},0)},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s*this.game.sound.volume,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&!1===this.game.device.webAudio&&(this.channels=1),window.PhaserGlobal){if(!0===window.PhaserGlobal.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===window.PhaserGlobal.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this._setGain(1),this.masterGain.connect(this.context.destination);this.noAudio||this.game.device.needsTouchUnlock()&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this._setGain(t);else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},u={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new i.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); +!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.onTouchUnlock=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},u={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new i.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/docs/CreatureShader.html b/docs/CreatureShader.html index 37578d708..7827650d1 100644 --- a/docs/CreatureShader.html +++ b/docs/CreatureShader.html @@ -6,7 +6,7 @@ Phaser CE Class: CreatureShader - + @@ -224,7 +224,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 16 + src/gameobjects/Creature.js line 16 @@ -329,7 +329,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 43 + src/gameobjects/Creature.js line 43 @@ -402,7 +402,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 29 + src/gameobjects/Creature.js line 29 @@ -479,7 +479,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 36 + src/gameobjects/Creature.js line 36 @@ -556,7 +556,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 62 + src/gameobjects/Creature.js line 62 @@ -589,9 +589,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -608,7 +608,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -637,7 +637,7 @@
Type:
- + diff --git a/docs/EarCut.html b/docs/EarCut.html index 4ff229e6c..0fbd75f7a 100644 --- a/docs/EarCut.html +++ b/docs/EarCut.html @@ -6,7 +6,7 @@ Phaser CE Class: EarCut - + @@ -174,7 +174,7 @@

Source:
- src/utils/EarCut.js line 22 + src/utils/EarCut.js line 22 @@ -231,9 +231,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -250,7 +250,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -279,7 +279,7 @@

- + diff --git a/docs/Event.html b/docs/Event.html index 0324d4243..3f2e234b9 100644 --- a/docs/Event.html +++ b/docs/Event.html @@ -6,7 +6,7 @@ Phaser CE Class: Event - + @@ -276,7 +276,7 @@

Parameters:
Source:
- src/plugins/path/EventTarget.js line 202 + src/plugins/path/EventTarget.js line 202 @@ -392,7 +392,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 253 + src/plugins/path/EventTarget.js line 253 @@ -469,7 +469,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 235 + src/plugins/path/EventTarget.js line 235 @@ -546,7 +546,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 265 + src/plugins/path/EventTarget.js line 265 @@ -623,7 +623,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 244 + src/plugins/path/EventTarget.js line 244 @@ -656,9 +656,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -675,7 +675,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -704,7 +704,7 @@
Type:
- + diff --git a/docs/EventTarget.html b/docs/EventTarget.html index fefe72a09..e1e64add4 100644 --- a/docs/EventTarget.html +++ b/docs/EventTarget.html @@ -6,7 +6,7 @@ Phaser CE Class: EventTarget - + @@ -178,7 +178,7 @@

Source:
- src/plugins/path/EventTarget.js line 23 + src/plugins/path/EventTarget.js line 23 @@ -291,7 +291,7 @@

Source:
- src/plugins/path/EventTarget.js line 27 + src/plugins/path/EventTarget.js line 27 @@ -334,9 +334,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -353,7 +353,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -382,7 +382,7 @@

- + diff --git a/docs/PIXI.BaseTexture.html b/docs/PIXI.BaseTexture.html index 7ef9a9f38..1846eb802 100644 --- a/docs/PIXI.BaseTexture.html +++ b/docs/PIXI.BaseTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: BaseTexture - + @@ -309,7 +309,7 @@

Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 14 + src/pixi/textures/BaseTexture.js line 14 @@ -414,7 +414,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 58 + src/pixi/textures/BaseTexture.js line 58 @@ -491,7 +491,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 40 + src/pixi/textures/BaseTexture.js line 40 @@ -569,7 +569,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 93 + src/pixi/textures/BaseTexture.js line 93 @@ -653,7 +653,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 75 + src/pixi/textures/BaseTexture.js line 75 @@ -730,7 +730,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 22 + src/pixi/textures/BaseTexture.js line 22 @@ -814,7 +814,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 49 + src/pixi/textures/BaseTexture.js line 49 @@ -893,7 +893,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 131 + src/pixi/textures/BaseTexture.js line 131 @@ -970,7 +970,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 66 + src/pixi/textures/BaseTexture.js line 66 @@ -1047,7 +1047,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 100 + src/pixi/textures/BaseTexture.js line 100 @@ -1124,7 +1124,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 31 + src/pixi/textures/BaseTexture.js line 31 @@ -1202,7 +1202,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 161 + src/pixi/textures/BaseTexture.js line 161 @@ -1286,7 +1286,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 190 + src/pixi/textures/BaseTexture.js line 178 @@ -1446,7 +1446,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 144 + src/pixi/textures/BaseTexture.js line 144 @@ -1656,7 +1656,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 231 + src/pixi/textures/BaseTexture.js line 219 @@ -1761,150 +1761,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 203 - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-

- updateSourceImage(newSrc) - deprecated -

- -
-
- - -
-

Changes the source image of the texture

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
newSrc - - -String - - - - -

the path of the image

- - - - -
- - - - - - - - - - - - - - - - - -
Deprecated:
- -
-
    -
  • This method is deprecated. Please use Phaser.Sprite.loadTexture instead.
  • -
-
- - - - - - - - - - - - - - -
Source:
-
- - src/pixi/textures/BaseTexture.js line 178 + src/pixi/textures/BaseTexture.js line 191 @@ -1947,9 +1804,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1966,7 +1823,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1995,7 +1852,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasBuffer.html b/docs/PIXI.CanvasBuffer.html index c912e75ed..b97c9824a 100644 --- a/docs/PIXI.CanvasBuffer.html +++ b/docs/PIXI.CanvasBuffer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasBuffer - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 @@ -359,7 +359,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 @@ -436,7 +436,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 @@ -513,7 +513,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 @@ -590,7 +590,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 @@ -668,7 +668,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 78 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 78 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 65 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 65 @@ -869,9 +869,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -888,7 +888,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -917,7 +917,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasGraphics.html b/docs/PIXI.CanvasGraphics.html index 4ad42c580..a95f516c0 100644 --- a/docs/PIXI.CanvasGraphics.html +++ b/docs/PIXI.CanvasGraphics.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasGraphics - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/CanvasGraphics.js line 12 + src/pixi/renderers/canvas/CanvasGraphics.js line 12 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasGraphics.js line 16 + src/pixi/renderers/canvas/CanvasGraphics.js line 16 @@ -399,9 +399,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -418,7 +418,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -447,7 +447,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasMaskManager.html b/docs/PIXI.CanvasMaskManager.html index 951ea3c03..981b5ea99 100644 --- a/docs/PIXI.CanvasMaskManager.html +++ b/docs/PIXI.CanvasMaskManager.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasMaskManager - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 49 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 49 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 17 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 17 @@ -533,9 +533,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -552,7 +552,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -581,7 +581,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasRenderer.html b/docs/PIXI.CanvasRenderer.html index f4f759228..a4b8fb2d6 100644 --- a/docs/PIXI.CanvasRenderer.html +++ b/docs/PIXI.CanvasRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasRenderer - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 13 + src/pixi/renderers/canvas/CanvasRenderer.js line 13 @@ -336,7 +336,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 67 + src/pixi/renderers/canvas/CanvasRenderer.js line 67 @@ -416,7 +416,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 51 + src/pixi/renderers/canvas/CanvasRenderer.js line 51 @@ -493,7 +493,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 100 + src/pixi/renderers/canvas/CanvasRenderer.js line 100 @@ -570,7 +570,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 116 + src/pixi/renderers/canvas/CanvasRenderer.js line 116 @@ -647,7 +647,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 18 + src/pixi/renderers/canvas/CanvasRenderer.js line 18 @@ -731,7 +731,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 85 + src/pixi/renderers/canvas/CanvasRenderer.js line 85 @@ -855,7 +855,7 @@
Properties:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 123 + src/pixi/renderers/canvas/CanvasRenderer.js line 123 @@ -932,7 +932,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 108 + src/pixi/renderers/canvas/CanvasRenderer.js line 108 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 130 + src/pixi/renderers/canvas/CanvasRenderer.js line 130 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 39 + src/pixi/renderers/canvas/CanvasRenderer.js line 39 @@ -1163,7 +1163,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 59 + src/pixi/renderers/canvas/CanvasRenderer.js line 59 @@ -1240,7 +1240,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 31 + src/pixi/renderers/canvas/CanvasRenderer.js line 31 @@ -1317,7 +1317,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 93 + src/pixi/renderers/canvas/CanvasRenderer.js line 93 @@ -1401,7 +1401,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 76 + src/pixi/renderers/canvas/CanvasRenderer.js line 76 @@ -1549,7 +1549,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 201 + src/pixi/renderers/canvas/CanvasRenderer.js line 201 @@ -1686,7 +1686,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 152 + src/pixi/renderers/canvas/CanvasRenderer.js line 152 @@ -1844,7 +1844,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 223 + src/pixi/renderers/canvas/CanvasRenderer.js line 223 @@ -1887,9 +1887,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1906,7 +1906,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1935,7 +1935,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasTinter.html b/docs/PIXI.CanvasTinter.html index 40057b045..eafeea6ab 100644 --- a/docs/PIXI.CanvasTinter.html +++ b/docs/PIXI.CanvasTinter.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasTinter - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 11 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 11 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 13 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 13 @@ -562,7 +562,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 73 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 73 @@ -744,7 +744,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 31 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 31 @@ -787,9 +787,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -806,7 +806,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -835,7 +835,7 @@
Parameters:
- + diff --git a/docs/PIXI.ComplexPrimitiveShader.html b/docs/PIXI.ComplexPrimitiveShader.html index 904b3315e..d857bf687 100644 --- a/docs/PIXI.ComplexPrimitiveShader.html +++ b/docs/PIXI.ComplexPrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: ComplexPrimitiveShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 @@ -636,7 +636,7 @@

Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 110 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 110 @@ -720,7 +720,7 @@

Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 79 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 79 @@ -763,9 +763,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -782,7 +782,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -811,7 +811,7 @@

- + diff --git a/docs/PIXI.DisplayObject.html b/docs/PIXI.DisplayObject.html index ad8eca6b4..45c0d4339 100644 --- a/docs/PIXI.DisplayObject.html +++ b/docs/PIXI.DisplayObject.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObject - + @@ -183,7 +183,7 @@

Source:
- src/pixi/display/DisplayObject.js line 18 + src/pixi/display/DisplayObject.js line 18 @@ -298,7 +298,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -382,7 +382,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -459,7 +459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -541,7 +541,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -628,7 +628,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -708,7 +708,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -788,7 +788,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -866,7 +866,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -945,7 +945,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1183,7 +1183,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -1355,7 +1355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -1437,7 +1437,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -1519,7 +1519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -1601,7 +1601,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -1683,7 +1683,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -1760,7 +1760,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -1838,7 +1838,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -1916,7 +1916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -1996,7 +1996,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -2232,7 +2232,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -2342,7 +2342,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -2476,7 +2476,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -2680,7 +2680,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -2790,7 +2790,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -2970,7 +2970,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -3039,9 +3039,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3058,7 +3058,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3087,7 +3087,7 @@
Returns:
- + diff --git a/docs/PIXI.DisplayObjectContainer.html b/docs/PIXI.DisplayObjectContainer.html index f36ddfff3..c87c46328 100644 --- a/docs/PIXI.DisplayObjectContainer.html +++ b/docs/PIXI.DisplayObjectContainer.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObjectContainer - + @@ -181,7 +181,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 13 + src/pixi/display/DisplayObjectContainer.js line 13 @@ -316,7 +316,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -409,7 +409,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -486,7 +486,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -572,7 +572,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -663,7 +663,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -759,7 +759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -838,7 +838,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -927,7 +927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -1016,7 +1016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1191,7 +1191,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1278,7 +1278,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1367,7 +1367,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1554,7 +1554,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -1646,7 +1646,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -1737,7 +1737,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -1828,7 +1828,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -1919,7 +1919,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -2010,7 +2010,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -2096,7 +2096,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2183,7 +2183,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -2270,7 +2270,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -2398,7 +2398,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -2580,7 +2580,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -2738,7 +2738,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -2853,7 +2853,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -3098,7 +3098,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -3273,7 +3273,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -3431,7 +3431,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -3589,7 +3589,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -3697,7 +3697,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -3814,7 +3814,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -3948,7 +3948,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -4106,7 +4106,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -4288,7 +4288,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -4446,7 +4446,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -4604,7 +4604,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -4747,7 +4747,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -5079,7 +5079,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -5273,7 +5273,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -5342,9 +5342,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -5361,7 +5361,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -5390,7 +5390,7 @@
Returns:
- + diff --git a/docs/PIXI.FilterTexture.html b/docs/PIXI.FilterTexture.html index 3720165ff..504859b59 100644 --- a/docs/PIXI.FilterTexture.html +++ b/docs/PIXI.FilterTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: FilterTexture - + @@ -298,7 +298,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 63 + src/pixi/renderers/webgl/utils/FilterTexture.js line 63 @@ -399,7 +399,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 77 + src/pixi/renderers/webgl/utils/FilterTexture.js line 77 @@ -472,7 +472,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 70 + src/pixi/renderers/webgl/utils/FilterTexture.js line 70 @@ -545,7 +545,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 82 + src/pixi/renderers/webgl/utils/FilterTexture.js line 82 @@ -623,7 +623,7 @@

Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 90 + src/pixi/renderers/webgl/utils/FilterTexture.js line 90 @@ -707,7 +707,7 @@

Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 125 + src/pixi/renderers/webgl/utils/FilterTexture.js line 125 @@ -865,7 +865,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 103 + src/pixi/renderers/webgl/utils/FilterTexture.js line 103 @@ -908,9 +908,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -927,7 +927,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -956,7 +956,7 @@
Parameters:
- + diff --git a/docs/PIXI.Phaser.GraphicsData.html b/docs/PIXI.Phaser.GraphicsData.html index 814e311c0..c17d8f166 100644 --- a/docs/PIXI.Phaser.GraphicsData.html +++ b/docs/PIXI.Phaser.GraphicsData.html @@ -6,7 +6,7 @@ Phaser CE Class: Phaser.GraphicsData - + @@ -386,7 +386,7 @@
Parameters:
Source:
- src/gameobjects/GraphicsData.js line 15 + src/gameobjects/GraphicsData.js line 15 @@ -443,9 +443,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -462,7 +462,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -491,7 +491,7 @@
Parameters:
- + diff --git a/docs/PIXI.PixiFastShader.html b/docs/PIXI.PixiFastShader.html index 18bdbc994..3e96ac77c 100644 --- a/docs/PIXI.PixiFastShader.html +++ b/docs/PIXI.PixiFastShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiFastShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 47 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 22 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 29 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 125 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 86 @@ -713,7 +713,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 207 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 207 @@ -797,7 +797,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 132 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 132 @@ -840,9 +840,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -859,7 +859,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -888,7 +888,7 @@

- + diff --git a/docs/PIXI.PixiShader.html b/docs/PIXI.PixiShader.html index 82566d092..15aef1c74 100644 --- a/docs/PIXI.PixiShader.html +++ b/docs/PIXI.PixiShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiShader - + @@ -226,7 +226,7 @@

Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 11 + src/pixi/renderers/webgl/shaders/PixiShader.js line 11 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 475 + src/pixi/renderers/webgl/shaders/PixiShader.js line 475 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 60 + src/pixi/renderers/webgl/shaders/PixiShader.js line 60 @@ -485,7 +485,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 38 + src/pixi/renderers/webgl/shaders/PixiShader.js line 38 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 24 + src/pixi/renderers/webgl/shaders/PixiShader.js line 24 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 31 + src/pixi/renderers/webgl/shaders/PixiShader.js line 31 @@ -712,7 +712,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 45 + src/pixi/renderers/webgl/shaders/PixiShader.js line 45 @@ -790,7 +790,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 455 + src/pixi/renderers/webgl/shaders/PixiShader.js line 455 @@ -874,7 +874,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 224 + src/pixi/renderers/webgl/shaders/PixiShader.js line 224 @@ -958,7 +958,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 312 + src/pixi/renderers/webgl/shaders/PixiShader.js line 312 @@ -1044,7 +1044,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 238 + src/pixi/renderers/webgl/shaders/PixiShader.js line 238 @@ -1128,7 +1128,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 388 + src/pixi/renderers/webgl/shaders/PixiShader.js line 388 @@ -1171,9 +1171,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1190,7 +1190,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1219,7 +1219,7 @@

- + diff --git a/docs/PIXI.PrimitiveShader.html b/docs/PIXI.PrimitiveShader.html index 8c979f2bb..1775d6b70 100644 --- a/docs/PIXI.PrimitiveShader.html +++ b/docs/PIXI.PrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PrimitiveShader - + @@ -226,7 +226,7 @@

Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 @@ -636,7 +636,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 105 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 105 @@ -720,7 +720,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 75 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 75 @@ -763,9 +763,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -782,7 +782,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -811,7 +811,7 @@

- + diff --git a/docs/PIXI.Sprite.html b/docs/PIXI.Sprite.html index 5b1895346..9cbd82f7a 100644 --- a/docs/PIXI.Sprite.html +++ b/docs/PIXI.Sprite.html @@ -6,7 +6,7 @@ Phaser CE Class: Sprite - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/pixi/display/Sprite.js line 13 + src/pixi/display/Sprite.js line 13 @@ -396,7 +396,7 @@
Properties:
Source:
- src/pixi/display/Sprite.js line 128 + src/pixi/display/Sprite.js line 128 @@ -492,7 +492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -573,7 +573,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -658,7 +658,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -751,7 +751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -837,7 +837,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -921,7 +921,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1098,7 +1098,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -1194,7 +1194,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -1282,7 +1282,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1371,7 +1371,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -1460,7 +1460,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1547,7 +1547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1635,7 +1635,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1727,7 +1727,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1816,7 +1816,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -1905,7 +1905,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -1990,7 +1990,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -2067,7 +2067,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -2093,7 +2093,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -2151,7 +2151,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -2235,7 +2235,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -2333,7 +2333,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -2516,7 +2516,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -2607,7 +2607,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -2698,7 +2698,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -2794,7 +2794,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -2880,7 +2880,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2967,7 +2967,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -3054,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -3191,7 +3191,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -3382,7 +3382,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -3549,7 +3549,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3664,7 +3664,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -3909,7 +3909,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -4081,7 +4081,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -4248,7 +4248,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -4415,7 +4415,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -4528,7 +4528,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -4645,7 +4645,7 @@

Source:
- src/pixi/display/DisplayObject.js line 432 + src/pixi/display/DisplayObject.js line 432 @@ -4788,7 +4788,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -4955,7 +4955,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -5146,7 +5146,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -5313,7 +5313,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -5504,7 +5504,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -5671,7 +5671,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -5814,7 +5814,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -6027,7 +6027,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -6146,7 +6146,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -6335,7 +6335,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -6404,9 +6404,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6423,7 +6423,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6452,7 +6452,7 @@
Returns:
- + diff --git a/docs/PIXI.StripShader.html b/docs/PIXI.StripShader.html index 2681bff62..453eeca0d 100644 --- a/docs/PIXI.StripShader.html +++ b/docs/PIXI.StripShader.html @@ -6,7 +6,7 @@ Phaser CE Class: StripShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 10 + src/pixi/renderers/webgl/shaders/StripShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 49 + src/pixi/renderers/webgl/shaders/StripShader.js line 76 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 76 + src/pixi/renderers/webgl/shaders/StripShader.js line 49 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 23 + src/pixi/renderers/webgl/shaders/StripShader.js line 23 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 30 + src/pixi/renderers/webgl/shaders/StripShader.js line 30 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 95 + src/pixi/renderers/webgl/shaders/StripShader.js line 95 @@ -713,7 +713,7 @@

Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 175 + src/pixi/renderers/webgl/shaders/StripShader.js line 175 @@ -797,7 +797,7 @@

Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 124 + src/pixi/renderers/webgl/shaders/StripShader.js line 124 @@ -840,9 +840,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -859,7 +859,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -888,7 +888,7 @@

- + diff --git a/docs/PIXI.Texture.html b/docs/PIXI.Texture.html index 696d0884c..7d810c21f 100644 --- a/docs/PIXI.Texture.html +++ b/docs/PIXI.Texture.html @@ -6,7 +6,7 @@ Phaser CE Class: Texture - + @@ -341,7 +341,7 @@

Parameters:
Source:
- src/pixi/textures/Texture.js line 25 + src/pixi/textures/Texture.js line 25 @@ -446,7 +446,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 52 + src/pixi/textures/Texture.js line 52 @@ -524,7 +524,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -601,7 +601,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -678,7 +678,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -755,7 +755,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -832,7 +832,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -909,7 +909,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -986,7 +986,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1065,7 +1065,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 76 + src/pixi/textures/Texture.js line 76 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1424,7 +1424,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -1582,7 +1582,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -1736,7 +1736,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -1779,9 +1779,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1798,7 +1798,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1827,7 +1827,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLBlendModeManager.html b/docs/PIXI.WebGLBlendModeManager.html index 2a9db6d40..b6891b8ed 100644 --- a/docs/PIXI.WebGLBlendModeManager.html +++ b/docs/PIXI.WebGLBlendModeManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLBlendModeManager - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 @@ -327,7 +327,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 @@ -405,7 +405,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 54 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 54 @@ -539,7 +539,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 32 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 32 @@ -673,7 +673,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 21 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 21 @@ -716,9 +716,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -735,7 +735,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -764,7 +764,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLFastSpriteBatch.html b/docs/PIXI.WebGLFastSpriteBatch.html index 4bc743a6a..0ff2d3659 100644 --- a/docs/PIXI.WebGLFastSpriteBatch.html +++ b/docs/PIXI.WebGLFastSpriteBatch.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFastSpriteBatch - + @@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 @@ -277,7 +277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 @@ -350,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 @@ -423,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 @@ -496,7 +496,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 @@ -569,7 +569,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 @@ -646,7 +646,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 @@ -719,7 +719,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 @@ -792,7 +792,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 @@ -865,7 +865,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 @@ -938,7 +938,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 @@ -1084,7 +1084,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 @@ -1157,7 +1157,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 @@ -1234,7 +1234,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 @@ -1307,7 +1307,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 @@ -1455,7 +1455,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 @@ -1535,7 +1535,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 170 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 170 @@ -1615,7 +1615,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 360 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 360 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 @@ -1875,7 +1875,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 209 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 209 @@ -2009,7 +2009,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 @@ -2089,7 +2089,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 412 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 412 @@ -2169,7 +2169,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 404 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 404 @@ -2212,9 +2212,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2231,7 +2231,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2260,7 +2260,7 @@

- + diff --git a/docs/PIXI.WebGLFilterManager.html b/docs/PIXI.WebGLFilterManager.html index 2c4105d82..926af73ed 100644 --- a/docs/PIXI.WebGLFilterManager.html +++ b/docs/PIXI.WebGLFilterManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFilterManager - + @@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 @@ -277,7 +277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 @@ -350,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 @@ -423,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 @@ -623,7 +623,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 336 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 336 @@ -777,7 +777,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 @@ -861,7 +861,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 445 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 445 @@ -945,7 +945,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 397 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 397 @@ -1029,7 +1029,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 145 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 145 @@ -1163,7 +1163,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 62 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 62 @@ -1297,7 +1297,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 32 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 32 @@ -1340,9 +1340,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1359,7 +1359,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1388,7 +1388,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLRenderer.html b/docs/PIXI.WebGLRenderer.html index e46bf2f74..10e3134ea 100644 --- a/docs/PIXI.WebGLRenderer.html +++ b/docs/PIXI.WebGLRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLRenderer - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 19 + src/pixi/renderers/webgl/WebGLRenderer.js line 19 @@ -338,7 +338,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 62 + src/pixi/renderers/webgl/WebGLRenderer.js line 62 @@ -415,7 +415,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 175 + src/pixi/renderers/webgl/WebGLRenderer.js line 176 @@ -495,7 +495,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 82 + src/pixi/renderers/webgl/WebGLRenderer.js line 82 @@ -568,7 +568,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 187 + src/pixi/renderers/webgl/WebGLRenderer.js line 188 @@ -645,7 +645,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 161 + src/pixi/renderers/webgl/WebGLRenderer.js line 162 @@ -722,7 +722,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 24 + src/pixi/renderers/webgl/WebGLRenderer.js line 24 @@ -799,7 +799,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 98 + src/pixi/renderers/webgl/WebGLRenderer.js line 98 @@ -876,7 +876,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 154 + src/pixi/renderers/webgl/WebGLRenderer.js line 155 @@ -949,7 +949,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 131 + src/pixi/renderers/webgl/WebGLRenderer.js line 132 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 70 + src/pixi/renderers/webgl/WebGLRenderer.js line 70 @@ -1099,7 +1099,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 125 + src/pixi/renderers/webgl/WebGLRenderer.js line 126 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 181 + src/pixi/renderers/webgl/WebGLRenderer.js line 182 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 46 + src/pixi/renderers/webgl/WebGLRenderer.js line 46 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 140 + src/pixi/renderers/webgl/WebGLRenderer.js line 141 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 147 + src/pixi/renderers/webgl/WebGLRenderer.js line 148 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 168 + src/pixi/renderers/webgl/WebGLRenderer.js line 169 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 54 + src/pixi/renderers/webgl/WebGLRenderer.js line 54 @@ -1637,7 +1637,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 37 + src/pixi/renderers/webgl/WebGLRenderer.js line 37 @@ -1714,7 +1714,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 106 + src/pixi/renderers/webgl/WebGLRenderer.js line 106 @@ -1791,7 +1791,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 90 + src/pixi/renderers/webgl/WebGLRenderer.js line 90 @@ -1869,7 +1869,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 577 + src/pixi/renderers/webgl/WebGLRenderer.js line 578 @@ -1949,7 +1949,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 215 + src/pixi/renderers/webgl/WebGLRenderer.js line 216 @@ -2033,7 +2033,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 609 + src/pixi/renderers/webgl/WebGLRenderer.js line 610 @@ -2167,7 +2167,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 359 + src/pixi/renderers/webgl/WebGLRenderer.js line 360 @@ -2349,7 +2349,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 394 + src/pixi/renderers/webgl/WebGLRenderer.js line 395 @@ -2507,7 +2507,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 431 + src/pixi/renderers/webgl/WebGLRenderer.js line 432 @@ -2652,7 +2652,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 268 + src/pixi/renderers/webgl/WebGLRenderer.js line 269 @@ -2810,7 +2810,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 457 + src/pixi/renderers/webgl/WebGLRenderer.js line 458 @@ -2968,7 +2968,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 516 + src/pixi/renderers/webgl/WebGLRenderer.js line 517 @@ -3035,9 +3035,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3054,7 +3054,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3083,7 +3083,7 @@
Returns:
- + diff --git a/docs/PIXI.html b/docs/PIXI.html index 070d46335..a549a4449 100644 --- a/docs/PIXI.html +++ b/docs/PIXI.html @@ -6,7 +6,7 @@ Phaser CE Namespace: PIXI - + @@ -167,7 +167,7 @@

Source:
- src/pixi/Pixi.js line 1 + src/pixi/Pixi.js line 1 @@ -317,7 +317,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 5 + src/pixi/renderers/webgl/WebGLRenderer.js line 5 @@ -396,7 +396,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 12 + src/pixi/textures/Texture.js line 12 @@ -544,7 +544,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 @@ -742,7 +742,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 @@ -916,7 +916,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 @@ -979,9 +979,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -998,7 +998,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1027,7 +1027,7 @@
Returns:
- + diff --git a/docs/Phaser.Animation.html b/docs/Phaser.Animation.html index b1041fd59..bce4ac523 100644 --- a/docs/Phaser.Animation.html +++ b/docs/Phaser.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -474,7 +474,7 @@
Parameters:
Source:
- src/animation/Animation.js line 22 + src/animation/Animation.js line 22 @@ -579,7 +579,7 @@
Type:
Source:
- src/animation/Animation.js line 125 + src/animation/Animation.js line 125 @@ -656,7 +656,7 @@
Type:
Source:
- src/animation/Animation.js line 58 + src/animation/Animation.js line 58 @@ -733,7 +733,7 @@
Type:
Source:
- src/animation/Animation.js line 808 + src/animation/Animation.js line 808 @@ -810,7 +810,7 @@
Type:
Source:
- src/animation/Animation.js line 747 + src/animation/Animation.js line 747 @@ -887,7 +887,7 @@
Type:
Source:
- src/animation/Animation.js line 734 + src/animation/Animation.js line 734 @@ -964,7 +964,7 @@
Type:
Source:
- src/animation/Animation.js line 29 + src/animation/Animation.js line 29 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/animation/Animation.js line 80 + src/animation/Animation.js line 80 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/animation/Animation.js line 92 + src/animation/Animation.js line 92 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/animation/Animation.js line 86 + src/animation/Animation.js line 86 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/animation/Animation.js line 157 + src/animation/Animation.js line 157 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/animation/Animation.js line 74 + src/animation/Animation.js line 74 @@ -1426,7 +1426,7 @@
Type:
Source:
- src/animation/Animation.js line 63 + src/animation/Animation.js line 63 @@ -1503,7 +1503,7 @@
Type:
Source:
- src/animation/Animation.js line 68 + src/animation/Animation.js line 68 @@ -1580,7 +1580,7 @@
Type:
Source:
- src/animation/Animation.js line 46 + src/animation/Animation.js line 46 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/animation/Animation.js line 146 + src/animation/Animation.js line 146 @@ -1734,7 +1734,7 @@
Type:
Source:
- src/animation/Animation.js line 151 + src/animation/Animation.js line 151 @@ -1811,7 +1811,7 @@
Type:
Source:
- src/animation/Animation.js line 130 + src/animation/Animation.js line 130 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/animation/Animation.js line 141 + src/animation/Animation.js line 141 @@ -1972,7 +1972,7 @@
Type:
Source:
- src/animation/Animation.js line 680 + src/animation/Animation.js line 680 @@ -2049,7 +2049,7 @@
Type:
Source:
- src/animation/Animation.js line 714 + src/animation/Animation.js line 714 @@ -2126,7 +2126,7 @@
Type:
Source:
- src/animation/Animation.js line 785 + src/animation/Animation.js line 785 @@ -2424,7 +2424,7 @@
Parameters:
Source:
- src/animation/Animation.js line 836 + src/animation/Animation.js line 836 @@ -2533,7 +2533,7 @@

Source:
- src/animation/Animation.js line 650 + src/animation/Animation.js line 650 @@ -2617,7 +2617,7 @@

Source:
- src/animation/Animation.js line 616 + src/animation/Animation.js line 616 @@ -2771,7 +2771,7 @@
Parameters:
Source:
- src/animation/Animation.js line 539 + src/animation/Animation.js line 539 @@ -2855,7 +2855,7 @@

Source:
- src/animation/Animation.js line 369 + src/animation/Animation.js line 369 @@ -2939,7 +2939,7 @@

Source:
- src/animation/Animation.js line 383 + src/animation/Animation.js line 383 @@ -3175,7 +3175,7 @@
Parameters:
Source:
- src/animation/Animation.js line 167 + src/animation/Animation.js line 167 @@ -3355,7 +3355,7 @@
Parameters:
Source:
- src/animation/Animation.js line 571 + src/animation/Animation.js line 571 @@ -3439,7 +3439,7 @@

Source:
- src/animation/Animation.js line 221 + src/animation/Animation.js line 221 @@ -3523,7 +3523,7 @@

Source:
- src/animation/Animation.js line 249 + src/animation/Animation.js line 249 @@ -3633,7 +3633,7 @@

Source:
- src/animation/Animation.js line 263 + src/animation/Animation.js line 263 @@ -3852,7 +3852,7 @@
Parameters:
Source:
- src/animation/Animation.js line 279 + src/animation/Animation.js line 279 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/animation/Animation.js line 338 + src/animation/Animation.js line 338 @@ -4131,7 +4131,7 @@

Source:
- src/animation/Animation.js line 397 + src/animation/Animation.js line 397 @@ -4265,7 +4265,7 @@
Parameters:
Source:
- src/animation/Animation.js line 603 + src/animation/Animation.js line 603 @@ -4308,9 +4308,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -4327,7 +4327,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -4356,7 +4356,7 @@
Parameters:
- + diff --git a/docs/Phaser.AnimationManager.html b/docs/Phaser.AnimationManager.html index 34966bd06..44ac66339 100644 --- a/docs/Phaser.AnimationManager.html +++ b/docs/Phaser.AnimationManager.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationManager - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 15 + src/animation/AnimationManager.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 40 + src/animation/AnimationManager.js line 40 @@ -414,7 +414,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 34 + src/animation/AnimationManager.js line 34 @@ -491,7 +491,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 503 + src/animation/AnimationManager.js line 503 @@ -568,7 +568,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 439 + src/animation/AnimationManager.js line 439 @@ -645,7 +645,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 532 + src/animation/AnimationManager.js line 532 @@ -722,7 +722,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 452 + src/animation/AnimationManager.js line 452 @@ -799,7 +799,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 25 + src/animation/AnimationManager.js line 25 @@ -876,7 +876,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 52 + src/animation/AnimationManager.js line 52 @@ -953,7 +953,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 486 + src/animation/AnimationManager.js line 486 @@ -1030,7 +1030,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 466 + src/animation/AnimationManager.js line 466 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 20 + src/animation/AnimationManager.js line 20 @@ -1191,7 +1191,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 46 + src/animation/AnimationManager.js line 46 @@ -1496,7 +1496,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 170 + src/animation/AnimationManager.js line 170 @@ -1605,7 +1605,7 @@

Source:
- src/animation/AnimationManager.js line 407 + src/animation/AnimationManager.js line 407 @@ -1739,7 +1739,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 374 + src/animation/AnimationManager.js line 374 @@ -1917,7 +1917,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 342 + src/animation/AnimationManager.js line 342 @@ -2191,7 +2191,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 253 + src/animation/AnimationManager.js line 253 @@ -2369,7 +2369,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 358 + src/animation/AnimationManager.js line 358 @@ -2453,7 +2453,7 @@

Source:
- src/animation/AnimationManager.js line 395 + src/animation/AnimationManager.js line 395 @@ -2648,7 +2648,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 299 + src/animation/AnimationManager.js line 299 @@ -2732,7 +2732,7 @@

Source:
- src/animation/AnimationManager.js line 318 + src/animation/AnimationManager.js line 318 @@ -2946,7 +2946,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 219 + src/animation/AnimationManager.js line 219 @@ -3013,9 +3013,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3032,7 +3032,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3061,7 +3061,7 @@
Returns:
- + diff --git a/docs/Phaser.AnimationParser.html b/docs/Phaser.AnimationParser.html index 7a9017545..d300d320d 100644 --- a/docs/Phaser.AnimationParser.html +++ b/docs/Phaser.AnimationParser.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationParser - + @@ -180,7 +180,7 @@

Source:
- src/animation/AnimationParser.js line 13 + src/animation/AnimationParser.js line 13 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 114 + src/animation/AnimationParser.js line 114 @@ -538,7 +538,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 230 + src/animation/AnimationParser.js line 230 @@ -720,7 +720,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 173 + src/animation/AnimationParser.js line 173 @@ -1165,7 +1165,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 15 + src/animation/AnimationParser.js line 15 @@ -1347,7 +1347,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 292 + src/animation/AnimationParser.js line 292 @@ -1414,9 +1414,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1433,7 +1433,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1462,7 +1462,7 @@
Returns:
- + diff --git a/docs/Phaser.ArraySet.html b/docs/Phaser.ArraySet.html index d7a0a8c89..1b97df199 100644 --- a/docs/Phaser.ArraySet.html +++ b/docs/Phaser.ArraySet.html @@ -6,7 +6,7 @@ Phaser CE Class: ArraySet - + @@ -253,7 +253,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 19 + src/utils/ArraySet.js line 19 @@ -358,7 +358,7 @@
Type:
Source:
- src/utils/ArraySet.js line 231 + src/utils/ArraySet.js line 231 @@ -435,7 +435,7 @@
Type:
Source:
- src/utils/ArraySet.js line 32 + src/utils/ArraySet.js line 32 @@ -512,7 +512,7 @@
Type:
Source:
- src/utils/ArraySet.js line 256 + src/utils/ArraySet.js line 256 @@ -589,7 +589,7 @@
Type:
Source:
- src/utils/ArraySet.js line 26 + src/utils/ArraySet.js line 26 @@ -666,7 +666,7 @@
Type:
Source:
- src/utils/ArraySet.js line 217 + src/utils/ArraySet.js line 217 @@ -795,7 +795,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 38 + src/utils/ArraySet.js line 38 @@ -999,7 +999,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 159 + src/utils/ArraySet.js line 159 @@ -1133,7 +1133,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 95 + src/utils/ArraySet.js line 95 @@ -1316,7 +1316,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 70 + src/utils/ArraySet.js line 70 @@ -1474,7 +1474,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 57 + src/utils/ArraySet.js line 57 @@ -1632,7 +1632,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 119 + src/utils/ArraySet.js line 119 @@ -1810,7 +1810,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 185 + src/utils/ArraySet.js line 185 @@ -1894,7 +1894,7 @@

Source:
- src/utils/ArraySet.js line 108 + src/utils/ArraySet.js line 108 @@ -2052,7 +2052,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 138 + src/utils/ArraySet.js line 138 @@ -2095,9 +2095,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2114,7 +2114,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2143,7 +2143,7 @@
Parameters:
- + diff --git a/docs/Phaser.ArrayUtils.html b/docs/Phaser.ArrayUtils.html index be0c97a13..5d7b8f325 100644 --- a/docs/Phaser.ArrayUtils.html +++ b/docs/Phaser.ArrayUtils.html @@ -6,7 +6,7 @@ Phaser CE Class: ArrayUtils - + @@ -180,7 +180,7 @@

Source:
- src/utils/ArrayUtils.js line 13 + src/utils/ArrayUtils.js line 13 @@ -357,7 +357,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 197 + src/utils/ArrayUtils.js line 197 @@ -565,7 +565,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 15 + src/utils/ArrayUtils.js line 15 @@ -772,7 +772,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 296 + src/utils/ArrayUtils.js line 273 @@ -1028,7 +1028,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 334 + src/utils/ArrayUtils.js line 311 @@ -1302,7 +1302,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 73 + src/utils/ArrayUtils.js line 73 @@ -1519,7 +1519,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 39 + src/utils/ArrayUtils.js line 39 @@ -1567,177 +1567,6 @@
Returns:
-
- - - -
-

- <static> rotate(array) - deprecated -

- -
-
- - -
-

Moves the element from the start of the array to the end, shifting all items in the process. -The "rotation" happens to the left.

-

Before: [ A, B, C, D, E, F ] -After: [ B, C, D, E, F, A ]

-

See also Phaser.ArrayUtils.rotateRight

-
- - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
array - - -Array.<any> - - - - -

The array to rotate. The array is modified.

- - - - -
- - - - - - - - - - - - - - - - - -
Deprecated:
- -
-
    -
  • Please use Phaser.ArrayUtils.rotateLeft instead.
  • -
-
- - - - - - - - - - - - - - -
Source:
-
- - src/utils/ArrayUtils.js line 273 - - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

The rotated value.

-
- - - -
-
- Type -
-
- -any - - - -
-
- - - - -
@@ -1852,7 +1681,7 @@

Parameters:
Source:
- src/utils/ArrayUtils.js line 251 + src/utils/ArrayUtils.js line 251 @@ -2038,7 +1867,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 156 + src/utils/ArrayUtils.js line 156 @@ -2200,7 +2029,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 229 + src/utils/ArrayUtils.js line 229 @@ -2358,7 +2187,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 107 + src/utils/ArrayUtils.js line 107 @@ -2516,7 +2345,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 128 + src/utils/ArrayUtils.js line 128 @@ -2583,9 +2412,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2602,7 +2431,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2631,7 +2460,7 @@
Returns:
- + diff --git a/docs/Phaser.AudioSprite.html b/docs/Phaser.AudioSprite.html index fce63f96e..c2689380d 100644 --- a/docs/Phaser.AudioSprite.html +++ b/docs/Phaser.AudioSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: AudioSprite - + @@ -255,7 +255,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 17 + src/sound/AudioSprite.js line 17 @@ -360,7 +360,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 48 + src/sound/AudioSprite.js line 48 @@ -437,7 +437,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 41 + src/sound/AudioSprite.js line 41 @@ -514,7 +514,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 35 + src/sound/AudioSprite.js line 35 @@ -591,7 +591,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 23 + src/sound/AudioSprite.js line 23 @@ -668,7 +668,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 29 + src/sound/AudioSprite.js line 29 @@ -745,7 +745,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 54 + src/sound/AudioSprite.js line 54 @@ -873,7 +873,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 115 + src/sound/AudioSprite.js line 115 @@ -1089,7 +1089,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 77 + src/sound/AudioSprite.js line 77 @@ -1267,7 +1267,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 93 + src/sound/AudioSprite.js line 93 @@ -1310,9 +1310,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1329,7 +1329,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1358,7 +1358,7 @@
Parameters:
- + diff --git a/docs/Phaser.BitmapData.html b/docs/Phaser.BitmapData.html index 495424461..d11088465 100644 --- a/docs/Phaser.BitmapData.html +++ b/docs/Phaser.BitmapData.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapData - + @@ -407,7 +407,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 24 + src/gameobjects/BitmapData.js line 24 @@ -512,7 +512,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 124 + src/gameobjects/BitmapData.js line 124 @@ -589,7 +589,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 54 + src/gameobjects/BitmapData.js line 54 @@ -666,7 +666,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 60 + src/gameobjects/BitmapData.js line 60 @@ -743,7 +743,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 65 + src/gameobjects/BitmapData.js line 65 @@ -821,7 +821,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 84 + src/gameobjects/BitmapData.js line 84 @@ -898,7 +898,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 159 + src/gameobjects/BitmapData.js line 159 @@ -975,7 +975,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 154 + src/gameobjects/BitmapData.js line 154 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 135 + src/gameobjects/BitmapData.js line 135 @@ -1129,7 +1129,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 33 + src/gameobjects/BitmapData.js line 33 @@ -1206,7 +1206,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 48 + src/gameobjects/BitmapData.js line 48 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 77 + src/gameobjects/BitmapData.js line 77 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 38 + src/gameobjects/BitmapData.js line 38 @@ -1439,7 +1439,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 94 + src/gameobjects/BitmapData.js line 94 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 70 + src/gameobjects/BitmapData.js line 70 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 130 + src/gameobjects/BitmapData.js line 130 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 141 + src/gameobjects/BitmapData.js line 141 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 149 + src/gameobjects/BitmapData.js line 149 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 43 + src/gameobjects/BitmapData.js line 43 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2531 + src/gameobjects/BitmapData.js line 2531 @@ -2240,7 +2240,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 393 + src/gameobjects/BitmapData.js line 393 @@ -2618,7 +2618,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1217 + src/gameobjects/BitmapData.js line 1217 @@ -2924,7 +2924,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1776 + src/gameobjects/BitmapData.js line 1776 @@ -3032,7 +3032,7 @@

Source:
- src/gameobjects/BitmapData.js line 2256 + src/gameobjects/BitmapData.js line 2256 @@ -3140,7 +3140,7 @@

Source:
- src/gameobjects/BitmapData.js line 2438 + src/gameobjects/BitmapData.js line 2438 @@ -3248,7 +3248,7 @@

Source:
- src/gameobjects/BitmapData.js line 2347 + src/gameobjects/BitmapData.js line 2347 @@ -3356,7 +3356,7 @@

Source:
- src/gameobjects/BitmapData.js line 2334 + src/gameobjects/BitmapData.js line 2334 @@ -3464,7 +3464,7 @@

Source:
- src/gameobjects/BitmapData.js line 2308 + src/gameobjects/BitmapData.js line 2308 @@ -3572,7 +3572,7 @@

Source:
- src/gameobjects/BitmapData.js line 2230 + src/gameobjects/BitmapData.js line 2230 @@ -3680,7 +3680,7 @@

Source:
- src/gameobjects/BitmapData.js line 2204 + src/gameobjects/BitmapData.js line 2204 @@ -3788,7 +3788,7 @@

Source:
- src/gameobjects/BitmapData.js line 2217 + src/gameobjects/BitmapData.js line 2217 @@ -3896,7 +3896,7 @@

Source:
- src/gameobjects/BitmapData.js line 2191 + src/gameobjects/BitmapData.js line 2191 @@ -4004,7 +4004,7 @@

Source:
- src/gameobjects/BitmapData.js line 2386 + src/gameobjects/BitmapData.js line 2386 @@ -4112,7 +4112,7 @@

Source:
- src/gameobjects/BitmapData.js line 2399 + src/gameobjects/BitmapData.js line 2399 @@ -4220,7 +4220,7 @@

Source:
- src/gameobjects/BitmapData.js line 2360 + src/gameobjects/BitmapData.js line 2360 @@ -4328,7 +4328,7 @@

Source:
- src/gameobjects/BitmapData.js line 2412 + src/gameobjects/BitmapData.js line 2412 @@ -4436,7 +4436,7 @@

Source:
- src/gameobjects/BitmapData.js line 2321 + src/gameobjects/BitmapData.js line 2321 @@ -4544,7 +4544,7 @@

Source:
- src/gameobjects/BitmapData.js line 2451 + src/gameobjects/BitmapData.js line 2451 @@ -4652,7 +4652,7 @@

Source:
- src/gameobjects/BitmapData.js line 2269 + src/gameobjects/BitmapData.js line 2269 @@ -4760,7 +4760,7 @@

Source:
- src/gameobjects/BitmapData.js line 2295 + src/gameobjects/BitmapData.js line 2295 @@ -4868,7 +4868,7 @@

Source:
- src/gameobjects/BitmapData.js line 2126 + src/gameobjects/BitmapData.js line 2126 @@ -4976,7 +4976,7 @@

Source:
- src/gameobjects/BitmapData.js line 2425 + src/gameobjects/BitmapData.js line 2425 @@ -5084,7 +5084,7 @@

Source:
- src/gameobjects/BitmapData.js line 2282 + src/gameobjects/BitmapData.js line 2282 @@ -5192,7 +5192,7 @@

Source:
- src/gameobjects/BitmapData.js line 2373 + src/gameobjects/BitmapData.js line 2373 @@ -5300,7 +5300,7 @@

Source:
- src/gameobjects/BitmapData.js line 2178 + src/gameobjects/BitmapData.js line 2178 @@ -5408,7 +5408,7 @@

Source:
- src/gameobjects/BitmapData.js line 2152 + src/gameobjects/BitmapData.js line 2152 @@ -5516,7 +5516,7 @@

Source:
- src/gameobjects/BitmapData.js line 2165 + src/gameobjects/BitmapData.js line 2165 @@ -5624,7 +5624,7 @@

Source:
- src/gameobjects/BitmapData.js line 2139 + src/gameobjects/BitmapData.js line 2139 @@ -5732,7 +5732,7 @@

Source:
- src/gameobjects/BitmapData.js line 2243 + src/gameobjects/BitmapData.js line 2243 @@ -5998,7 +5998,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1929 + src/gameobjects/BitmapData.js line 1929 @@ -6296,7 +6296,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 463 + src/gameobjects/BitmapData.js line 463 @@ -6404,7 +6404,7 @@

Source:
- src/gameobjects/BitmapData.js line 457 + src/gameobjects/BitmapData.js line 457 @@ -7212,7 +7212,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1243 + src/gameobjects/BitmapData.js line 1243 @@ -7453,7 +7453,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2464 + src/gameobjects/BitmapData.js line 2464 @@ -7873,7 +7873,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1572 + src/gameobjects/BitmapData.js line 1572 @@ -8144,7 +8144,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1464 + src/gameobjects/BitmapData.js line 1464 @@ -8252,7 +8252,7 @@

Source:
- src/gameobjects/BitmapData.js line 2111 + src/gameobjects/BitmapData.js line 2111 @@ -8653,7 +8653,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1591 + src/gameobjects/BitmapData.js line 1591 @@ -8931,7 +8931,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1686 + src/gameobjects/BitmapData.js line 1686 @@ -9192,7 +9192,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1619 + src/gameobjects/BitmapData.js line 1619 @@ -9675,7 +9675,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1810 + src/gameobjects/BitmapData.js line 1810 @@ -9961,7 +9961,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 494 + src/gameobjects/BitmapData.js line 494 @@ -10209,7 +10209,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 516 + src/gameobjects/BitmapData.js line 516 @@ -10383,7 +10383,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1189 + src/gameobjects/BitmapData.js line 1189 @@ -10567,7 +10567,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1106 + src/gameobjects/BitmapData.js line 1106 @@ -10803,7 +10803,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1023 + src/gameobjects/BitmapData.js line 1023 @@ -10988,7 +10988,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1054 + src/gameobjects/BitmapData.js line 1054 @@ -11318,7 +11318,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1074 + src/gameobjects/BitmapData.js line 1074 @@ -11476,7 +11476,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1093 + src/gameobjects/BitmapData.js line 1093 @@ -11838,7 +11838,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1958 + src/gameobjects/BitmapData.js line 1958 @@ -12017,7 +12017,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 422 + src/gameobjects/BitmapData.js line 422 @@ -12268,7 +12268,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 240 + src/gameobjects/BitmapData.js line 240 @@ -12483,7 +12483,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 267 + src/gameobjects/BitmapData.js line 267 @@ -12698,7 +12698,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 330 + src/gameobjects/BitmapData.js line 330 @@ -13002,7 +13002,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1992 + src/gameobjects/BitmapData.js line 1992 @@ -13372,7 +13372,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 738 + src/gameobjects/BitmapData.js line 738 @@ -13745,7 +13745,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 680 + src/gameobjects/BitmapData.js line 680 @@ -14043,7 +14043,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1863 + src/gameobjects/BitmapData.js line 1863 @@ -14153,7 +14153,7 @@

Source:
- src/gameobjects/BitmapData.js line 2091 + src/gameobjects/BitmapData.js line 2091 @@ -14580,7 +14580,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 792 + src/gameobjects/BitmapData.js line 792 @@ -14762,7 +14762,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 590 + src/gameobjects/BitmapData.js line 590 @@ -15058,7 +15058,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 842 + src/gameobjects/BitmapData.js line 842 @@ -15416,7 +15416,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1005 + src/gameobjects/BitmapData.js line 1005 @@ -15810,7 +15810,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 966 + src/gameobjects/BitmapData.js line 966 @@ -16106,7 +16106,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1744 + src/gameobjects/BitmapData.js line 1744 @@ -16404,7 +16404,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 903 + src/gameobjects/BitmapData.js line 903 @@ -16772,7 +16772,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1887 + src/gameobjects/BitmapData.js line 1887 @@ -17025,7 +17025,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2041 + src/gameobjects/BitmapData.js line 2041 @@ -17326,7 +17326,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 634 + src/gameobjects/BitmapData.js line 634 @@ -17393,9 +17393,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -17412,7 +17412,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -17441,7 +17441,7 @@
Returns:
- + diff --git a/docs/Phaser.BitmapText.html b/docs/Phaser.BitmapText.html index 213d64f27..248bf2adc 100644 --- a/docs/Phaser.BitmapText.html +++ b/docs/Phaser.BitmapText.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapText - + @@ -489,7 +489,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 54 + src/gameobjects/BitmapText.js line 54 @@ -627,7 +627,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 536 + src/gameobjects/BitmapText.js line 536 @@ -724,7 +724,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -820,7 +820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -897,7 +897,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 92 + src/gameobjects/BitmapText.js line 92 @@ -988,7 +988,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1075,7 +1075,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1542,7 +1542,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1894,7 +1894,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1980,7 +1980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2162,7 +2162,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2249,7 +2249,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2326,7 +2326,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 153 + src/gameobjects/BitmapText.js line 153 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2511,7 +2511,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2688,7 +2688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 580 + src/gameobjects/BitmapText.js line 580 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 603 + src/gameobjects/BitmapText.js line 603 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3204,7 +3204,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3292,7 +3292,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3379,7 +3379,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3470,7 +3470,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3563,7 +3563,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3649,7 +3649,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -3751,7 +3751,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3838,7 +3838,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3928,7 +3928,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4017,7 +4017,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4098,7 +4098,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 649 + src/gameobjects/BitmapText.js line 649 @@ -4185,7 +4185,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4273,7 +4273,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4361,7 +4361,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4447,7 +4447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4534,7 +4534,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4623,7 +4623,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4712,7 +4712,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4789,7 +4789,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 75 + src/gameobjects/BitmapText.js line 75 @@ -4876,7 +4876,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4964,7 +4964,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5050,7 +5050,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5136,7 +5136,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5223,7 +5223,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5310,7 +5310,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5397,7 +5397,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5486,7 +5486,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5575,7 +5575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5654,7 +5654,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 682 + src/gameobjects/BitmapText.js line 682 @@ -5731,7 +5731,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 627 + src/gameobjects/BitmapText.js line 627 @@ -5808,7 +5808,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 87 + src/gameobjects/BitmapText.js line 87 @@ -5885,7 +5885,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 81 + src/gameobjects/BitmapText.js line 81 @@ -5962,7 +5962,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 558 + src/gameobjects/BitmapText.js line 558 @@ -6049,7 +6049,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6126,7 +6126,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 69 + src/gameobjects/BitmapText.js line 69 @@ -6224,7 +6224,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6312,7 +6312,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6404,7 +6404,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6495,7 +6495,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6586,7 +6586,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6677,7 +6677,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6768,7 +6768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6854,7 +6854,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6946,7 +6946,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7038,7 +7038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7127,7 +7127,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7264,7 +7264,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7455,7 +7455,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7798,7 +7798,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8142,7 +8142,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8358,7 +8358,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 312 + src/gameobjects/BitmapText.js line 312 @@ -8525,7 +8525,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8645,7 +8645,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -8890,7 +8890,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -9074,7 +9074,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -9241,7 +9241,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9408,7 +9408,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9525,7 +9525,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -9646,7 +9646,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -9759,7 +9759,7 @@

Source:
- src/gameobjects/BitmapText.js line 198 + src/gameobjects/BitmapText.js line 198 @@ -9848,7 +9848,7 @@

Source:
- src/gameobjects/BitmapText.js line 187 + src/gameobjects/BitmapText.js line 187 @@ -9965,7 +9965,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -10054,7 +10054,7 @@

Source:
- src/gameobjects/BitmapText.js line 478 + src/gameobjects/BitmapText.js line 478 @@ -10221,7 +10221,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -10388,7 +10388,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -10579,7 +10579,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -10818,7 +10818,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11007,7 +11007,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -11198,7 +11198,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -11333,7 +11333,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 217 + src/gameobjects/BitmapText.js line 217 @@ -11500,7 +11500,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -11643,7 +11643,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -11856,7 +11856,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -11977,7 +11977,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -12070,7 +12070,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -12139,9 +12139,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -12158,7 +12158,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -12187,7 +12187,7 @@
Returns:
- + diff --git a/docs/Phaser.Bullet.html b/docs/Phaser.Bullet.html index 7323387e7..8c84a02d7 100644 --- a/docs/Phaser.Bullet.html +++ b/docs/Phaser.Bullet.html @@ -6,7 +6,7 @@ Phaser CE Class: Bullet - + @@ -339,7 +339,7 @@
Parameters:
Source:
- src/plugins/weapon/Bullet.js line 20 + src/plugins/weapon/Bullet.js line 20 @@ -480,7 +480,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -576,7 +576,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -666,7 +666,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -757,7 +757,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -844,7 +844,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1757,7 +1757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1843,7 +1843,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1931,7 +1931,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2032,7 +2032,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2118,7 +2118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2292,7 +2292,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2378,7 +2378,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2465,7 +2465,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2552,7 +2552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2657,7 +2657,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2743,7 +2743,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2927,7 +2927,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3018,7 +3018,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3109,7 +3109,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3376,7 +3376,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3472,7 +3472,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3560,7 +3560,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3647,7 +3647,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3738,7 +3738,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3831,7 +3831,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3917,7 +3917,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4019,7 +4019,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4106,7 +4106,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4196,7 +4196,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4285,7 +4285,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4379,7 +4379,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4466,7 +4466,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4554,7 +4554,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4642,7 +4642,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4728,7 +4728,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4815,7 +4815,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4904,7 +4904,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4993,7 +4993,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5166,7 +5166,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5254,7 +5254,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5513,7 +5513,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5600,7 +5600,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5687,7 +5687,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5781,7 +5781,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5870,7 +5870,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5958,7 +5958,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6046,7 +6046,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6140,7 +6140,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6228,7 +6228,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6314,7 +6314,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6340,7 +6340,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -6407,7 +6407,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6500,7 +6500,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6587,7 +6587,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6673,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6845,7 +6845,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -6948,7 +6948,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7036,7 +7036,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7128,7 +7128,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7219,7 +7219,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7310,7 +7310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7401,7 +7401,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7492,7 +7492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7578,7 +7578,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7665,7 +7665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7752,7 +7752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7841,7 +7841,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7978,7 +7978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8169,7 +8169,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8512,7 +8512,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8856,7 +8856,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8976,7 +8976,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9143,7 +9143,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9369,7 +9369,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9513,7 +9513,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9632,7 +9632,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9877,7 +9877,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10053,7 +10053,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10220,7 +10220,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10387,7 +10387,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10504,7 +10504,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10671,7 +10671,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10785,7 +10785,7 @@

Source:
- src/plugins/weapon/Bullet.js line 41 + src/plugins/weapon/Bullet.js line 41 @@ -11046,7 +11046,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11142,7 +11142,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11262,7 +11262,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11445,7 +11445,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11751,7 +11751,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11868,7 +11868,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -11961,7 +11961,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -12078,7 +12078,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12221,7 +12221,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12388,7 +12388,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12579,7 +12579,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12818,7 +12818,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -12935,7 +12935,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13128,7 +13128,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13293,7 +13293,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -13413,7 +13413,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13604,7 +13604,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13748,7 +13748,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -13892,7 +13892,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14153,7 +14153,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14353,7 +14353,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14520,7 +14520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14663,7 +14663,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14876,7 +14876,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -14991,7 +14991,7 @@

Source:
- src/plugins/weapon/Bullet.js line 60 + src/plugins/weapon/Bullet.js line 60 @@ -15084,7 +15084,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15204,7 +15204,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15367,7 +15367,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15436,9 +15436,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -15455,7 +15455,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -15484,7 +15484,7 @@
Returns:
- + diff --git a/docs/Phaser.Button.html b/docs/Phaser.Button.html index db242c1a7..92a347066 100644 --- a/docs/Phaser.Button.html +++ b/docs/Phaser.Button.html @@ -6,7 +6,7 @@ Phaser CE Class: Button - + @@ -613,7 +613,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 35 + src/gameobjects/Button.js line 35 @@ -749,7 +749,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -845,7 +845,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -935,7 +935,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1113,7 +1113,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1210,7 +1210,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1304,7 +1304,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1484,7 +1484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1658,7 +1658,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1831,7 +1831,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2005,7 +2005,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2101,7 +2101,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2187,7 +2187,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2274,7 +2274,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2361,7 +2361,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2461,7 +2461,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2547,7 +2547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2638,7 +2638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2812,7 +2812,7 @@
Type:
Source:
- src/gameobjects/Button.js line 199 + src/gameobjects/Button.js line 199 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3004,7 +3004,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3081,7 +3081,7 @@
Type:
Source:
- src/gameobjects/Button.js line 189 + src/gameobjects/Button.js line 189 @@ -3168,7 +3168,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3254,7 +3254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3350,7 +3350,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3438,7 +3438,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3525,7 +3525,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3616,7 +3616,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3714,7 +3714,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3792,7 +3792,7 @@
Type:
Source:
- src/gameobjects/Button.js line 182 + src/gameobjects/Button.js line 182 @@ -3894,7 +3894,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3981,7 +3981,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4071,7 +4071,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4160,7 +4160,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4247,7 +4247,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4335,7 +4335,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4423,7 +4423,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4506,7 +4506,7 @@
Type:
Source:
- src/gameobjects/Button.js line 105 + src/gameobjects/Button.js line 105 @@ -4583,7 +4583,7 @@
Type:
Source:
- src/gameobjects/Button.js line 133 + src/gameobjects/Button.js line 133 @@ -4660,7 +4660,7 @@
Type:
Source:
- src/gameobjects/Button.js line 158 + src/gameobjects/Button.js line 158 @@ -4737,7 +4737,7 @@
Type:
Source:
- src/gameobjects/Button.js line 152 + src/gameobjects/Button.js line 152 @@ -4814,7 +4814,7 @@
Type:
Source:
- src/gameobjects/Button.js line 146 + src/gameobjects/Button.js line 146 @@ -4891,7 +4891,7 @@
Type:
Source:
- src/gameobjects/Button.js line 164 + src/gameobjects/Button.js line 164 @@ -4974,7 +4974,7 @@
Type:
Source:
- src/gameobjects/Button.js line 98 + src/gameobjects/Button.js line 98 @@ -5051,7 +5051,7 @@
Type:
Source:
- src/gameobjects/Button.js line 126 + src/gameobjects/Button.js line 126 @@ -5136,7 +5136,7 @@
Type:
Source:
- src/gameobjects/Button.js line 173 + src/gameobjects/Button.js line 173 @@ -5219,7 +5219,7 @@
Type:
Source:
- src/gameobjects/Button.js line 91 + src/gameobjects/Button.js line 91 @@ -5296,7 +5296,7 @@
Type:
Source:
- src/gameobjects/Button.js line 119 + src/gameobjects/Button.js line 119 @@ -5379,7 +5379,7 @@
Type:
Source:
- src/gameobjects/Button.js line 112 + src/gameobjects/Button.js line 112 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/gameobjects/Button.js line 140 + src/gameobjects/Button.js line 140 @@ -5545,7 +5545,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5634,7 +5634,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5711,7 +5711,7 @@
Type:
Source:
- src/gameobjects/Button.js line 56 + src/gameobjects/Button.js line 56 @@ -5798,7 +5798,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5886,7 +5886,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5972,7 +5972,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -6058,7 +6058,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -6145,7 +6145,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -6232,7 +6232,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -6319,7 +6319,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6408,7 +6408,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6497,7 +6497,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6585,7 +6585,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6673,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6767,7 +6767,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6855,7 +6855,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6967,7 +6967,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -7034,7 +7034,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7127,7 +7127,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7214,7 +7214,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7300,7 +7300,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7386,7 +7386,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7468,7 +7468,7 @@
Type:
Source:
- src/gameobjects/Button.js line 50 + src/gameobjects/Button.js line 50 @@ -7566,7 +7566,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7654,7 +7654,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7746,7 +7746,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7837,7 +7837,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7928,7 +7928,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -8019,7 +8019,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -8110,7 +8110,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -8196,7 +8196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8283,7 +8283,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -8370,7 +8370,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -8459,7 +8459,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8596,7 +8596,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8787,7 +8787,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -9130,7 +9130,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9474,7 +9474,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9594,7 +9594,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9702,7 +9702,7 @@

Source:
- src/gameobjects/Button.js line 231 + src/gameobjects/Button.js line 231 @@ -9845,7 +9845,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10071,7 +10071,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10166,7 +10166,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -10411,7 +10411,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10587,7 +10587,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10754,7 +10754,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10921,7 +10921,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11038,7 +11038,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -11159,7 +11159,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -11444,7 +11444,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11540,7 +11540,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11660,7 +11660,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11842,7 +11842,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 517 + src/gameobjects/Button.js line 517 @@ -12000,7 +12000,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 497 + src/gameobjects/Button.js line 497 @@ -12158,7 +12158,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 464 + src/gameobjects/Button.js line 464 @@ -12316,7 +12316,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 537 + src/gameobjects/Button.js line 537 @@ -12475,7 +12475,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12781,7 +12781,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12898,7 +12898,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12991,7 +12991,7 @@

Source:
- src/gameobjects/Image.js line 81 + src/gameobjects/Image.js line 81 @@ -13084,7 +13084,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -13227,7 +13227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13394,7 +13394,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13585,7 +13585,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13824,7 +13824,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13941,7 +13941,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -14134,7 +14134,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -14299,7 +14299,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -14419,7 +14419,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -14610,7 +14610,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14791,7 +14791,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 436 + src/gameobjects/Button.js line 436 @@ -14935,7 +14935,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -15196,7 +15196,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 306 + src/gameobjects/Button.js line 306 @@ -15377,7 +15377,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 422 + src/gameobjects/Button.js line 422 @@ -15558,7 +15558,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 408 + src/gameobjects/Button.js line 408 @@ -15795,7 +15795,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -16193,7 +16193,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 382 + src/gameobjects/Button.js line 382 @@ -16393,7 +16393,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -16574,7 +16574,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 450 + src/gameobjects/Button.js line 450 @@ -16741,7 +16741,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -16884,7 +16884,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -17097,7 +17097,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -17218,7 +17218,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -17311,7 +17311,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -17431,7 +17431,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -17594,7 +17594,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -17663,9 +17663,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -17682,7 +17682,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -17711,7 +17711,7 @@
Returns:
- + diff --git a/docs/Phaser.Cache.html b/docs/Phaser.Cache.html index 7b21c1212..c830b393d 100644 --- a/docs/Phaser.Cache.html +++ b/docs/Phaser.Cache.html @@ -6,7 +6,7 @@ Phaser CE Class: Cache - + @@ -245,7 +245,7 @@
Parameters:
Source:
- src/loader/Cache.js line 34 + src/loader/Cache.js line 34 @@ -346,7 +346,7 @@
Type:
Source:
- src/loader/Cache.js line 179 + src/loader/Cache.js line 179 @@ -419,7 +419,7 @@
Type:
Source:
- src/loader/Cache.js line 185 + src/loader/Cache.js line 185 @@ -492,7 +492,7 @@
Type:
Source:
- src/loader/Cache.js line 191 + src/loader/Cache.js line 191 @@ -565,7 +565,7 @@
Type:
Source:
- src/loader/Cache.js line 137 + src/loader/Cache.js line 137 @@ -642,7 +642,7 @@
Type:
Source:
- src/loader/Cache.js line 228 + src/loader/Cache.js line 228 @@ -719,7 +719,7 @@
Type:
Source:
- src/loader/Cache.js line 235 + src/loader/Cache.js line 235 @@ -796,7 +796,7 @@
Type:
Source:
- src/loader/Cache.js line 242 + src/loader/Cache.js line 242 @@ -869,7 +869,7 @@
Type:
Source:
- src/loader/Cache.js line 143 + src/loader/Cache.js line 143 @@ -942,7 +942,7 @@
Type:
Source:
- src/loader/Cache.js line 197 + src/loader/Cache.js line 197 @@ -1019,7 +1019,7 @@
Type:
Source:
- src/loader/Cache.js line 249 + src/loader/Cache.js line 249 @@ -1096,7 +1096,7 @@
Type:
Source:
- src/loader/Cache.js line 256 + src/loader/Cache.js line 256 @@ -1173,7 +1173,7 @@
Type:
Source:
- src/loader/Cache.js line 263 + src/loader/Cache.js line 263 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/loader/Cache.js line 167 + src/loader/Cache.js line 167 @@ -1330,7 +1330,7 @@
Type:
Source:
- src/loader/Cache.js line 271 + src/loader/Cache.js line 271 @@ -1403,7 +1403,7 @@
Type:
Source:
- src/loader/Cache.js line 221 + src/loader/Cache.js line 221 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/loader/Cache.js line 215 + src/loader/Cache.js line 215 @@ -1549,7 +1549,7 @@
Type:
Source:
- src/loader/Cache.js line 155 + src/loader/Cache.js line 155 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/loader/Cache.js line 161 + src/loader/Cache.js line 161 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/loader/Cache.js line 149 + src/loader/Cache.js line 149 @@ -1768,7 +1768,7 @@
Type:
Source:
- src/loader/Cache.js line 173 + src/loader/Cache.js line 173 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/loader/Cache.js line 209 + src/loader/Cache.js line 209 @@ -1914,7 +1914,7 @@
Type:
Source:
- src/loader/Cache.js line 203 + src/loader/Cache.js line 203 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/loader/Cache.js line 45 + src/loader/Cache.js line 45 @@ -2068,7 +2068,7 @@
Type:
Source:
- src/loader/Cache.js line 39 + src/loader/Cache.js line 39 @@ -2145,7 +2145,7 @@
Type:
Source:
- src/loader/Cache.js line 127 + src/loader/Cache.js line 127 @@ -2222,7 +2222,7 @@
Type:
Source:
- src/loader/Cache.js line 92 + src/loader/Cache.js line 92 @@ -2374,7 +2374,7 @@
Parameters:
Source:
- src/loader/Cache.js line 532 + src/loader/Cache.js line 532 @@ -2603,7 +2603,7 @@
Parameters:
Source:
- src/loader/Cache.js line 545 + src/loader/Cache.js line 545 @@ -3005,7 +3005,7 @@
Parameters:
Source:
- src/loader/Cache.js line 570 + src/loader/Cache.js line 570 @@ -3388,7 +3388,7 @@
Parameters:
Source:
- src/loader/Cache.js line 609 + src/loader/Cache.js line 609 @@ -3598,7 +3598,7 @@
Parameters:
Source:
- src/loader/Cache.js line 319 + src/loader/Cache.js line 319 @@ -3685,7 +3685,7 @@

Source:
- src/loader/Cache.js line 407 + src/loader/Cache.js line 407 @@ -3869,7 +3869,7 @@
Parameters:
Source:
- src/loader/Cache.js line 335 + src/loader/Cache.js line 335 @@ -4075,7 +4075,7 @@
Parameters:
Source:
- src/loader/Cache.js line 664 + src/loader/Cache.js line 664 @@ -4162,7 +4162,7 @@

Source:
- src/loader/Cache.js line 428 + src/loader/Cache.js line 428 @@ -4368,7 +4368,7 @@
Parameters:
Source:
- src/loader/Cache.js line 498 + src/loader/Cache.js line 498 @@ -4526,7 +4526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 729 + src/loader/Cache.js line 729 @@ -4708,7 +4708,7 @@
Parameters:
Source:
- src/loader/Cache.js line 713 + src/loader/Cache.js line 713 @@ -4938,7 +4938,7 @@
Parameters:
Source:
- src/loader/Cache.js line 446 + src/loader/Cache.js line 446 @@ -5392,7 +5392,7 @@
Parameters:
Source:
- src/loader/Cache.js line 742 + src/loader/Cache.js line 742 @@ -5574,7 +5574,7 @@
Parameters:
Source:
- src/loader/Cache.js line 482 + src/loader/Cache.js line 482 @@ -5804,7 +5804,7 @@
Parameters:
Source:
- src/loader/Cache.js line 780 + src/loader/Cache.js line 780 @@ -6010,7 +6010,7 @@
Parameters:
Source:
- src/loader/Cache.js line 515 + src/loader/Cache.js line 515 @@ -6216,7 +6216,7 @@
Parameters:
Source:
- src/loader/Cache.js line 696 + src/loader/Cache.js line 696 @@ -6398,7 +6398,7 @@
Parameters:
Source:
- src/loader/Cache.js line 680 + src/loader/Cache.js line 680 @@ -6532,7 +6532,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1079 + src/loader/Cache.js line 1079 @@ -6690,7 +6690,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1092 + src/loader/Cache.js line 1092 @@ -6848,7 +6848,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1105 + src/loader/Cache.js line 1105 @@ -7006,7 +7006,7 @@
Parameters:
Source:
- src/loader/Cache.js line 988 + src/loader/Cache.js line 988 @@ -7164,7 +7164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1001 + src/loader/Cache.js line 1001 @@ -7322,7 +7322,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1118 + src/loader/Cache.js line 1118 @@ -7504,7 +7504,7 @@
Parameters:
Source:
- src/loader/Cache.js line 948 + src/loader/Cache.js line 948 @@ -7662,7 +7662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1053 + src/loader/Cache.js line 1053 @@ -7820,7 +7820,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1170 + src/loader/Cache.js line 1170 @@ -7978,7 +7978,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1157 + src/loader/Cache.js line 1157 @@ -8136,7 +8136,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1027 + src/loader/Cache.js line 1027 @@ -8294,7 +8294,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1040 + src/loader/Cache.js line 1040 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1014 + src/loader/Cache.js line 1014 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1066 + src/loader/Cache.js line 1066 @@ -8771,7 +8771,7 @@
Parameters:
Source:
- src/loader/Cache.js line 967 + src/loader/Cache.js line 967 @@ -8929,7 +8929,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1144 + src/loader/Cache.js line 1144 @@ -9087,7 +9087,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1131 + src/loader/Cache.js line 1131 @@ -9196,7 +9196,7 @@

Source:
- src/loader/Cache.js line 2061 + src/loader/Cache.js line 2061 @@ -9354,7 +9354,7 @@
Parameters:
Source:
- src/loader/Cache.js line 890 + src/loader/Cache.js line 890 @@ -9441,7 +9441,7 @@

Source:
- src/loader/Cache.js line 2111 + src/loader/Cache.js line 2111 @@ -9571,7 +9571,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2142 + src/loader/Cache.js line 2142 @@ -9761,7 +9761,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1590 + src/loader/Cache.js line 1590 @@ -9921,7 +9921,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1430 + src/loader/Cache.js line 1430 @@ -10081,7 +10081,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1447 + src/loader/Cache.js line 1447 @@ -10241,7 +10241,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1464 + src/loader/Cache.js line 1464 @@ -10401,7 +10401,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1225 + src/loader/Cache.js line 1225 @@ -10615,7 +10615,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1606 + src/loader/Cache.js line 1606 @@ -10865,7 +10865,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1700 + src/loader/Cache.js line 1700 @@ -11115,7 +11115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1724 + src/loader/Cache.js line 1724 @@ -11329,7 +11329,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1622 + src/loader/Cache.js line 1622 @@ -11545,7 +11545,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1645 + src/loader/Cache.js line 1645 @@ -11765,7 +11765,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1242 + src/loader/Cache.js line 1242 @@ -12035,7 +12035,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1187 + src/loader/Cache.js line 1187 @@ -12253,7 +12253,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1481 + src/loader/Cache.js line 1481 @@ -12431,7 +12431,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1773 + src/loader/Cache.js line 1773 @@ -12684,7 +12684,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1351 + src/loader/Cache.js line 1351 @@ -12844,7 +12844,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1569 + src/loader/Cache.js line 1569 @@ -13004,7 +13004,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1552 + src/loader/Cache.js line 1552 @@ -13164,7 +13164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1300 + src/loader/Cache.js line 1300 @@ -13324,7 +13324,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1317 + src/loader/Cache.js line 1317 @@ -13484,7 +13484,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1334 + src/loader/Cache.js line 1334 @@ -13643,7 +13643,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1285 + src/loader/Cache.js line 1285 @@ -13803,7 +13803,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1413 + src/loader/Cache.js line 1413 @@ -13963,7 +13963,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1748 + src/loader/Cache.js line 1748 @@ -14123,7 +14123,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1535 + src/loader/Cache.js line 1535 @@ -14283,7 +14283,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1518 + src/loader/Cache.js line 1518 @@ -14497,7 +14497,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1665 + src/loader/Cache.js line 1665 @@ -14655,7 +14655,7 @@
Parameters:
Source:
- src/loader/Cache.js line 907 + src/loader/Cache.js line 907 @@ -14814,7 +14814,7 @@
Parameters:
Source:
- src/loader/Cache.js line 925 + src/loader/Cache.js line 925 @@ -14972,7 +14972,7 @@
Parameters:
Source:
- src/loader/Cache.js line 830 + src/loader/Cache.js line 830 @@ -15106,7 +15106,7 @@
Parameters:
Source:
- src/loader/Cache.js line 855 + src/loader/Cache.js line 855 @@ -15242,7 +15242,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1911 + src/loader/Cache.js line 1911 @@ -15378,7 +15378,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1926 + src/loader/Cache.js line 1926 @@ -15514,7 +15514,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1941 + src/loader/Cache.js line 1941 @@ -15650,7 +15650,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1805 + src/loader/Cache.js line 1805 @@ -15843,7 +15843,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1820 + src/loader/Cache.js line 1820 @@ -15979,7 +15979,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1956 + src/loader/Cache.js line 1956 @@ -16115,7 +16115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1881 + src/loader/Cache.js line 1881 @@ -16251,7 +16251,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2016 + src/loader/Cache.js line 2016 @@ -16387,7 +16387,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2001 + src/loader/Cache.js line 2001 @@ -16526,7 +16526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1847 + src/loader/Cache.js line 1847 @@ -16662,7 +16662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2031 + src/loader/Cache.js line 2031 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1866 + src/loader/Cache.js line 1866 @@ -16934,7 +16934,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2046 + src/loader/Cache.js line 2046 @@ -17070,7 +17070,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1896 + src/loader/Cache.js line 1896 @@ -17206,7 +17206,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1986 + src/loader/Cache.js line 1986 @@ -17342,7 +17342,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1971 + src/loader/Cache.js line 1971 @@ -17568,7 +17568,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1681 + src/loader/Cache.js line 1681 @@ -17702,7 +17702,7 @@
Parameters:
Source:
- src/loader/Cache.js line 873 + src/loader/Cache.js line 873 @@ -17745,9 +17745,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -17764,7 +17764,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -17793,7 +17793,7 @@
Parameters:
- + diff --git a/docs/Phaser.Camera.html b/docs/Phaser.Camera.html index 83da5fa8e..be6d3ae36 100644 --- a/docs/Phaser.Camera.html +++ b/docs/Phaser.Camera.html @@ -6,7 +6,7 @@ Phaser CE Class: Camera - + @@ -351,7 +351,7 @@
Parameters:
Source:
- src/core/Camera.js line 20 + src/core/Camera.js line 20 @@ -452,7 +452,7 @@
Type:
Source:
- src/core/Camera.js line 245 + src/core/Camera.js line 245 @@ -529,7 +529,7 @@
Type:
Source:
- src/core/Camera.js line 197 + src/core/Camera.js line 197 @@ -606,7 +606,7 @@
Type:
Source:
- src/core/Camera.js line 205 + src/core/Camera.js line 205 @@ -683,7 +683,7 @@
Type:
Source:
- src/core/Camera.js line 213 + src/core/Camera.js line 213 @@ -760,7 +760,7 @@
Type:
Source:
- src/core/Camera.js line 221 + src/core/Camera.js line 221 @@ -833,7 +833,7 @@
Type:
Source:
- src/core/Camera.js line 227 + src/core/Camera.js line 227 @@ -906,7 +906,7 @@
Type:
Source:
- src/core/Camera.js line 233 + src/core/Camera.js line 233 @@ -979,7 +979,7 @@
Type:
Source:
- src/core/Camera.js line 239 + src/core/Camera.js line 239 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/core/Camera.js line 76 + src/core/Camera.js line 76 @@ -1135,7 +1135,7 @@
Type:
Source:
- src/core/Camera.js line 54 + src/core/Camera.js line 54 @@ -1212,7 +1212,7 @@
Type:
Source:
- src/core/Camera.js line 59 + src/core/Camera.js line 59 @@ -1289,7 +1289,7 @@
Type:
Source:
- src/core/Camera.js line 87 + src/core/Camera.js line 87 @@ -1366,7 +1366,7 @@
Type:
Source:
- src/core/Camera.js line 962 + src/core/Camera.js line 962 @@ -1443,7 +1443,7 @@
Type:
Source:
- src/core/Camera.js line 135 + src/core/Camera.js line 135 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/core/Camera.js line 25 + src/core/Camera.js line 25 @@ -1597,7 +1597,7 @@
Type:
Source:
- src/core/Camera.js line 918 + src/core/Camera.js line 918 @@ -1674,7 +1674,7 @@
Type:
Source:
- src/core/Camera.js line 36 + src/core/Camera.js line 36 @@ -1755,7 +1755,7 @@
Type:
Source:
- src/core/Camera.js line 109 + src/core/Camera.js line 109 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/core/Camera.js line 128 + src/core/Camera.js line 128 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/core/Camera.js line 119 + src/core/Camera.js line 119 @@ -1989,7 +1989,7 @@
Type:
Source:
- src/core/Camera.js line 114 + src/core/Camera.js line 114 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/core/Camera.js line 869 + src/core/Camera.js line 869 @@ -2150,7 +2150,7 @@
Type:
Source:
- src/core/Camera.js line 71 + src/core/Camera.js line 71 @@ -2227,7 +2227,7 @@
Type:
Source:
- src/core/Camera.js line 92 + src/core/Camera.js line 92 @@ -2304,7 +2304,7 @@
Type:
Source:
- src/core/Camera.js line 940 + src/core/Camera.js line 940 @@ -2381,7 +2381,7 @@
Type:
Source:
- src/core/Camera.js line 82 + src/core/Camera.js line 82 @@ -2458,7 +2458,7 @@
Type:
Source:
- src/core/Camera.js line 98 + src/core/Camera.js line 98 @@ -2538,7 +2538,7 @@
Type:
Source:
- src/core/Camera.js line 45 + src/core/Camera.js line 45 @@ -2622,7 +2622,7 @@
Type:
Source:
- src/core/Camera.js line 65 + src/core/Camera.js line 65 @@ -2699,7 +2699,7 @@
Type:
Source:
- src/core/Camera.js line 897 + src/core/Camera.js line 897 @@ -2776,7 +2776,7 @@
Type:
Source:
- src/core/Camera.js line 30 + src/core/Camera.js line 30 @@ -2853,7 +2853,7 @@
Type:
Source:
- src/core/Camera.js line 819 + src/core/Camera.js line 819 @@ -2930,7 +2930,7 @@
Type:
Source:
- src/core/Camera.js line 844 + src/core/Camera.js line 844 @@ -3009,7 +3009,7 @@

Source:
- src/core/Camera.js line 675 + src/core/Camera.js line 675 @@ -3290,7 +3290,7 @@
Parameters:
Source:
- src/core/Camera.js line 457 + src/core/Camera.js line 457 @@ -3591,7 +3591,7 @@
Parameters:
Source:
- src/core/Camera.js line 415 + src/core/Camera.js line 415 @@ -3749,7 +3749,7 @@
Parameters:
Source:
- src/core/Camera.js line 349 + src/core/Camera.js line 349 @@ -3907,7 +3907,7 @@
Parameters:
Source:
- src/core/Camera.js line 360 + src/core/Camera.js line 360 @@ -4185,7 +4185,7 @@
Parameters:
Source:
- src/core/Camera.js line 283 + src/core/Camera.js line 283 @@ -4269,7 +4269,7 @@

Source:
- src/core/Camera.js line 272 + src/core/Camera.js line 272 @@ -4355,7 +4355,7 @@

Source:
- src/core/Camera.js line 775 + src/core/Camera.js line 775 @@ -4440,7 +4440,7 @@

Source:
- src/core/Camera.js line 797 + src/core/Camera.js line 797 @@ -4524,7 +4524,7 @@

Source:
- src/core/Camera.js line 661 + src/core/Camera.js line 661 @@ -4683,7 +4683,7 @@
Parameters:
Source:
- src/core/Camera.js line 741 + src/core/Camera.js line 741 @@ -4841,7 +4841,7 @@
Parameters:
Source:
- src/core/Camera.js line 761 + src/core/Camera.js line 761 @@ -5158,7 +5158,7 @@
Parameters:
Source:
- src/core/Camera.js line 372 + src/core/Camera.js line 372 @@ -5266,7 +5266,7 @@

Source:
- src/core/Camera.js line 338 + src/core/Camera.js line 338 @@ -5350,7 +5350,7 @@

Source:
- src/core/Camera.js line 504 + src/core/Camera.js line 504 @@ -5393,9 +5393,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -5412,7 +5412,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -5441,7 +5441,7 @@

- + diff --git a/docs/Phaser.Canvas.html b/docs/Phaser.Canvas.html index 5d5645dac..744b2e754 100644 --- a/docs/Phaser.Canvas.html +++ b/docs/Phaser.Canvas.html @@ -6,7 +6,7 @@ Phaser CE Class: Canvas - + @@ -135,7 +135,7 @@

-

The Canvas class handles everything related to creating the canvas DOM tag that Phaser will use, +

The Canvas class handles everything related to creating the canvas DOM tag that Phaser will use, including styles, offset and aspect ratio.

@@ -181,7 +181,7 @@

Source:
- src/utils/Canvas.js line 14 + src/utils/Canvas.js line 14 @@ -429,7 +429,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 109 + src/utils/Canvas.js line 109 @@ -763,7 +763,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 16 + src/utils/Canvas.js line 16 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 242 + src/utils/Canvas.js line 242 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 217 + src/utils/Canvas.js line 217 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 156 + src/utils/Canvas.js line 156 @@ -1430,7 +1430,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 47 + src/utils/Canvas.js line 47 @@ -1589,7 +1589,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 283 + src/utils/Canvas.js line 287 @@ -1652,7 +1652,9 @@

-

Sets the CSS image-rendering property on the given canvas to be 'crisp' (aka 'optimize contrast' on webkit). +

Sets the CSS image-rendering property to pixelated or crisp-edges. +This can remove blurring when the game canvas is scaled up. +In some browsers this has no visible effect in WEBGL mode. Note that if this doesn't given the desired result then see the setSmoothingEnabled.

@@ -1748,12 +1750,21 @@

Parameters:
Source:
- src/utils/Canvas.js line 260 + src/utils/Canvas.js line 260 +
See:
+
+ +
+

@@ -1934,7 +1945,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 192 + src/utils/Canvas.js line 192 @@ -2136,7 +2147,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 65 + src/utils/Canvas.js line 65 @@ -2438,7 +2449,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 171 + src/utils/Canvas.js line 171 @@ -2640,7 +2651,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 85 + src/utils/Canvas.js line 85 @@ -2707,9 +2718,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2726,7 +2737,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2755,7 +2766,7 @@
Returns:
- + diff --git a/docs/Phaser.CanvasPool.html b/docs/Phaser.CanvasPool.html index d5f49e1d3..d5507313a 100644 --- a/docs/Phaser.CanvasPool.html +++ b/docs/Phaser.CanvasPool.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasPool - + @@ -180,7 +180,7 @@

Source:
- src/utils/CanvasPool.js line 13 + src/utils/CanvasPool.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/utils/CanvasPool.js line 199 + src/utils/CanvasPool.js line 199 @@ -461,7 +461,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 15 + src/utils/CanvasPool.js line 15 @@ -569,7 +569,7 @@

Source:
- src/utils/CanvasPool.js line 58 + src/utils/CanvasPool.js line 58 @@ -673,7 +673,7 @@

Source:
- src/utils/CanvasPool.js line 153 + src/utils/CanvasPool.js line 153 @@ -781,7 +781,7 @@

Source:
- src/utils/CanvasPool.js line 129 + src/utils/CanvasPool.js line 129 @@ -889,7 +889,7 @@

Source:
- src/utils/CanvasPool.js line 178 + src/utils/CanvasPool.js line 178 @@ -1024,7 +1024,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 81 + src/utils/CanvasPool.js line 81 @@ -1159,7 +1159,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 105 + src/utils/CanvasPool.js line 105 @@ -1202,9 +1202,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1221,7 +1221,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1250,7 +1250,7 @@
Parameters:
- + diff --git a/docs/Phaser.Circle.html b/docs/Phaser.Circle.html index f3400a101..e284f8c8f 100644 --- a/docs/Phaser.Circle.html +++ b/docs/Phaser.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -331,7 +331,7 @@
Parameters:
Source:
- src/geom/Circle.js line 17 + src/geom/Circle.js line 17 @@ -436,7 +436,7 @@
Type:
Source:
- src/geom/Circle.js line 451 + src/geom/Circle.js line 451 @@ -513,7 +513,7 @@
Type:
Source:
- src/geom/Circle.js line 424 + src/geom/Circle.js line 424 @@ -590,7 +590,7 @@
Type:
Source:
- src/geom/Circle.js line 297 + src/geom/Circle.js line 297 @@ -668,7 +668,7 @@
Type:
Source:
- src/geom/Circle.js line 474 + src/geom/Circle.js line 474 @@ -734,7 +734,7 @@

Source:
- src/geom/Circle.js line 343 + src/geom/Circle.js line 343 @@ -811,7 +811,7 @@
Type:
Source:
- src/geom/Circle.js line 320 + src/geom/Circle.js line 320 @@ -888,7 +888,7 @@
Type:
Source:
- src/geom/Circle.js line 370 + src/geom/Circle.js line 370 @@ -965,7 +965,7 @@
Type:
Source:
- src/geom/Circle.js line 397 + src/geom/Circle.js line 397 @@ -1042,7 +1042,7 @@
Type:
Source:
- src/geom/Circle.js line 54 + src/geom/Circle.js line 54 @@ -1119,7 +1119,7 @@
Type:
Source:
- src/geom/Circle.js line 26 + src/geom/Circle.js line 26 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/geom/Circle.js line 31 + src/geom/Circle.js line 31 @@ -1454,7 +1454,7 @@
Parameters:
Source:
- src/geom/Circle.js line 549 + src/geom/Circle.js line 549 @@ -1660,7 +1660,7 @@
Parameters:
Source:
- src/geom/Circle.js line 497 + src/geom/Circle.js line 497 @@ -1842,7 +1842,7 @@
Parameters:
Source:
- src/geom/Circle.js line 522 + src/geom/Circle.js line 522 @@ -2025,7 +2025,7 @@
Parameters:
Source:
- src/geom/Circle.js line 535 + src/geom/Circle.js line 535 @@ -2259,7 +2259,7 @@
Parameters:
Source:
- src/geom/Circle.js line 615 + src/geom/Circle.js line 615 @@ -2441,7 +2441,7 @@
Parameters:
Source:
- src/geom/Circle.js line 575 + src/geom/Circle.js line 575 @@ -2549,7 +2549,7 @@

Source:
- src/geom/Circle.js line 60 + src/geom/Circle.js line 60 @@ -2801,7 +2801,7 @@
Parameters:
Source:
- src/geom/Circle.js line 205 + src/geom/Circle.js line 205 @@ -2959,7 +2959,7 @@
Parameters:
Source:
- src/geom/Circle.js line 171 + src/geom/Circle.js line 171 @@ -3141,7 +3141,7 @@
Parameters:
Source:
- src/geom/Circle.js line 192 + src/geom/Circle.js line 192 @@ -3299,7 +3299,7 @@
Parameters:
Source:
- src/geom/Circle.js line 128 + src/geom/Circle.js line 128 @@ -3457,7 +3457,7 @@
Parameters:
Source:
- src/geom/Circle.js line 140 + src/geom/Circle.js line 140 @@ -3672,7 +3672,7 @@
Parameters:
Source:
- src/geom/Circle.js line 156 + src/geom/Circle.js line 156 @@ -3780,7 +3780,7 @@

Source:
- src/geom/Circle.js line 97 + src/geom/Circle.js line 97 @@ -3962,7 +3962,7 @@
Parameters:
Source:
- src/geom/Circle.js line 258 + src/geom/Circle.js line 258 @@ -4120,7 +4120,7 @@
Parameters:
Source:
- src/geom/Circle.js line 274 + src/geom/Circle.js line 274 @@ -4294,7 +4294,7 @@
Parameters:
Source:
- src/geom/Circle.js line 72 + src/geom/Circle.js line 72 @@ -4632,7 +4632,7 @@
Parameters:
Source:
- src/geom/Circle.js line 234 + src/geom/Circle.js line 234 @@ -4840,7 +4840,7 @@
Parameters:
Source:
- src/geom/Circle.js line 109 + src/geom/Circle.js line 109 @@ -4948,7 +4948,7 @@

Source:
- src/geom/Circle.js line 284 + src/geom/Circle.js line 284 @@ -5015,9 +5015,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -5034,7 +5034,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -5063,7 +5063,7 @@
Returns:
- + diff --git a/docs/Phaser.Color.html b/docs/Phaser.Color.html index 42a2ff9e1..1d818b7b7 100644 --- a/docs/Phaser.Color.html +++ b/docs/Phaser.Color.html @@ -6,7 +6,7 @@ Phaser CE Class: Color - + @@ -180,7 +180,7 @@

Source:
- src/utils/Color.js line 12 + src/utils/Color.js line 12 @@ -220,6 +220,843 @@

+

Members

+ +
+ +
+

+ <static, constant> AQUA : number + +

+ +
+
+ +
+

Aqua (0x00ffff)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 65535
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 57 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> BLACK : number + +

+ +
+
+ +
+

Black (0x000000)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Color.js line 93 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> BLUE : number + +

+ +
+
+ +
+

Blue (0x0000ff)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 255
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 66 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> GRAY : number + +

+ +
+
+ +
+

Gray (0x666666)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 6710886
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 102 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> GREEN : number + +

+ +
+
+ +
+

Green (0x00ff00)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 65280
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 48 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> ORANGE : number + +

+ +
+
+ +
+

Orange (0xff9900)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 16750848
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 30 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> RED : number + +

+ +
+
+ +
+

Red (0xff0000)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 16711680
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 21 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> VIOLET : number + +

+ +
+
+ +
+

Violet/purple (0xff00ff)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 16711935
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 75 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> WHITE : number + +

+ +
+
+ +
+

White (0xffffff)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 16777215
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 84 + + + + + + + +
+ + + +
+ + + +
+

+ <static, constant> YELLOW : number + +

+ +
+
+ +
+

Yellow (0xffff00)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • 16776960
  • +
+
+ + + + + +
Source:
+
+ + src/utils/Color.js line 39 + + + + + + + +
+ + + +
+ +
+

Methods

@@ -356,7 +1193,7 @@
Parameters:
Source:
- src/utils/Color.js line 1174 + src/utils/Color.js line 1264 @@ -538,7 +1375,7 @@
Parameters:
Source:
- src/utils/Color.js line 1161 + src/utils/Color.js line 1251 @@ -721,7 +1558,7 @@
Parameters:
Source:
- src/utils/Color.js line 1333 + src/utils/Color.js line 1423 @@ -904,7 +1741,7 @@
Parameters:
Source:
- src/utils/Color.js line 1319 + src/utils/Color.js line 1409 @@ -1086,7 +1923,7 @@
Parameters:
Source:
- src/utils/Color.js line 1132 + src/utils/Color.js line 1222 @@ -1269,7 +2106,7 @@
Parameters:
Source:
- src/utils/Color.js line 1200 + src/utils/Color.js line 1290 @@ -1452,7 +2289,7 @@
Parameters:
Source:
- src/utils/Color.js line 1243 + src/utils/Color.js line 1333 @@ -1634,7 +2471,7 @@
Parameters:
Source:
- src/utils/Color.js line 1447 + src/utils/Color.js line 1537 @@ -1823,7 +2660,7 @@
Parameters:
Source:
- src/utils/Color.js line 1295 + src/utils/Color.js line 1385 @@ -2008,7 +2845,7 @@
Parameters:
Source:
- src/utils/Color.js line 1418 + src/utils/Color.js line 1508 @@ -2190,7 +3027,7 @@
Parameters:
Source:
- src/utils/Color.js line 1119 + src/utils/Color.js line 1209 @@ -2372,7 +3209,7 @@
Parameters:
Source:
- src/utils/Color.js line 1360 + src/utils/Color.js line 1450 @@ -2554,7 +3391,7 @@
Parameters:
Source:
- src/utils/Color.js line 1347 + src/utils/Color.js line 1437 @@ -2738,7 +3575,7 @@
Parameters:
Source:
- src/utils/Color.js line 1373 + src/utils/Color.js line 1463 @@ -2923,7 +3760,7 @@
Parameters:
Source:
- src/utils/Color.js line 1145 + src/utils/Color.js line 1235 @@ -3105,7 +3942,7 @@
Parameters:
Source:
- src/utils/Color.js line 1215 + src/utils/Color.js line 1305 @@ -3287,7 +4124,7 @@
Parameters:
Source:
- src/utils/Color.js line 1106 + src/utils/Color.js line 1196 @@ -3471,7 +4308,7 @@
Parameters:
Source:
- src/utils/Color.js line 1257 + src/utils/Color.js line 1347 @@ -3653,7 +4490,7 @@
Parameters:
Source:
- src/utils/Color.js line 1460 + src/utils/Color.js line 1550 @@ -3836,7 +4673,7 @@
Parameters:
Source:
- src/utils/Color.js line 1404 + src/utils/Color.js line 1494 @@ -4018,7 +4855,7 @@
Parameters:
Source:
- src/utils/Color.js line 1434 + src/utils/Color.js line 1524 @@ -4202,7 +5039,7 @@
Parameters:
Source:
- src/utils/Color.js line 1228 + src/utils/Color.js line 1318 @@ -4391,7 +5228,7 @@
Parameters:
Source:
- src/utils/Color.js line 1272 + src/utils/Color.js line 1362 @@ -4573,7 +5410,7 @@
Parameters:
Source:
- src/utils/Color.js line 1187 + src/utils/Color.js line 1277 @@ -4758,7 +5595,7 @@
Parameters:
Source:
- src/utils/Color.js line 1388 + src/utils/Color.js line 1478 @@ -4916,7 +5753,7 @@
Parameters:
Source:
- src/utils/Color.js line 726 + src/utils/Color.js line 816 @@ -5383,7 +6220,7 @@
Parameters:
Source:
- src/utils/Color.js line 470 + src/utils/Color.js line 560 @@ -5593,7 +6430,7 @@
Parameters:
Source:
- src/utils/Color.js line 97 + src/utils/Color.js line 187 @@ -5751,7 +6588,7 @@
Parameters:
Source:
- src/utils/Color.js line 1046 + src/utils/Color.js line 1136 @@ -5909,7 +6746,7 @@
Parameters:
Source:
- src/utils/Color.js line 1058 + src/utils/Color.js line 1148 @@ -6067,7 +6904,7 @@
Parameters:
Source:
- src/utils/Color.js line 1094 + src/utils/Color.js line 1184 @@ -6273,7 +7110,7 @@
Parameters:
Source:
- src/utils/Color.js line 532 + src/utils/Color.js line 622 @@ -6503,7 +7340,7 @@
Parameters:
Source:
- src/utils/Color.js line 515 + src/utils/Color.js line 605 @@ -6661,7 +7498,7 @@
Parameters:
Source:
- src/utils/Color.js line 1082 + src/utils/Color.js line 1172 @@ -6921,7 +7758,7 @@
Parameters:
Source:
- src/utils/Color.js line 950 + src/utils/Color.js line 1040 @@ -7079,7 +7916,7 @@
Parameters:
Source:
- src/utils/Color.js line 1070 + src/utils/Color.js line 1160 @@ -7238,7 +8075,7 @@
Parameters:
Source:
- src/utils/Color.js line 982 + src/utils/Color.js line 1072 @@ -7399,7 +8236,7 @@
Parameters:
Source:
- src/utils/Color.js line 1024 + src/utils/Color.js line 1114 @@ -7603,7 +8440,7 @@
Parameters:
Source:
- src/utils/Color.js line 596 + src/utils/Color.js line 686 @@ -7761,7 +8598,7 @@
Parameters:
Source:
- src/utils/Color.js line 577 + src/utils/Color.js line 667 @@ -7919,7 +8756,7 @@
Parameters:
Source:
- src/utils/Color.js line 161 + src/utils/Color.js line 251 @@ -8137,7 +8974,7 @@
Parameters:
Source:
- src/utils/Color.js line 767 + src/utils/Color.js line 857 @@ -8406,7 +9243,7 @@
Parameters:
Source:
- src/utils/Color.js line 252 + src/utils/Color.js line 342 @@ -8624,7 +9461,7 @@
Parameters:
Source:
- src/utils/Color.js line 742 + src/utils/Color.js line 832 @@ -8893,7 +9730,7 @@
Parameters:
Source:
- src/utils/Color.js line 359 + src/utils/Color.js line 449 @@ -9100,7 +9937,7 @@
Parameters:
Source:
- src/utils/Color.js line 428 + src/utils/Color.js line 518 @@ -9460,7 +10297,7 @@
Parameters:
Source:
- src/utils/Color.js line 792 + src/utils/Color.js line 882 @@ -9738,7 +10575,7 @@
Parameters:
Source:
- src/utils/Color.js line 860 + src/utils/Color.js line 950 @@ -10064,7 +10901,7 @@
Parameters:
Source:
- src/utils/Color.js line 884 + src/utils/Color.js line 974 @@ -10272,7 +11109,7 @@
Parameters:
Source:
- src/utils/Color.js line 909 + src/utils/Color.js line 999 @@ -10456,7 +11293,7 @@
Parameters:
Source:
- src/utils/Color.js line 928 + src/utils/Color.js line 1018 @@ -10694,7 +11531,7 @@
Parameters:
Source:
- src/utils/Color.js line 14 + src/utils/Color.js line 104 @@ -10852,7 +11689,7 @@
Parameters:
Source:
- src/utils/Color.js line 179 + src/utils/Color.js line 269 @@ -11121,7 +11958,7 @@
Parameters:
Source:
- src/utils/Color.js line 193 + src/utils/Color.js line 283 @@ -11390,7 +12227,7 @@
Parameters:
Source:
- src/utils/Color.js line 303 + src/utils/Color.js line 393 @@ -11717,7 +12554,7 @@
Parameters:
Source:
- src/utils/Color.js line 548 + src/utils/Color.js line 638 @@ -11947,7 +12784,7 @@
Parameters:
Source:
- src/utils/Color.js line 144 + src/utils/Color.js line 234 @@ -12184,7 +13021,7 @@
Parameters:
Source:
- src/utils/Color.js line 126 + src/utils/Color.js line 216 @@ -12489,7 +13326,7 @@
Parameters:
Source:
- src/utils/Color.js line 40 + src/utils/Color.js line 130 @@ -12647,7 +13484,7 @@
Parameters:
Source:
- src/utils/Color.js line 497 + src/utils/Color.js line 587 @@ -12854,7 +13691,7 @@
Parameters:
Source:
- src/utils/Color.js line 673 + src/utils/Color.js line 763 @@ -13057,7 +13894,7 @@
Parameters:
Source:
- src/utils/Color.js line 640 + src/utils/Color.js line 730 @@ -13124,9 +13961,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -13143,7 +13980,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -13172,7 +14009,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Angle.html b/docs/Phaser.Component.Angle.html index d236c01a3..a3106ebcd 100644 --- a/docs/Phaser.Component.Angle.html +++ b/docs/Phaser.Component.Angle.html @@ -6,7 +6,7 @@ Phaser CE Class: Angle - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Angle.js line 12 + src/gameobjects/components/Angle.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -323,9 +323,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -342,7 +342,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -371,7 +371,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Animation.html b/docs/Phaser.Component.Animation.html index d2a1f4667..e28537462 100644 --- a/docs/Phaser.Component.Animation.html +++ b/docs/Phaser.Component.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Animation.js line 12 + src/gameobjects/components/Animation.js line 12 @@ -471,7 +471,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -538,9 +538,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -557,7 +557,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -586,7 +586,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.AutoCull.html b/docs/Phaser.Component.AutoCull.html index 227a51ca7..af435af0a 100644 --- a/docs/Phaser.Component.AutoCull.html +++ b/docs/Phaser.Component.AutoCull.html @@ -6,7 +6,7 @@ Phaser CE Class: AutoCull - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/AutoCull.js line 13 + src/gameobjects/components/AutoCull.js line 13 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -368,7 +368,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -401,9 +401,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -420,7 +420,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -449,7 +449,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Bounds.html b/docs/Phaser.Component.Bounds.html index f3ce9df16..f0c9c5d7e 100644 --- a/docs/Phaser.Component.Bounds.html +++ b/docs/Phaser.Component.Bounds.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounds - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Bounds.js line 12 + src/gameobjects/components/Bounds.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -442,7 +442,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -599,7 +599,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -678,7 +678,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -756,7 +756,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -834,7 +834,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -1473,7 +1473,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -1540,9 +1540,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1559,7 +1559,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1588,7 +1588,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.BringToTop.html b/docs/Phaser.Component.BringToTop.html index 913466e87..85420d9a7 100644 --- a/docs/Phaser.Component.BringToTop.html +++ b/docs/Phaser.Component.BringToTop.html @@ -6,7 +6,7 @@ Phaser CE Class: BringToTop - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 12 + src/gameobjects/components/BringToTop.js line 12 @@ -285,7 +285,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -396,7 +396,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -507,7 +507,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -618,7 +618,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -685,9 +685,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -704,7 +704,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -733,7 +733,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Core.html b/docs/Phaser.Component.Core.html index dbd92af36..e849cd98f 100644 --- a/docs/Phaser.Component.Core.html +++ b/docs/Phaser.Component.Core.html @@ -6,7 +6,7 @@ Phaser CE Class: Core - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Core.js line 12 + src/gameobjects/components/Core.js line 12 @@ -285,7 +285,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 19 + src/gameobjects/components/Core.js line 19 @@ -363,7 +363,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -534,7 +534,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -611,7 +611,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -689,7 +689,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -778,7 +778,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -856,7 +856,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -933,7 +933,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -1104,7 +1104,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -1338,7 +1338,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -1416,7 +1416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -1495,7 +1495,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -1575,7 +1575,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -1654,7 +1654,7 @@

Source:
- src/gameobjects/components/Core.js line 61 + src/gameobjects/components/Core.js line 61 @@ -1739,7 +1739,7 @@

Source:
- src/gameobjects/components/Core.js line 29 + src/gameobjects/components/Core.js line 29 @@ -1823,7 +1823,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -1907,7 +1907,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -1993,7 +1993,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -2036,9 +2036,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2055,7 +2055,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2084,7 +2084,7 @@

- + diff --git a/docs/Phaser.Component.Crop.html b/docs/Phaser.Component.Crop.html index 7e202519b..6c8d3a05c 100644 --- a/docs/Phaser.Component.Crop.html +++ b/docs/Phaser.Component.Crop.html @@ -6,7 +6,7 @@ Phaser CE Class: Crop - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/Crop.js line 13 + src/gameobjects/components/Crop.js line 13 @@ -288,7 +288,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -479,7 +479,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -564,7 +564,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -607,9 +607,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -626,7 +626,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -655,7 +655,7 @@

- + diff --git a/docs/Phaser.Component.Delta.html b/docs/Phaser.Component.Delta.html index 909c012f3..696baa04c 100644 --- a/docs/Phaser.Component.Delta.html +++ b/docs/Phaser.Component.Delta.html @@ -6,7 +6,7 @@ Phaser CE Class: Delta - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Delta.js line 12 + src/gameobjects/components/Delta.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -441,7 +441,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -474,9 +474,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -493,7 +493,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -522,7 +522,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Destroy.html b/docs/Phaser.Component.Destroy.html index bb63cf7f5..b6955ac7a 100644 --- a/docs/Phaser.Component.Destroy.html +++ b/docs/Phaser.Component.Destroy.html @@ -6,7 +6,7 @@ Phaser CE Class: Destroy - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Destroy.js line 12 + src/gameobjects/components/Destroy.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -478,7 +478,7 @@
Parameters:
Source:
- src/gameobjects/components/Destroy.js line 37 + src/gameobjects/components/Destroy.js line 37 @@ -521,9 +521,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -540,7 +540,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -569,7 +569,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.FixedToCamera.html b/docs/Phaser.Component.FixedToCamera.html index 83d3a788d..176fc8b9b 100644 --- a/docs/Phaser.Component.FixedToCamera.html +++ b/docs/Phaser.Component.FixedToCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: FixedToCamera - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/FixedToCamera.js line 13 + src/gameobjects/components/FixedToCamera.js line 13 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -371,7 +371,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -450,7 +450,7 @@

Source:
- src/gameobjects/components/FixedToCamera.js line 21 + src/gameobjects/components/FixedToCamera.js line 21 @@ -493,9 +493,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -512,7 +512,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -541,7 +541,7 @@

- + diff --git a/docs/Phaser.Component.Health.html b/docs/Phaser.Component.Health.html index 7e8b65ce5..9a9333d3f 100644 --- a/docs/Phaser.Component.Health.html +++ b/docs/Phaser.Component.Health.html @@ -6,7 +6,7 @@ Phaser CE Class: Health - + @@ -182,7 +182,7 @@

Source:
- src/gameobjects/components/Health.js line 14 + src/gameobjects/components/Health.js line 14 @@ -295,7 +295,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -509,7 +509,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -667,7 +667,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -893,9 +893,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -912,7 +912,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -941,7 +941,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.InCamera.html b/docs/Phaser.Component.InCamera.html index 06702429a..a278da73b 100644 --- a/docs/Phaser.Component.InCamera.html +++ b/docs/Phaser.Component.InCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: InCamera - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InCamera.js line 12 + src/gameobjects/components/InCamera.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/InCamera.js line 26 + src/gameobjects/components/InCamera.js line 26 @@ -320,9 +320,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -339,7 +339,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Component.InWorld.html b/docs/Phaser.Component.InWorld.html index 669fb28ad..b12af88c4 100644 --- a/docs/Phaser.Component.InWorld.html +++ b/docs/Phaser.Component.InWorld.html @@ -6,7 +6,7 @@ Phaser CE Class: InWorld - + @@ -182,7 +182,7 @@

Source:
- src/gameobjects/components/InWorld.js line 14 + src/gameobjects/components/InWorld.js line 14 @@ -293,7 +293,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -525,7 +525,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -604,7 +604,7 @@

Source:
- src/gameobjects/components/InWorld.js line 22 + src/gameobjects/components/InWorld.js line 22 @@ -647,9 +647,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -666,7 +666,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -695,7 +695,7 @@

- + diff --git a/docs/Phaser.Component.InputEnabled.html b/docs/Phaser.Component.InputEnabled.html index bc850b8b6..f38aa3903 100644 --- a/docs/Phaser.Component.InputEnabled.html +++ b/docs/Phaser.Component.InputEnabled.html @@ -6,7 +6,7 @@ Phaser CE Class: InputEnabled - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InputEnabled.js line 12 + src/gameobjects/components/InputEnabled.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -374,7 +374,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -407,9 +407,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -426,7 +426,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -455,7 +455,7 @@
Type:
- + diff --git a/docs/Phaser.Component.LifeSpan.html b/docs/Phaser.Component.LifeSpan.html index 06e960158..0c4dcfe77 100644 --- a/docs/Phaser.Component.LifeSpan.html +++ b/docs/Phaser.Component.LifeSpan.html @@ -6,7 +6,7 @@ Phaser CE Class: LifeSpan - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 12 + src/gameobjects/components/LifeSpan.js line 12 @@ -296,7 +296,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -377,7 +377,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -456,7 +456,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 20 + src/gameobjects/components/LifeSpan.js line 20 @@ -544,7 +544,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -724,7 +724,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -791,9 +791,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -810,7 +810,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -839,7 +839,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.LoadTexture.html b/docs/Phaser.Component.LoadTexture.html index 8265e7f46..8aa3a34e9 100644 --- a/docs/Phaser.Component.LoadTexture.html +++ b/docs/Phaser.Component.LoadTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: LoadTexture - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 12 + src/gameobjects/components/LoadTexture.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -372,7 +372,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -618,7 +618,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -702,7 +702,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -1021,7 +1021,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -1064,9 +1064,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1083,7 +1083,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1112,7 +1112,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Overlap.html b/docs/Phaser.Component.Overlap.html index 3b9ee7a36..ef8017438 100644 --- a/docs/Phaser.Component.Overlap.html +++ b/docs/Phaser.Component.Overlap.html @@ -6,7 +6,7 @@ Phaser CE Class: Overlap - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Overlap.js line 12 + src/gameobjects/components/Overlap.js line 12 @@ -348,7 +348,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -415,9 +415,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -434,7 +434,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -463,7 +463,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.PhysicsBody.html b/docs/Phaser.Component.PhysicsBody.html index 098fb114d..56f118c7b 100644 --- a/docs/Phaser.Component.PhysicsBody.html +++ b/docs/Phaser.Component.PhysicsBody.html @@ -6,7 +6,7 @@ Phaser CE Class: PhysicsBody - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 13 + src/gameobjects/components/PhysicsBody.js line 13 @@ -303,7 +303,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 106 + src/gameobjects/components/PhysicsBody.js line 106 @@ -457,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 132 + src/gameobjects/components/PhysicsBody.js line 132 @@ -536,7 +536,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 69 + src/gameobjects/components/PhysicsBody.js line 69 @@ -621,7 +621,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 21 + src/gameobjects/components/PhysicsBody.js line 21 @@ -664,9 +664,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -683,7 +683,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -712,7 +712,7 @@

- + diff --git a/docs/Phaser.Component.Reset.html b/docs/Phaser.Component.Reset.html index affbecd5c..d967e64e5 100644 --- a/docs/Phaser.Component.Reset.html +++ b/docs/Phaser.Component.Reset.html @@ -6,7 +6,7 @@ Phaser CE Class: Reset - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Reset.js line 12 + src/gameobjects/components/Reset.js line 12 @@ -428,7 +428,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -495,9 +495,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -514,7 +514,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -543,7 +543,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.ScaleMinMax.html b/docs/Phaser.Component.ScaleMinMax.html index 895314273..43a29243a 100644 --- a/docs/Phaser.Component.ScaleMinMax.html +++ b/docs/Phaser.Component.ScaleMinMax.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleMinMax - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/ScaleMinMax.js line 12 + src/gameobjects/components/ScaleMinMax.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -366,7 +366,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -443,7 +443,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -742,7 +742,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -785,9 +785,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -804,7 +804,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -833,7 +833,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Smoothed.html b/docs/Phaser.Component.Smoothed.html index e56f23873..9a11e7523 100644 --- a/docs/Phaser.Component.Smoothed.html +++ b/docs/Phaser.Component.Smoothed.html @@ -6,7 +6,7 @@ Phaser CE Class: Smoothed - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Smoothed.js line 12 + src/gameobjects/components/Smoothed.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -320,9 +320,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -339,7 +339,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Create.html b/docs/Phaser.Create.html index 626c2f573..74db15061 100644 --- a/docs/Phaser.Create.html +++ b/docs/Phaser.Create.html @@ -6,7 +6,7 @@ Phaser CE Class: Create - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/core/Create.js line 18 + src/core/Create.js line 18 @@ -338,7 +338,7 @@
Type:
Source:
- src/core/Create.js line 58 + src/core/Create.js line 58 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Create.js line 79 + src/core/Create.js line 79 @@ -492,7 +492,7 @@
Type:
Source:
- src/core/Create.js line 72 + src/core/Create.js line 72 @@ -569,7 +569,7 @@
Type:
Source:
- src/core/Create.js line 86 + src/core/Create.js line 86 @@ -646,7 +646,7 @@
Type:
Source:
- src/core/Create.js line 65 + src/core/Create.js line 65 @@ -723,7 +723,7 @@
Type:
Source:
- src/core/Create.js line 28 + src/core/Create.js line 28 @@ -800,7 +800,7 @@
Type:
Source:
- src/core/Create.js line 33 + src/core/Create.js line 33 @@ -915,7 +915,7 @@
Properties:
Source:
- src/core/Create.js line 38 + src/core/Create.js line 38 @@ -992,7 +992,7 @@
Type:
Source:
- src/core/Create.js line 23 + src/core/Create.js line 23 @@ -1069,7 +1069,7 @@
Type:
Source:
- src/core/Create.js line 43 + src/core/Create.js line 43 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/core/Create.js line 231 + src/core/Create.js line 231 @@ -1924,7 +1924,7 @@
Parameters:
Source:
- src/core/Create.js line 170 + src/core/Create.js line 170 @@ -2388,7 +2388,7 @@
Parameters:
Source:
- src/core/Create.js line 90 + src/core/Create.js line 90 @@ -2458,9 +2458,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2477,7 +2477,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2506,7 +2506,7 @@
Returns:
- + diff --git a/docs/Phaser.Creature.html b/docs/Phaser.Creature.html index 19c47b4ca..5cb43225b 100644 --- a/docs/Phaser.Creature.html +++ b/docs/Phaser.Creature.html @@ -6,7 +6,7 @@ Phaser CE Class: Creature - + @@ -440,7 +440,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 176 + src/gameobjects/Creature.js line 176 @@ -594,7 +594,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -676,7 +676,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 823 + src/gameobjects/Creature.js line 823 @@ -753,7 +753,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 710 + src/gameobjects/Creature.js line 710 @@ -830,7 +830,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 757 + src/gameobjects/Creature.js line 757 @@ -921,7 +921,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -998,7 +998,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 208 + src/gameobjects/Creature.js line 208 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1182,7 +1182,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1448,7 +1448,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1525,7 +1525,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 281 + src/gameobjects/Creature.js line 281 @@ -1611,7 +1611,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1688,7 +1688,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 250 + src/gameobjects/Creature.js line 250 @@ -1765,7 +1765,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 244 + src/gameobjects/Creature.js line 244 @@ -1861,7 +1861,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -1947,7 +1947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2034,7 +2034,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2121,7 +2121,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2219,7 +2219,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2305,7 +2305,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2396,7 +2396,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2489,7 +2489,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2576,7 +2576,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2658,7 +2658,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 181 + src/gameobjects/Creature.js line 181 @@ -2735,7 +2735,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 657 + src/gameobjects/Creature.js line 657 @@ -2831,7 +2831,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2919,7 +2919,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3006,7 +3006,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3079,7 +3079,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 270 + src/gameobjects/Creature.js line 270 @@ -3170,7 +3170,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3263,7 +3263,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3340,7 +3340,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 617 + src/gameobjects/Creature.js line 617 @@ -3442,7 +3442,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3532,7 +3532,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -3609,7 +3609,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 637 + src/gameobjects/Creature.js line 637 @@ -3686,7 +3686,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 213 + src/gameobjects/Creature.js line 213 @@ -3775,7 +3775,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3862,7 +3862,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3951,7 +3951,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4040,7 +4040,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4127,7 +4127,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4215,7 +4215,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4301,7 +4301,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4387,7 +4387,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4474,7 +4474,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4561,7 +4561,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4650,7 +4650,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4739,7 +4739,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4816,7 +4816,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 233 + src/gameobjects/Creature.js line 233 @@ -4900,7 +4900,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 219 + src/gameobjects/Creature.js line 219 @@ -4977,7 +4977,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 804 + src/gameobjects/Creature.js line 804 @@ -5054,7 +5054,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 189 + src/gameobjects/Creature.js line 189 @@ -5131,7 +5131,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 264 + src/gameobjects/Creature.js line 264 @@ -5208,7 +5208,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 258 + src/gameobjects/Creature.js line 258 @@ -5306,7 +5306,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -5383,7 +5383,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 683 + src/gameobjects/Creature.js line 683 @@ -5471,7 +5471,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5563,7 +5563,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5654,7 +5654,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5745,7 +5745,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5836,7 +5836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5927,7 +5927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6013,7 +6013,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6100,7 +6100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6187,7 +6187,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6276,7 +6276,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6413,7 +6413,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6604,7 +6604,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6724,7 +6724,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -6991,7 +6991,7 @@

Source:
- src/gameobjects/Creature.js line 853 + src/gameobjects/Creature.js line 853 @@ -7091,7 +7091,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -7336,7 +7336,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -7520,7 +7520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -7687,7 +7687,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -7854,7 +7854,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -7971,7 +7971,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -8092,7 +8092,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -8212,7 +8212,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -8332,7 +8332,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -8510,7 +8510,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 587 + src/gameobjects/Creature.js line 587 @@ -8603,7 +8603,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -8692,7 +8692,7 @@

Source:
- src/gameobjects/Creature.js line 323 + src/gameobjects/Creature.js line 323 @@ -8785,7 +8785,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -8928,7 +8928,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -9095,7 +9095,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -9286,7 +9286,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -9525,7 +9525,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -9714,7 +9714,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -9834,7 +9834,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -9942,7 +9942,7 @@

Source:
- src/gameobjects/Creature.js line 842 + src/gameobjects/Creature.js line 842 @@ -10076,7 +10076,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 556 + src/gameobjects/Creature.js line 556 @@ -10210,7 +10210,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 572 + src/gameobjects/Creature.js line 572 @@ -10377,7 +10377,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -10461,7 +10461,7 @@

Source:
- src/gameobjects/Creature.js line 605 + src/gameobjects/Creature.js line 605 @@ -10628,7 +10628,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -10771,7 +10771,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -10984,7 +10984,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -11105,7 +11105,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -11198,7 +11198,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -11387,7 +11387,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -11456,9 +11456,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -11475,7 +11475,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -11504,7 +11504,7 @@
Returns:
- + diff --git a/docs/Phaser.DOM.html b/docs/Phaser.DOM.html index 33e5e13ba..1b9df64c3 100644 --- a/docs/Phaser.DOM.html +++ b/docs/Phaser.DOM.html @@ -6,7 +6,7 @@ Phaser CE Class: DOM - + @@ -183,7 +183,7 @@

Source:
- src/utils/DOM.js line 18 + src/utils/DOM.js line 18 @@ -367,7 +367,7 @@
Properties:
Source:
- src/utils/DOM.js line 274 + src/utils/DOM.js line 274 @@ -529,7 +529,7 @@
Properties:
Source:
- src/utils/DOM.js line 260 + src/utils/DOM.js line 260 @@ -606,7 +606,7 @@
Type:
Source:
- src/utils/DOM.js line 289 + src/utils/DOM.js line 289 @@ -683,7 +683,7 @@
Type:
Source:
- src/utils/DOM.js line 301 + src/utils/DOM.js line 301 @@ -890,7 +890,7 @@
Properties:
Source:
- src/utils/DOM.js line 239 + src/utils/DOM.js line 239 @@ -1041,7 +1041,7 @@
Parameters:
Source:
- src/utils/DOM.js line 100 + src/utils/DOM.js line 100 @@ -1250,7 +1250,7 @@
Parameters:
Source:
- src/utils/DOM.js line 48 + src/utils/DOM.js line 48 @@ -1456,7 +1456,7 @@
Parameters:
Source:
- src/utils/DOM.js line 20 + src/utils/DOM.js line 20 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/utils/DOM.js line 149 + src/utils/DOM.js line 149 @@ -1839,7 +1839,7 @@
Parameters:
Source:
- src/utils/DOM.js line 128 + src/utils/DOM.js line 128 @@ -1906,9 +1906,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1925,7 +1925,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1954,7 +1954,7 @@
Returns:
- + diff --git a/docs/Phaser.Device.html b/docs/Phaser.Device.html index 2a1967128..43bf42dd0 100644 --- a/docs/Phaser.Device.html +++ b/docs/Phaser.Device.html @@ -6,7 +6,7 @@ Phaser CE Class: Device - + @@ -198,7 +198,7 @@

Source:
- src/utils/Device.js line 41 + src/utils/Device.js line 41 @@ -307,7 +307,7 @@
Type:
Source:
- src/utils/Device.js line 578 + src/utils/Device.js line 572 @@ -384,7 +384,7 @@
Type:
Source:
- src/utils/Device.js line 129 + src/utils/Device.js line 129 @@ -461,7 +461,7 @@
Type:
Source:
- src/utils/Device.js line 291 + src/utils/Device.js line 285 @@ -538,7 +538,7 @@
Type:
Source:
- src/utils/Device.js line 401 + src/utils/Device.js line 395 @@ -615,7 +615,7 @@
Type:
Source:
- src/utils/Device.js line 552 + src/utils/Device.js line 546 @@ -692,7 +692,7 @@
Type:
Source:
- src/utils/Device.js line 180 + src/utils/Device.js line 180 @@ -770,7 +770,7 @@
Type:
Source:
- src/utils/Device.js line 190 + src/utils/Device.js line 190 @@ -847,7 +847,7 @@
Type:
Source:
- src/utils/Device.js line 167 + src/utils/Device.js line 167 @@ -924,7 +924,7 @@
Type:
Source:
- src/utils/Device.js line 173 + src/utils/Device.js line 173 @@ -1001,7 +1001,7 @@
Type:
Source:
- src/utils/Device.js line 297 + src/utils/Device.js line 291 @@ -1078,7 +1078,7 @@
Type:
Source:
- src/utils/Device.js line 135 + src/utils/Device.js line 135 @@ -1155,7 +1155,7 @@
Type:
Source:
- src/utils/Device.js line 303 + src/utils/Device.js line 297 @@ -1232,7 +1232,7 @@
Type:
Source:
- src/utils/Device.js line 81 + src/utils/Device.js line 81 @@ -1309,7 +1309,7 @@
Type:
Source:
- src/utils/Device.js line 87 + src/utils/Device.js line 87 @@ -1386,7 +1386,7 @@
Type:
Source:
- src/utils/Device.js line 93 + src/utils/Device.js line 93 @@ -1463,7 +1463,7 @@
Type:
Source:
- src/utils/Device.js line 123 + src/utils/Device.js line 123 @@ -1540,7 +1540,7 @@
Type:
Source:
- src/utils/Device.js line 232 + src/utils/Device.js line 226 @@ -1617,7 +1617,7 @@
Type:
Source:
- src/utils/Device.js line 63 + src/utils/Device.js line 63 @@ -1694,7 +1694,7 @@
Type:
Source:
- src/utils/Device.js line 48 + src/utils/Device.js line 48 @@ -1771,7 +1771,7 @@
Type:
Source:
- src/utils/Device.js line 450 + src/utils/Device.js line 444 @@ -1848,7 +1848,7 @@
Type:
Source:
- src/utils/Device.js line 351 + src/utils/Device.js line 345 @@ -1925,7 +1925,7 @@
Type:
Source:
- src/utils/Device.js line 117 + src/utils/Device.js line 117 @@ -2002,7 +2002,7 @@
Type:
Source:
- src/utils/Device.js line 111 + src/utils/Device.js line 111 @@ -2079,7 +2079,7 @@
Type:
Source:
- src/utils/Device.js line 309 + src/utils/Device.js line 303 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/utils/Device.js line 208 + src/utils/Device.js line 202 @@ -2233,7 +2233,7 @@
Type:
Source:
- src/utils/Device.js line 214 + src/utils/Device.js line 208 @@ -2310,7 +2310,7 @@
Type:
Source:
- src/utils/Device.js line 315 + src/utils/Device.js line 309 @@ -2387,7 +2387,7 @@
Type:
Source:
- src/utils/Device.js line 321 + src/utils/Device.js line 315 @@ -2464,7 +2464,7 @@
Type:
Source:
- src/utils/Device.js line 540 + src/utils/Device.js line 534 @@ -2541,7 +2541,7 @@
Type:
Source:
- src/utils/Device.js line 558 + src/utils/Device.js line 552 @@ -2625,7 +2625,7 @@
Type:
Source:
- src/utils/Device.js line 256 + src/utils/Device.js line 250 @@ -2702,7 +2702,7 @@
Type:
Source:
- src/utils/Device.js line 464 + src/utils/Device.js line 458 @@ -2779,7 +2779,7 @@
Type:
Source:
- src/utils/Device.js line 488 + src/utils/Device.js line 482 @@ -2856,7 +2856,7 @@
Type:
Source:
- src/utils/Device.js line 327 + src/utils/Device.js line 321 @@ -2933,7 +2933,7 @@
Type:
Source:
- src/utils/Device.js line 333 + src/utils/Device.js line 327 @@ -3010,7 +3010,7 @@
Type:
Source:
- src/utils/Device.js line 55 + src/utils/Device.js line 55 @@ -3087,7 +3087,7 @@
Type:
Source:
- src/utils/Device.js line 69 + src/utils/Device.js line 69 @@ -3164,7 +3164,7 @@
Type:
Source:
- src/utils/Device.js line 75 + src/utils/Device.js line 75 @@ -3241,7 +3241,7 @@
Type:
Source:
- src/utils/Device.js line 508 + src/utils/Device.js line 502 @@ -3318,7 +3318,7 @@
Type:
Source:
- src/utils/Device.js line 496 + src/utils/Device.js line 490 @@ -3395,7 +3395,7 @@
Type:
Source:
- src/utils/Device.js line 502 + src/utils/Device.js line 496 @@ -3472,7 +3472,7 @@
Type:
Source:
- src/utils/Device.js line 141 + src/utils/Device.js line 141 @@ -3549,7 +3549,7 @@
Type:
Source:
- src/utils/Device.js line 528 + src/utils/Device.js line 522 @@ -3626,7 +3626,7 @@
Type:
Source:
- src/utils/Device.js line 522 + src/utils/Device.js line 516 @@ -3703,7 +3703,7 @@
Type:
Source:
- src/utils/Device.js line 220 + src/utils/Device.js line 214 @@ -3780,7 +3780,7 @@
Type:
Source:
- src/utils/Device.js line 438 + src/utils/Device.js line 432 @@ -3857,7 +3857,7 @@
Type:
Source:
- src/utils/Device.js line 147 + src/utils/Device.js line 147 @@ -3934,7 +3934,7 @@
Type:
Source:
- src/utils/Device.js line 363 + src/utils/Device.js line 357 @@ -4011,7 +4011,7 @@
Type:
Source:
- src/utils/Device.js line 357 + src/utils/Device.js line 351 @@ -4088,7 +4088,7 @@
Type:
Source:
- src/utils/Device.js line 425 + src/utils/Device.js line 419 @@ -4165,7 +4165,7 @@
Type:
Source:
- src/utils/Device.js line 470 + src/utils/Device.js line 464 @@ -4242,7 +4242,7 @@
Type:
Source:
- src/utils/Device.js line 276 + src/utils/Device.js line 270 @@ -4319,7 +4319,7 @@
Type:
Source:
- src/utils/Device.js line 99 + src/utils/Device.js line 99 @@ -4396,7 +4396,7 @@
Type:
Source:
- src/utils/Device.js line 105 + src/utils/Device.js line 105 @@ -4473,7 +4473,7 @@
Type:
Source:
- src/utils/Device.js line 413 + src/utils/Device.js line 407 @@ -4550,7 +4550,7 @@
Type:
Source:
- src/utils/Device.js line 458 + src/utils/Device.js line 452 @@ -4627,7 +4627,7 @@
Type:
Source:
- src/utils/Device.js line 369 + src/utils/Device.js line 363 @@ -4704,7 +4704,7 @@
Type:
Source:
- src/utils/Device.js line 419 + src/utils/Device.js line 413 @@ -4781,7 +4781,7 @@
Type:
Source:
- src/utils/Device.js line 516 + src/utils/Device.js line 510 @@ -4858,7 +4858,7 @@
Type:
Source:
- src/utils/Device.js line 238 + src/utils/Device.js line 232 @@ -4935,7 +4935,7 @@
Type:
Source:
- src/utils/Device.js line 262 + src/utils/Device.js line 256 @@ -5012,7 +5012,7 @@
Type:
Source:
- src/utils/Device.js line 546 + src/utils/Device.js line 540 @@ -5089,7 +5089,7 @@
Type:
Source:
- src/utils/Device.js line 375 + src/utils/Device.js line 369 @@ -5166,7 +5166,7 @@
Type:
Source:
- src/utils/Device.js line 381 + src/utils/Device.js line 375 @@ -5243,7 +5243,7 @@
Type:
Source:
- src/utils/Device.js line 393 + src/utils/Device.js line 387 @@ -5320,7 +5320,7 @@
Type:
Source:
- src/utils/Device.js line 534 + src/utils/Device.js line 528 @@ -5397,7 +5397,7 @@
Type:
Source:
- src/utils/Device.js line 270 + src/utils/Device.js line 264 @@ -5474,7 +5474,7 @@
Type:
Source:
- src/utils/Device.js line 339 + src/utils/Device.js line 333 @@ -5551,7 +5551,7 @@
Type:
Source:
- src/utils/Device.js line 345 + src/utils/Device.js line 339 @@ -5628,7 +5628,7 @@
Type:
Source:
- src/utils/Device.js line 244 + src/utils/Device.js line 238 @@ -5705,7 +5705,7 @@
Type:
Source:
- src/utils/Device.js line 250 + src/utils/Device.js line 244 @@ -5782,7 +5782,7 @@
Type:
Source:
- src/utils/Device.js line 482 + src/utils/Device.js line 476 @@ -5859,7 +5859,7 @@
Type:
Source:
- src/utils/Device.js line 431 + src/utils/Device.js line 425 @@ -5936,7 +5936,7 @@
Type:
Source:
- src/utils/Device.js line 387 + src/utils/Device.js line 381 @@ -6013,7 +6013,7 @@
Type:
Source:
- src/utils/Device.js line 407 + src/utils/Device.js line 401 @@ -6039,7 +6039,7 @@

-

Is webGL (and stencil support) available?

+

Is webGL available?

@@ -6090,84 +6090,7 @@
Type:
Source:
- src/utils/Device.js line 196 - - - - - - - - - - - -
- - - -
-

- webGLError : Error - -

- -
-
- -
-

Any error raised while creating a test webGL context.

-
- - - -
Type:
-
    -
  • - -Error - - - -
  • -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - src/utils/Device.js line 202 + src/utils/Device.js line 196 @@ -6244,7 +6167,7 @@
Type:
Source:
- src/utils/Device.js line 444 + src/utils/Device.js line 438 @@ -6321,7 +6244,7 @@
Type:
Source:
- src/utils/Device.js line 476 + src/utils/Device.js line 470 @@ -6446,7 +6369,7 @@
Properties:
Source:
- src/utils/Device.js line 283 + src/utils/Device.js line 277 @@ -6523,7 +6446,7 @@
Type:
Source:
- src/utils/Device.js line 153 + src/utils/Device.js line 153 @@ -6600,7 +6523,7 @@
Type:
Source:
- src/utils/Device.js line 159 + src/utils/Device.js line 159 @@ -6677,7 +6600,7 @@
Type:
Source:
- src/utils/Device.js line 226 + src/utils/Device.js line 220 @@ -6903,7 +6826,7 @@
Parameters:
Source:
- src/utils/Device.js line 594 + src/utils/Device.js line 588 @@ -7037,7 +6960,7 @@
Parameters:
Source:
- src/utils/Device.js line 1352 + src/utils/Device.js line 1323 @@ -7195,7 +7118,7 @@
Parameters:
Source:
- src/utils/Device.js line 1395 + src/utils/Device.js line 1366 @@ -7305,7 +7228,7 @@

Source:
- src/utils/Device.js line 1453 + src/utils/Device.js line 1408 @@ -7335,110 +7258,6 @@
Example
-
- - - -
-

- isConsoleOpen() - deprecated -

- -
-
- - -
-

Returns false.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
Deprecated:
- -
-
    -
  • Yes
  • -
-
- - - - - - - - - - - - - - -
Source:
-
- - src/utils/Device.js line 1437 - - - - - - - -
- - - - - - - - - - - - - -
Returns:
- - -
-

false

-
- - - - - - -
@@ -7499,7 +7318,7 @@

Source:
- src/utils/Device.js line 1426 + src/utils/Device.js line 1397 @@ -7562,9 +7381,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -7581,7 +7400,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -7610,7 +7429,7 @@
Returns:
- + diff --git a/docs/Phaser.DeviceButton.html b/docs/Phaser.DeviceButton.html index 44220ba9b..03f99b14a 100644 --- a/docs/Phaser.DeviceButton.html +++ b/docs/Phaser.DeviceButton.html @@ -6,7 +6,7 @@ Phaser CE Class: DeviceButton - + @@ -269,7 +269,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 31 + src/input/DeviceButton.js line 31 @@ -375,7 +375,7 @@
Type:
Source:
- src/input/DeviceButton.js line 87 + src/input/DeviceButton.js line 87 @@ -452,7 +452,7 @@
Type:
Source:
- src/input/DeviceButton.js line 114 + src/input/DeviceButton.js line 114 @@ -530,7 +530,7 @@
Type:
Source:
- src/input/DeviceButton.js line 103 + src/input/DeviceButton.js line 103 @@ -608,7 +608,7 @@
Type:
Source:
- src/input/DeviceButton.js line 326 + src/input/DeviceButton.js line 326 @@ -685,7 +685,7 @@
Type:
Source:
- src/input/DeviceButton.js line 47 + src/input/DeviceButton.js line 47 @@ -762,7 +762,7 @@
Type:
Source:
- src/input/DeviceButton.js line 41 + src/input/DeviceButton.js line 41 @@ -839,7 +839,7 @@
Type:
Source:
- src/input/DeviceButton.js line 53 + src/input/DeviceButton.js line 53 @@ -923,7 +923,7 @@
Type:
Source:
- src/input/DeviceButton.js line 59 + src/input/DeviceButton.js line 59 @@ -1002,7 +1002,7 @@
Type:
Source:
- src/input/DeviceButton.js line 122 + src/input/DeviceButton.js line 122 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/input/DeviceButton.js line 138 + src/input/DeviceButton.js line 138 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/input/DeviceButton.js line 130 + src/input/DeviceButton.js line 130 @@ -1240,7 +1240,7 @@
Type:
Source:
- src/input/DeviceButton.js line 36 + src/input/DeviceButton.js line 36 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/input/DeviceButton.js line 79 + src/input/DeviceButton.js line 79 @@ -1396,7 +1396,7 @@
Type:
Source:
- src/input/DeviceButton.js line 95 + src/input/DeviceButton.js line 95 @@ -1473,7 +1473,7 @@
Type:
Source:
- src/input/DeviceButton.js line 65 + src/input/DeviceButton.js line 65 @@ -1550,7 +1550,7 @@
Type:
Source:
- src/input/DeviceButton.js line 71 + src/input/DeviceButton.js line 71 @@ -1627,7 +1627,7 @@
Type:
Source:
- src/input/DeviceButton.js line 109 + src/input/DeviceButton.js line 109 @@ -1706,7 +1706,7 @@

Source:
- src/input/DeviceButton.js line 305 + src/input/DeviceButton.js line 305 @@ -1861,7 +1861,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 254 + src/input/DeviceButton.js line 254 @@ -2040,7 +2040,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 270 + src/input/DeviceButton.js line 270 @@ -2198,7 +2198,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 236 + src/input/DeviceButton.js line 236 @@ -2282,7 +2282,7 @@

Source:
- src/input/DeviceButton.js line 286 + src/input/DeviceButton.js line 286 @@ -2463,7 +2463,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 144 + src/input/DeviceButton.js line 144 @@ -2678,7 +2678,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 213 + src/input/DeviceButton.js line 213 @@ -2859,7 +2859,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 179 + src/input/DeviceButton.js line 179 @@ -2902,9 +2902,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2921,7 +2921,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2950,7 +2950,7 @@
Parameters:
- + diff --git a/docs/Phaser.Easing.Back.html b/docs/Phaser.Easing.Back.html index c7a2f4139..5aae868a9 100644 --- a/docs/Phaser.Easing.Back.html +++ b/docs/Phaser.Easing.Back.html @@ -6,7 +6,7 @@ Phaser CE Class: Back - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 457 + src/tween/Easing.js line 457 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 459 + src/tween/Easing.js line 459 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 487 + src/tween/Easing.js line 487 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 473 + src/tween/Easing.js line 473 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Bounce.html b/docs/Phaser.Easing.Bounce.html index afbee53df..c2d6398fe 100644 --- a/docs/Phaser.Easing.Bounce.html +++ b/docs/Phaser.Easing.Bounce.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounce - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 509 + src/tween/Easing.js line 509 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 511 + src/tween/Easing.js line 511 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 553 + src/tween/Easing.js line 553 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 524 + src/tween/Easing.js line 524 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Circular.html b/docs/Phaser.Easing.Circular.html index d56d8e09e..1cf9f2727 100644 --- a/docs/Phaser.Easing.Circular.html +++ b/docs/Phaser.Easing.Circular.html @@ -6,7 +6,7 @@ Phaser CE Class: Circular - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 344 + src/tween/Easing.js line 344 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 346 + src/tween/Easing.js line 346 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 372 + src/tween/Easing.js line 372 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 359 + src/tween/Easing.js line 359 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Cubic.html b/docs/Phaser.Easing.Cubic.html index 84b1a359f..e0c47e9fc 100644 --- a/docs/Phaser.Easing.Cubic.html +++ b/docs/Phaser.Easing.Cubic.html @@ -6,7 +6,7 @@ Phaser CE Class: Cubic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 92 + src/tween/Easing.js line 92 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 94 + src/tween/Easing.js line 94 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 120 + src/tween/Easing.js line 120 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 107 + src/tween/Easing.js line 107 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Elastic.html b/docs/Phaser.Easing.Elastic.html index d92a5b09b..7bb3682de 100644 --- a/docs/Phaser.Easing.Elastic.html +++ b/docs/Phaser.Easing.Elastic.html @@ -6,7 +6,7 @@ Phaser CE Class: Elastic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 393 + src/tween/Easing.js line 393 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 395 + src/tween/Easing.js line 395 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 431 + src/tween/Easing.js line 431 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 413 + src/tween/Easing.js line 413 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Exponential.html b/docs/Phaser.Easing.Exponential.html index eccfa2682..cbd57c2d4 100644 --- a/docs/Phaser.Easing.Exponential.html +++ b/docs/Phaser.Easing.Exponential.html @@ -6,7 +6,7 @@ Phaser CE Class: Exponential - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 293 + src/tween/Easing.js line 293 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 295 + src/tween/Easing.js line 295 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 321 + src/tween/Easing.js line 321 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 308 + src/tween/Easing.js line 308 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Linear.html b/docs/Phaser.Easing.Linear.html index 269c826fd..75c65149c 100644 --- a/docs/Phaser.Easing.Linear.html +++ b/docs/Phaser.Easing.Linear.html @@ -6,7 +6,7 @@ Phaser CE Class: Linear - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 21 + src/tween/Easing.js line 21 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 23 + src/tween/Easing.js line 23 @@ -399,9 +399,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -418,7 +418,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -447,7 +447,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quadratic.html b/docs/Phaser.Easing.Quadratic.html index 7ac1f1461..c36637355 100644 --- a/docs/Phaser.Easing.Quadratic.html +++ b/docs/Phaser.Easing.Quadratic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quadratic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 43 + src/tween/Easing.js line 43 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 45 + src/tween/Easing.js line 45 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 71 + src/tween/Easing.js line 71 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 58 + src/tween/Easing.js line 58 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quartic.html b/docs/Phaser.Easing.Quartic.html index 1cafcc635..ef1be4583 100644 --- a/docs/Phaser.Easing.Quartic.html +++ b/docs/Phaser.Easing.Quartic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quartic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 141 + src/tween/Easing.js line 141 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 143 + src/tween/Easing.js line 143 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 169 + src/tween/Easing.js line 169 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 156 + src/tween/Easing.js line 156 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quintic.html b/docs/Phaser.Easing.Quintic.html index 14c8b3fe0..8448eaa58 100644 --- a/docs/Phaser.Easing.Quintic.html +++ b/docs/Phaser.Easing.Quintic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quintic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 190 + src/tween/Easing.js line 190 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 192 + src/tween/Easing.js line 192 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 218 + src/tween/Easing.js line 218 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 205 + src/tween/Easing.js line 205 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Sinusoidal.html b/docs/Phaser.Easing.Sinusoidal.html index 08be6a73b..082211ce0 100644 --- a/docs/Phaser.Easing.Sinusoidal.html +++ b/docs/Phaser.Easing.Sinusoidal.html @@ -6,7 +6,7 @@ Phaser CE Class: Sinusoidal - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 239 + src/tween/Easing.js line 239 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 241 + src/tween/Easing.js line 241 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 271 + src/tween/Easing.js line 271 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 256 + src/tween/Easing.js line 256 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -734,7 +734,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.html b/docs/Phaser.Easing.html index 3cb5ab9ad..72a59c605 100644 --- a/docs/Phaser.Easing.html +++ b/docs/Phaser.Easing.html @@ -6,7 +6,7 @@ Phaser CE Class: Easing - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 14 + src/tween/Easing.js line 14 @@ -274,9 +274,9 @@

Classes

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -293,7 +293,7 @@

Classes

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -322,7 +322,7 @@

Classes

- + diff --git a/docs/Phaser.Ellipse.html b/docs/Phaser.Ellipse.html index a0445125f..200bc2707 100644 --- a/docs/Phaser.Ellipse.html +++ b/docs/Phaser.Ellipse.html @@ -6,7 +6,7 @@ Phaser CE Class: Ellipse - + @@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 18 + src/geom/Ellipse.js line 18 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Ellipse.js line 251 + src/geom/Ellipse.js line 251 @@ -553,7 +553,7 @@
Type:
Source:
- src/geom/Ellipse.js line 276 + src/geom/Ellipse.js line 276 @@ -630,7 +630,7 @@
Type:
Source:
- src/geom/Ellipse.js line 43 + src/geom/Ellipse.js line 43 @@ -696,7 +696,7 @@

Source:
- src/geom/Ellipse.js line 190 + src/geom/Ellipse.js line 190 @@ -773,7 +773,7 @@
Type:
Source:
- src/geom/Ellipse.js line 209 + src/geom/Ellipse.js line 209 @@ -850,7 +850,7 @@
Type:
Source:
- src/geom/Ellipse.js line 234 + src/geom/Ellipse.js line 234 @@ -927,7 +927,7 @@
Type:
Source:
- src/geom/Ellipse.js line 49 + src/geom/Ellipse.js line 49 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/geom/Ellipse.js line 38 + src/geom/Ellipse.js line 38 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/geom/Ellipse.js line 28 + src/geom/Ellipse.js line 28 @@ -1158,7 +1158,7 @@
Type:
Source:
- src/geom/Ellipse.js line 33 + src/geom/Ellipse.js line 33 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 299 + src/geom/Ellipse.js line 299 @@ -1568,7 +1568,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 325 + src/geom/Ellipse.js line 325 @@ -1726,7 +1726,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 117 + src/geom/Ellipse.js line 117 @@ -1908,7 +1908,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 138 + src/geom/Ellipse.js line 138 @@ -2066,7 +2066,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 87 + src/geom/Ellipse.js line 87 @@ -2224,7 +2224,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 100 + src/geom/Ellipse.js line 100 @@ -2332,7 +2332,7 @@

Source:
- src/geom/Ellipse.js line 75 + src/geom/Ellipse.js line 75 @@ -2506,7 +2506,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 152 + src/geom/Ellipse.js line 152 @@ -2736,7 +2736,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 55 + src/geom/Ellipse.js line 55 @@ -2844,7 +2844,7 @@

Source:
- src/geom/Ellipse.js line 177 + src/geom/Ellipse.js line 177 @@ -2911,9 +2911,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2930,7 +2930,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2959,7 +2959,7 @@
Returns:
- + diff --git a/docs/Phaser.Events.html b/docs/Phaser.Events.html index e620dda48..764dac1b3 100644 --- a/docs/Phaser.Events.html +++ b/docs/Phaser.Events.html @@ -6,7 +6,7 @@ Phaser CE Class: Events - + @@ -240,7 +240,7 @@
Parameters:
Source:
- src/gameobjects/components/Events.js line 30 + src/gameobjects/components/Events.js line 30 @@ -350,7 +350,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 85 + src/gameobjects/components/Events.js line 85 @@ -434,7 +434,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 273 + src/gameobjects/components/Events.js line 273 @@ -518,7 +518,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 286 + src/gameobjects/components/Events.js line 286 @@ -602,7 +602,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 260 + src/gameobjects/components/Events.js line 260 @@ -684,7 +684,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 107 + src/gameobjects/components/Events.js line 107 @@ -770,7 +770,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 218 + src/gameobjects/components/Events.js line 218 @@ -853,7 +853,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 247 + src/gameobjects/components/Events.js line 247 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 235 + src/gameobjects/components/Events.js line 235 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 152 + src/gameobjects/components/Events.js line 152 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 189 + src/gameobjects/components/Events.js line 189 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 176 + src/gameobjects/components/Events.js line 176 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 164 + src/gameobjects/components/Events.js line 164 @@ -1358,7 +1358,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 203 + src/gameobjects/components/Events.js line 203 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 119 + src/gameobjects/components/Events.js line 119 @@ -1523,7 +1523,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 141 + src/gameobjects/components/Events.js line 141 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 96 + src/gameobjects/components/Events.js line 96 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 130 + src/gameobjects/components/Events.js line 130 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 35 + src/gameobjects/components/Events.js line 35 @@ -1842,7 +1842,7 @@

Source:
- src/gameobjects/components/Events.js line 43 + src/gameobjects/components/Events.js line 43 @@ -1885,9 +1885,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1904,7 +1904,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1933,7 +1933,7 @@

- + diff --git a/docs/Phaser.Filter.html b/docs/Phaser.Filter.html index 99159fc98..1f14d7e8f 100644 --- a/docs/Phaser.Filter.html +++ b/docs/Phaser.Filter.html @@ -6,7 +6,7 @@ Phaser CE Class: Filter - + @@ -323,7 +323,7 @@

Parameters:
Source:
- src/core/Filter.js line 35 + src/core/Filter.js line 35 @@ -435,7 +435,7 @@
Type:
Source:
- src/core/Filter.js line 66 + src/core/Filter.js line 66 @@ -515,7 +515,7 @@
Type:
Source:
- src/core/Filter.js line 120 + src/core/Filter.js line 120 @@ -592,7 +592,7 @@
Type:
Source:
- src/core/Filter.js line 40 + src/core/Filter.js line 40 @@ -669,7 +669,7 @@
Type:
Source:
- src/core/Filter.js line 285 + src/core/Filter.js line 285 @@ -746,7 +746,7 @@
Type:
Source:
- src/core/Filter.js line 72 + src/core/Filter.js line 72 @@ -823,7 +823,7 @@
Type:
Source:
- src/core/Filter.js line 77 + src/core/Filter.js line 77 @@ -900,7 +900,7 @@
Type:
Source:
- src/core/Filter.js line 46 + src/core/Filter.js line 46 @@ -977,7 +977,7 @@
Type:
Source:
- src/core/Filter.js line 88 + src/core/Filter.js line 88 @@ -1054,7 +1054,7 @@
Type:
Source:
- src/core/Filter.js line 265 + src/core/Filter.js line 265 @@ -1402,7 +1402,7 @@
Parameters:
Source:
- src/core/Filter.js line 176 + src/core/Filter.js line 176 @@ -1510,7 +1510,7 @@

Source:
- src/core/Filter.js line 244 + src/core/Filter.js line 244 @@ -1594,7 +1594,7 @@

Source:
- src/core/Filter.js line 126 + src/core/Filter.js line 126 @@ -1752,7 +1752,7 @@
Parameters:
Source:
- src/core/Filter.js line 137 + src/core/Filter.js line 137 @@ -1836,7 +1836,7 @@

Source:
- src/core/Filter.js line 230 + src/core/Filter.js line 230 @@ -1982,7 +1982,7 @@
Parameters:
Source:
- src/core/Filter.js line 151 + src/core/Filter.js line 151 @@ -2025,9 +2025,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2044,7 +2044,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2073,7 +2073,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexGrid.html b/docs/Phaser.FlexGrid.html index bb32d1cc5..3acc68a83 100644 --- a/docs/Phaser.FlexGrid.html +++ b/docs/Phaser.FlexGrid.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexGrid - + @@ -282,7 +282,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 21 + src/core/FlexGrid.js line 21 @@ -387,7 +387,7 @@
Type:
Source:
- src/core/FlexGrid.js line 26 + src/core/FlexGrid.js line 26 @@ -464,7 +464,7 @@
Type:
Source:
- src/core/FlexGrid.js line 31 + src/core/FlexGrid.js line 31 @@ -579,7 +579,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 46 + src/core/FlexGrid.js line 46 @@ -694,7 +694,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 55 + src/core/FlexGrid.js line 55 @@ -898,7 +898,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 104 + src/core/FlexGrid.js line 104 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 194 + src/core/FlexGrid.js line 194 @@ -1238,7 +1238,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 141 + src/core/FlexGrid.js line 141 @@ -1408,7 +1408,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 170 + src/core/FlexGrid.js line 170 @@ -1516,7 +1516,7 @@

Source:
- src/core/FlexGrid.js line 299 + src/core/FlexGrid.js line 299 @@ -1650,7 +1650,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 284 + src/core/FlexGrid.js line 284 @@ -1808,7 +1808,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 240 + src/core/FlexGrid.js line 240 @@ -1892,7 +1892,7 @@

Source:
- src/core/FlexGrid.js line 256 + src/core/FlexGrid.js line 256 @@ -1976,7 +1976,7 @@

Source:
- src/core/FlexGrid.js line 218 + src/core/FlexGrid.js line 218 @@ -2134,7 +2134,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 77 + src/core/FlexGrid.js line 77 @@ -2177,9 +2177,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2196,7 +2196,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2225,7 +2225,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexLayer.html b/docs/Phaser.FlexLayer.html index 57a571725..61aee644a 100644 --- a/docs/Phaser.FlexLayer.html +++ b/docs/Phaser.FlexLayer.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexLayer - + @@ -305,7 +305,7 @@
Parameters:
Source:
- src/core/FlexLayer.js line 22 + src/core/FlexLayer.js line 22 @@ -437,7 +437,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -523,7 +523,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -612,7 +612,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -700,7 +700,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -773,7 +773,7 @@
Type:
Source:
- src/core/FlexLayer.js line 76 + src/core/FlexLayer.js line 76 @@ -846,7 +846,7 @@
Type:
Source:
- src/core/FlexLayer.js line 81 + src/core/FlexLayer.js line 81 @@ -919,7 +919,7 @@
Type:
Source:
- src/core/FlexLayer.js line 86 + src/core/FlexLayer.js line 86 @@ -992,7 +992,7 @@
Type:
Source:
- src/core/FlexLayer.js line 51 + src/core/FlexLayer.js line 51 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1260,7 +1260,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1434,7 +1434,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1615,7 +1615,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1701,7 +1701,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1876,7 +1876,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1969,7 +1969,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2055,7 +2055,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2320,7 +2320,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2397,7 +2397,7 @@
Type:
Source:
- src/core/FlexLayer.js line 34 + src/core/FlexLayer.js line 34 @@ -2487,7 +2487,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2583,7 +2583,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2933,7 +2933,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3019,7 +3019,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3134,7 +3134,7 @@
Properties:
Source:
- src/core/FlexLayer.js line 29 + src/core/FlexLayer.js line 29 @@ -3223,7 +3223,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3399,7 +3399,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3489,7 +3489,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3579,7 +3579,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3670,7 +3670,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3845,7 +3845,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3935,7 +3935,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -4012,7 +4012,7 @@
Type:
Source:
- src/core/FlexLayer.js line 41 + src/core/FlexLayer.js line 41 @@ -4099,7 +4099,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -4192,7 +4192,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4278,7 +4278,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4365,7 +4365,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4443,7 +4443,7 @@
Type:
Source:
- src/core/FlexLayer.js line 46 + src/core/FlexLayer.js line 46 @@ -4530,7 +4530,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4618,7 +4618,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4706,7 +4706,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4784,7 +4784,7 @@
Type:
Source:
- src/core/FlexLayer.js line 56 + src/core/FlexLayer.js line 56 @@ -4872,7 +4872,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4945,7 +4945,7 @@
Type:
Source:
- src/core/FlexLayer.js line 61 + src/core/FlexLayer.js line 61 @@ -5018,7 +5018,7 @@
Type:
Source:
- src/core/FlexLayer.js line 66 + src/core/FlexLayer.js line 66 @@ -5091,7 +5091,7 @@
Type:
Source:
- src/core/FlexLayer.js line 71 + src/core/FlexLayer.js line 71 @@ -5177,7 +5177,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -5263,7 +5263,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -5349,7 +5349,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -5435,7 +5435,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5527,7 +5527,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5618,7 +5618,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5709,7 +5709,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5800,7 +5800,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5891,7 +5891,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5977,7 +5977,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6065,7 +6065,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -6153,7 +6153,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -6240,7 +6240,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6478,7 +6478,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6756,7 +6756,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6998,7 +6998,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -7165,7 +7165,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7356,7 +7356,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7587,7 +7587,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7758,7 +7758,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -8153,7 +8153,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -8496,7 +8496,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8840,7 +8840,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -9031,7 +9031,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -9174,7 +9174,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -9437,7 +9437,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9657,7 +9657,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9848,7 +9848,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -10164,7 +10164,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -10466,7 +10466,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10763,7 +10763,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10930,7 +10930,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -11117,7 +11117,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -11234,7 +11234,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -11351,7 +11351,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11745,7 +11745,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -12152,7 +12152,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -12365,7 +12365,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12449,7 +12449,7 @@

Source:
- src/core/FlexLayer.js line 101 + src/core/FlexLayer.js line 101 @@ -12616,7 +12616,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12820,7 +12820,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -13036,7 +13036,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -13240,7 +13240,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -13544,7 +13544,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13782,7 +13782,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -14020,7 +14020,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -14258,7 +14258,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14503,7 +14503,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14811,7 +14811,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14980,7 +14980,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -15101,7 +15101,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -15283,7 +15283,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -15452,7 +15452,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15619,7 +15619,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15786,7 +15786,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -16037,7 +16037,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -16228,7 +16228,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16587,7 +16587,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16946,7 +16946,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -17344,7 +17344,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17595,7 +17595,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17762,7 +17762,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17879,7 +17879,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -18106,7 +18106,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -18334,7 +18334,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -18452,7 +18452,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18644,7 +18644,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -19031,7 +19031,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -19148,7 +19148,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -19241,7 +19241,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -19440,7 +19440,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19607,7 +19607,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19774,7 +19774,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -20014,7 +20014,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -20108,7 +20108,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -20225,7 +20225,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -20318,7 +20318,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -20412,7 +20412,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20677,7 +20677,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20947,7 +20947,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -21224,7 +21224,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -21367,7 +21367,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -21534,7 +21534,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21725,7 +21725,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21869,7 +21869,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -22062,7 +22062,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -22416,7 +22416,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22722,7 +22722,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22910,7 +22910,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -23018,7 +23018,7 @@

Source:
- src/core/FlexLayer.js line 93 + src/core/FlexLayer.js line 93 @@ -23112,7 +23112,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -23205,7 +23205,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -23298,7 +23298,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -23501,7 +23501,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23644,7 +23644,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -24060,7 +24060,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -24442,7 +24442,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24800,7 +24800,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -24967,7 +24967,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -25286,7 +25286,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -25404,7 +25404,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -25611,7 +25611,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -25827,7 +25827,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -25995,7 +25995,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -26162,7 +26162,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -26305,7 +26305,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26518,7 +26518,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -26638,7 +26638,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -26731,7 +26731,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -26920,7 +26920,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -27040,7 +27040,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -27231,7 +27231,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -27274,9 +27274,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -27293,7 +27293,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -27322,7 +27322,7 @@
Parameters:
- + diff --git a/docs/Phaser.Frame.html b/docs/Phaser.Frame.html index 803312a76..8a2b21d1e 100644 --- a/docs/Phaser.Frame.html +++ b/docs/Phaser.Frame.html @@ -6,7 +6,7 @@ Phaser CE Class: Frame - + @@ -350,7 +350,7 @@
Parameters:
Source:
- src/animation/Frame.js line 19 + src/animation/Frame.js line 19 @@ -455,7 +455,7 @@
Type:
Source:
- src/animation/Frame.js line 125 + src/animation/Frame.js line 125 @@ -532,7 +532,7 @@
Type:
Source:
- src/animation/Frame.js line 59 + src/animation/Frame.js line 59 @@ -609,7 +609,7 @@
Type:
Source:
- src/animation/Frame.js line 64 + src/animation/Frame.js line 64 @@ -686,7 +686,7 @@
Type:
Source:
- src/animation/Frame.js line 69 + src/animation/Frame.js line 69 @@ -763,7 +763,7 @@
Type:
Source:
- src/animation/Frame.js line 44 + src/animation/Frame.js line 44 @@ -840,7 +840,7 @@
Type:
Source:
- src/animation/Frame.js line 24 + src/animation/Frame.js line 24 @@ -917,7 +917,7 @@
Type:
Source:
- src/animation/Frame.js line 54 + src/animation/Frame.js line 54 @@ -994,7 +994,7 @@
Type:
Source:
- src/animation/Frame.js line 120 + src/animation/Frame.js line 120 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/animation/Frame.js line 75 + src/animation/Frame.js line 75 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/animation/Frame.js line 91 + src/animation/Frame.js line 91 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/animation/Frame.js line 86 + src/animation/Frame.js line 86 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/animation/Frame.js line 115 + src/animation/Frame.js line 115 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/animation/Frame.js line 109 + src/animation/Frame.js line 109 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/animation/Frame.js line 97 + src/animation/Frame.js line 97 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/animation/Frame.js line 103 + src/animation/Frame.js line 103 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/animation/Frame.js line 81 + src/animation/Frame.js line 81 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/animation/Frame.js line 39 + src/animation/Frame.js line 39 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/animation/Frame.js line 29 + src/animation/Frame.js line 29 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/animation/Frame.js line 34 + src/animation/Frame.js line 34 @@ -1920,7 +1920,7 @@

Source:
- src/animation/Frame.js line 182 + src/animation/Frame.js line 182 @@ -2090,7 +2090,7 @@
Parameters:
Source:
- src/animation/Frame.js line 205 + src/animation/Frame.js line 205 @@ -2272,7 +2272,7 @@
Parameters:
Source:
- src/animation/Frame.js line 131 + src/animation/Frame.js line 131 @@ -2550,7 +2550,7 @@
Parameters:
Source:
- src/animation/Frame.js line 152 + src/animation/Frame.js line 152 @@ -2593,9 +2593,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2612,7 +2612,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2641,7 +2641,7 @@
Parameters:
- + diff --git a/docs/Phaser.FrameData.html b/docs/Phaser.FrameData.html index 8b1fc0350..8e56bb3de 100644 --- a/docs/Phaser.FrameData.html +++ b/docs/Phaser.FrameData.html @@ -6,7 +6,7 @@ Phaser CE Class: FrameData - + @@ -180,7 +180,7 @@

Source:
- src/animation/FrameData.js line 13 + src/animation/FrameData.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/animation/FrameData.js line 267 + src/animation/FrameData.js line 267 @@ -413,7 +413,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 31 + src/animation/FrameData.js line 31 @@ -571,7 +571,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 89 + src/animation/FrameData.js line 89 @@ -679,7 +679,7 @@

Source:
- src/animation/FrameData.js line 107 + src/animation/FrameData.js line 107 @@ -787,7 +787,7 @@

Source:
- src/animation/FrameData.js line 251 + src/animation/FrameData.js line 251 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 53 + src/animation/FrameData.js line 53 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 71 + src/animation/FrameData.js line 71 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 204 + src/animation/FrameData.js line 204 @@ -1568,7 +1568,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 135 + src/animation/FrameData.js line 135 @@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 157 + src/animation/FrameData.js line 157 @@ -1890,9 +1890,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1909,7 +1909,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1938,7 +1938,7 @@
Returns:
- + diff --git a/docs/Phaser.Game.html b/docs/Phaser.Game.html index 0638a8a64..c825292ca 100644 --- a/docs/Phaser.Game.html +++ b/docs/Phaser.Game.html @@ -6,7 +6,7 @@ Phaser CE Class: Game - + @@ -577,7 +577,7 @@
Parameters:
Source:
- src/core/Game.js line 73 + src/core/Game.js line 73 @@ -682,7 +682,7 @@
Type:
Source:
- src/core/Game.js line 220 + src/core/Game.js line 220 @@ -766,7 +766,7 @@
Type:
Source:
- src/core/Game.js line 152 + src/core/Game.js line 152 @@ -843,7 +843,7 @@
Type:
Source:
- src/core/Game.js line 230 + src/core/Game.js line 230 @@ -920,7 +920,7 @@
Type:
Source:
- src/core/Game.js line 305 + src/core/Game.js line 305 @@ -997,7 +997,7 @@
Type:
Source:
- src/core/Game.js line 310 + src/core/Game.js line 310 @@ -1083,7 +1083,7 @@
Type:
Source:
- src/core/Game.js line 180 + src/core/Game.js line 180 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/core/Game.js line 84 + src/core/Game.js line 84 @@ -1237,7 +1237,7 @@
Type:
Source:
- src/core/Game.js line 315 + src/core/Game.js line 315 @@ -1314,7 +1314,7 @@
Type:
Source:
- src/core/Game.js line 330 + src/core/Game.js line 330 @@ -1340,7 +1340,7 @@

-

The ID of the current/last logic update applied this render frame, starting from 0. +

The ID of the current/last logic update applied this animation frame, starting from 0. The first update is currentUpdateID === 0 and the last update is currentUpdateID === updatesThisFrame.

@@ -1392,7 +1392,7 @@
Type:
Source:
- src/core/Game.js line 400 + src/core/Game.js line 406 @@ -1469,7 +1469,7 @@
Type:
Source:
- src/core/Game.js line 320 + src/core/Game.js line 320 @@ -1546,7 +1546,161 @@
Type:
Source:
- src/core/Game.js line 300 + src/core/Game.js line 300 + + + + + + + +

+ + + +
+ + + +
+

+ dropFrames : boolean + +

+ +
+
+ +
+

When forceSingleUpdate is off, skip rendering if logic updates are spiraling upwards.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/Game.js line 467 + + + + + + + +
+ + + +
+ + + +
+

+ forceSingleRender : boolean + +

+ +
+
+ +
+

Should the game loop make one render per animation frame, even without a preceding logic update? (During spiraling conditions, dropFrames is used instead.)

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/Game.js line 462 @@ -1623,7 +1777,7 @@
Type:
Source:
- src/core/Game.js line 444 + src/core/Game.js line 457 @@ -1701,7 +1855,7 @@
Type:
Source:
- src/core/Game.js line 439 + src/core/Game.js line 452 @@ -1786,7 +1940,7 @@
Type:
Source:
- src/core/Game.js line 118 + src/core/Game.js line 118 @@ -1863,7 +2017,7 @@
Type:
Source:
- src/core/Game.js line 79 + src/core/Game.js line 79 @@ -1940,7 +2094,7 @@
Type:
Source:
- src/core/Game.js line 235 + src/core/Game.js line 235 @@ -2017,7 +2171,7 @@
Type:
Source:
- src/core/Game.js line 203 + src/core/Game.js line 203 @@ -2094,7 +2248,7 @@
Type:
Source:
- src/core/Game.js line 209 + src/core/Game.js line 209 @@ -2171,7 +2325,7 @@
Type:
Source:
- src/core/Game.js line 240 + src/core/Game.js line 240 @@ -2250,7 +2404,7 @@
Type:
Source:
- src/core/Game.js line 339 + src/core/Game.js line 339 @@ -2327,7 +2481,7 @@
Type:
Source:
- src/core/Game.js line 225 + src/core/Game.js line 225 @@ -2404,7 +2558,7 @@
Type:
Source:
- src/core/Game.js line 245 + src/core/Game.js line 245 @@ -2485,7 +2639,7 @@
Type:
Source:
- src/core/Game.js line 165 + src/core/Game.js line 165 @@ -2562,7 +2716,7 @@
Type:
Source:
- src/core/Game.js line 250 + src/core/Game.js line 250 @@ -2639,7 +2793,7 @@
Type:
Source:
- src/core/Game.js line 375 + src/core/Game.js line 381 @@ -2716,7 +2870,7 @@
Type:
Source:
- src/core/Game.js line 380 + src/core/Game.js line 386 @@ -2793,7 +2947,7 @@
Type:
Source:
- src/core/Game.js line 365 + src/core/Game.js line 371 @@ -2870,7 +3024,7 @@
Type:
Source:
- src/core/Game.js line 370 + src/core/Game.js line 376 @@ -2950,7 +3104,7 @@
Type:
Source:
- src/core/Game.js line 96 + src/core/Game.js line 96 @@ -3027,7 +3181,7 @@
Type:
Source:
- src/core/Game.js line 325 + src/core/Game.js line 325 @@ -3105,7 +3259,84 @@
Type:
Source:
- src/core/Game.js line 1275 + src/core/Game.js line 1360 + + + + + + + +
+ + + +
+ + + +
+

+ pendingDestroy : boolean + +

+ +
+
+ +
+

Destroy the game at the next update.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/Game.js line 345 @@ -3182,7 +3413,7 @@
Type:
Source:
- src/core/Game.js line 353 + src/core/Game.js line 359 @@ -3259,7 +3490,7 @@
Type:
Source:
- src/core/Game.js line 285 + src/core/Game.js line 285 @@ -3336,7 +3567,7 @@
Type:
Source:
- src/core/Game.js line 89 + src/core/Game.js line 89 @@ -3413,7 +3644,7 @@
Type:
Source:
- src/core/Game.js line 290 + src/core/Game.js line 290 @@ -3490,7 +3721,7 @@
Type:
Source:
- src/core/Game.js line 171 + src/core/Game.js line 171 @@ -3567,7 +3798,7 @@
Type:
Source:
- src/core/Game.js line 215 + src/core/Game.js line 215 @@ -3647,7 +3878,126 @@
Type:
Source:
- src/core/Game.js line 186 + src/core/Game.js line 186 + + + + + + + +
+ + + +
+ + + +
+

+ <protected> rendersThisFrame + +

+ +
+
+ +
+

Number of renders expected to occur this animation frame. May be 0 if is on or forceSingleRender is off; otherwise it will be 1.

+
+ + + + + +
+ + +
Properties:
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
updatesThisFrame + + +integer + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/Game.js line 420 @@ -3724,7 +4074,7 @@
Type:
Source:
- src/core/Game.js line 192 + src/core/Game.js line 192 @@ -3808,7 +4158,7 @@
Type:
Source:
- src/core/Game.js line 127 + src/core/Game.js line 127 @@ -3885,7 +4235,7 @@
Type:
Source:
- src/core/Game.js line 295 + src/core/Game.js line 295 @@ -3962,7 +4312,7 @@
Type:
Source:
- src/core/Game.js line 255 + src/core/Game.js line 255 @@ -4039,7 +4389,7 @@
Type:
Source:
- src/core/Game.js line 260 + src/core/Game.js line 260 @@ -4116,7 +4466,7 @@
Type:
Source:
- src/core/Game.js line 265 + src/core/Game.js line 265 @@ -4193,7 +4543,7 @@
Type:
Source:
- src/core/Game.js line 197 + src/core/Game.js line 197 @@ -4270,7 +4620,7 @@
Type:
Source:
- src/core/Game.js line 360 + src/core/Game.js line 366 @@ -4347,7 +4697,7 @@
Type:
Source:
- src/core/Game.js line 346 + src/core/Game.js line 352 @@ -4424,7 +4774,7 @@
Type:
Source:
- src/core/Game.js line 270 + src/core/Game.js line 270 @@ -4501,7 +4851,7 @@
Type:
Source:
- src/core/Game.js line 145 + src/core/Game.js line 145 @@ -4578,7 +4928,7 @@
Type:
Source:
- src/core/Game.js line 275 + src/core/Game.js line 275 @@ -4604,7 +4954,7 @@

-

Number of logic updates expected to occur this render frame; will be 1 unless there are catch-ups required (and allowed).

+

Number of logic updates expected to occur this animation frame; will be 1 unless there are catch-ups required (and allowed).

@@ -4655,7 +5005,7 @@
Type:
Source:
- src/core/Game.js line 407 + src/core/Game.js line 413 @@ -4740,7 +5090,7 @@
Type:
Source:
- src/core/Game.js line 107 + src/core/Game.js line 107 @@ -4817,7 +5167,7 @@
Type:
Source:
- src/core/Game.js line 280 + src/core/Game.js line 280 @@ -4895,7 +5245,7 @@

Source:
- src/core/Game.js line 618 + src/core/Game.js line 651 @@ -4938,6 +5288,7 @@

Calls destroy on Game.state, Game.sound, Game.scale, Game.stage, Game.input, Game.physics and Game.plugins.

Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM and resets the PIXI default renderer.

+

To destroy the game during an update callback, set pendingDestroy instead.

@@ -4982,7 +5333,7 @@

Source:
- src/core/Game.js line 1116 + src/core/Game.js line 1199 @@ -5066,7 +5417,7 @@

Source:
- src/core/Game.js line 1091 + src/core/Game.js line 1174 @@ -5151,7 +5502,7 @@

Source:
- src/core/Game.js line 1077 + src/core/Game.js line 1160 @@ -5285,7 +5636,7 @@
Parameters:
Source:
- src/core/Game.js line 1253 + src/core/Game.js line 1338 @@ -5419,7 +5770,7 @@
Parameters:
Source:
- src/core/Game.js line 1235 + src/core/Game.js line 1320 @@ -5553,7 +5904,7 @@
Parameters:
Source:
- src/core/Game.js line 1169 + src/core/Game.js line 1254 @@ -5687,7 +6038,7 @@
Parameters:
Source:
- src/core/Game.js line 1201 + src/core/Game.js line 1286 @@ -5771,7 +6122,7 @@

Source:
- src/core/Game.js line 533 + src/core/Game.js line 566 @@ -5855,7 +6206,7 @@

Source:
- src/core/Game.js line 783 + src/core/Game.js line 821 @@ -5939,7 +6290,7 @@

Source:
- src/core/Game.js line 716 + src/core/Game.js line 754 @@ -6024,7 +6375,7 @@

Source:
- src/core/Game.js line 1103 + src/core/Game.js line 1186 @@ -6158,7 +6509,7 @@
Parameters:
Source:
- src/core/Game.js line 893 + src/core/Game.js line 947 @@ -6292,7 +6643,7 @@
Parameters:
Source:
- src/core/Game.js line 993 + src/core/Game.js line 1071 @@ -6434,7 +6785,7 @@
Parameters:
Source:
- src/core/Game.js line 1040 + src/core/Game.js line 1121 @@ -6477,9 +6828,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6496,7 +6847,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6525,7 +6876,7 @@
Parameters:
- + diff --git a/docs/Phaser.GameObjectCreator.html b/docs/Phaser.GameObjectCreator.html index 7b1d98547..744cf02a7 100644 --- a/docs/Phaser.GameObjectCreator.html +++ b/docs/Phaser.GameObjectCreator.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectCreator - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 15 + src/gameobjects/GameObjectCreator.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 21 + src/gameobjects/GameObjectCreator.js line 21 @@ -413,7 +413,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 27 + src/gameobjects/GameObjectCreator.js line 27 @@ -677,7 +677,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 118 + src/gameobjects/GameObjectCreator.js line 118 @@ -835,7 +835,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 134 + src/gameobjects/GameObjectCreator.js line 134 @@ -1134,7 +1134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 379 + src/gameobjects/GameObjectCreator.js line 379 @@ -1511,7 +1511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 297 + src/gameobjects/GameObjectCreator.js line 297 @@ -1965,7 +1965,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 215 + src/gameobjects/GameObjectCreator.js line 215 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 250 + src/gameobjects/GameObjectCreator.js line 250 @@ -2408,7 +2408,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 407 + src/gameobjects/GameObjectCreator.js line 407 @@ -2626,7 +2626,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 236 + src/gameobjects/GameObjectCreator.js line 236 @@ -2960,7 +2960,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 83 + src/gameobjects/GameObjectCreator.js line 83 @@ -3237,7 +3237,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 33 + src/gameobjects/GameObjectCreator.js line 33 @@ -3535,7 +3535,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 353 + src/gameobjects/GameObjectCreator.js line 353 @@ -4019,7 +4019,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 269 + src/gameobjects/GameObjectCreator.js line 269 @@ -4309,7 +4309,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 181 + src/gameobjects/GameObjectCreator.js line 181 @@ -4603,7 +4603,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 147 + src/gameobjects/GameObjectCreator.js line 147 @@ -4878,7 +4878,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 52 + src/gameobjects/GameObjectCreator.js line 52 @@ -5132,7 +5132,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 100 + src/gameobjects/GameObjectCreator.js line 100 @@ -5362,7 +5362,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 199 + src/gameobjects/GameObjectCreator.js line 199 @@ -5703,7 +5703,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 331 + src/gameobjects/GameObjectCreator.js line 331 @@ -5966,7 +5966,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 163 + src/gameobjects/GameObjectCreator.js line 163 @@ -6125,7 +6125,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 68 + src/gameobjects/GameObjectCreator.js line 68 @@ -6192,9 +6192,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6211,7 +6211,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6240,7 +6240,7 @@
Returns:
- + diff --git a/docs/Phaser.GameObjectFactory.html b/docs/Phaser.GameObjectFactory.html index c4e841625..746bcc518 100644 --- a/docs/Phaser.GameObjectFactory.html +++ b/docs/Phaser.GameObjectFactory.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectFactory - + @@ -232,7 +232,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 17 + src/gameobjects/GameObjectFactory.js line 17 @@ -337,7 +337,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 23 + src/gameobjects/GameObjectFactory.js line 23 @@ -414,7 +414,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 29 + src/gameobjects/GameObjectFactory.js line 29 @@ -678,7 +678,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 236 + src/gameobjects/GameObjectFactory.js line 236 @@ -836,7 +836,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 268 + src/gameobjects/GameObjectFactory.js line 268 @@ -1135,7 +1135,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 532 + src/gameobjects/GameObjectFactory.js line 532 @@ -1513,7 +1513,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 431 + src/gameobjects/GameObjectFactory.js line 431 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 343 + src/gameobjects/GameObjectFactory.js line 343 @@ -2356,7 +2356,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 131 + src/gameobjects/GameObjectFactory.js line 131 @@ -2617,7 +2617,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 384 + src/gameobjects/GameObjectFactory.js line 384 @@ -2775,7 +2775,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 35 + src/gameobjects/GameObjectFactory.js line 35 @@ -2957,7 +2957,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 560 + src/gameobjects/GameObjectFactory.js line 560 @@ -3216,7 +3216,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 367 + src/gameobjects/GameObjectFactory.js line 367 @@ -3552,7 +3552,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 179 + src/gameobjects/GameObjectFactory.js line 179 @@ -3905,7 +3905,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 84 + src/gameobjects/GameObjectFactory.js line 84 @@ -4203,7 +4203,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 196 + src/gameobjects/GameObjectFactory.js line 196 @@ -4409,7 +4409,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 580 + src/gameobjects/GameObjectFactory.js line 580 @@ -4707,7 +4707,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 490 + src/gameobjects/GameObjectFactory.js line 490 @@ -5191,7 +5191,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 403 + src/gameobjects/GameObjectFactory.js line 403 @@ -5578,7 +5578,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 302 + src/gameobjects/GameObjectFactory.js line 302 @@ -5872,7 +5872,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 252 + src/gameobjects/GameObjectFactory.js line 252 @@ -6225,7 +6225,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 108 + src/gameobjects/GameObjectFactory.js line 108 @@ -6484,7 +6484,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 215 + src/gameobjects/GameObjectFactory.js line 215 @@ -6821,7 +6821,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 324 + src/gameobjects/GameObjectFactory.js line 324 @@ -7162,7 +7162,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 467 + src/gameobjects/GameObjectFactory.js line 467 @@ -7538,7 +7538,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 281 + src/gameobjects/GameObjectFactory.js line 281 @@ -7697,7 +7697,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 164 + src/gameobjects/GameObjectFactory.js line 164 @@ -7922,7 +7922,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 516 + src/gameobjects/GameObjectFactory.js line 516 @@ -8274,7 +8274,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 48 + src/gameobjects/GameObjectFactory.js line 48 @@ -8341,9 +8341,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -8360,7 +8360,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -8389,7 +8389,7 @@
Returns:
- + diff --git a/docs/Phaser.Gamepad.html b/docs/Phaser.Gamepad.html index 366094408..7705dd8c3 100644 --- a/docs/Phaser.Gamepad.html +++ b/docs/Phaser.Gamepad.html @@ -6,7 +6,7 @@ Phaser CE Class: Gamepad - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 21 + src/input/Gamepad.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/input/Gamepad.js line 496 + src/input/Gamepad.js line 496 @@ -417,7 +417,7 @@
Type:
Source:
- src/input/Gamepad.js line 80 + src/input/Gamepad.js line 80 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Gamepad.js line 52 + src/input/Gamepad.js line 52 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Gamepad.js line 26 + src/input/Gamepad.js line 26 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Gamepad.js line 105 + src/input/Gamepad.js line 105 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Gamepad.js line 85 + src/input/Gamepad.js line 85 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Gamepad.js line 90 + src/input/Gamepad.js line 90 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Gamepad.js line 95 + src/input/Gamepad.js line 95 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Gamepad.js line 110 + src/input/Gamepad.js line 110 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Gamepad.js line 100 + src/input/Gamepad.js line 100 @@ -1117,7 +1117,7 @@
Type:
Source:
- src/input/Gamepad.js line 538 + src/input/Gamepad.js line 538 @@ -1194,7 +1194,7 @@
Type:
Source:
- src/input/Gamepad.js line 552 + src/input/Gamepad.js line 552 @@ -1271,7 +1271,7 @@
Type:
Source:
- src/input/Gamepad.js line 566 + src/input/Gamepad.js line 566 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/input/Gamepad.js line 580 + src/input/Gamepad.js line 580 @@ -1425,7 +1425,7 @@
Type:
Source:
- src/input/Gamepad.js line 524 + src/input/Gamepad.js line 524 @@ -1502,7 +1502,7 @@
Type:
Source:
- src/input/Gamepad.js line 510 + src/input/Gamepad.js line 510 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 139 + src/input/Gamepad.js line 139 @@ -1739,7 +1739,7 @@

Source:
- src/input/Gamepad.js line 476 + src/input/Gamepad.js line 476 @@ -1873,7 +1873,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 457 + src/input/Gamepad.js line 457 @@ -1936,7 +1936,7 @@

-

Returns the "just pressed" state of a button from ANY gamepad connected. Just pressed is considered true if the button was pressed down within the duration given (default 250ms).

+

Returns the "just released" state of a button from ANY gamepad connected. Just released is considered as being true if the button was released within the duration given (default 250ms).

@@ -2044,7 +2044,7 @@

Parameters:
-

The duration below which the button is considered as being just pressed.

+

The duration below which the button is considered as being just released.

@@ -2087,7 +2087,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 415 + src/input/Gamepad.js line 436 @@ -2113,7 +2113,7 @@
Returns:
-

True if the button is just pressed otherwise false.

+

True if the button is just released otherwise false.

@@ -2150,7 +2150,7 @@

-

Returns the "just released" state of a button from ANY gamepad connected. Just released is considered as being true if the button was released within the duration given (default 250ms).

+

Returns the "just pressed" state of a button from ANY gamepad connected. Just pressed is considered true if the button was pressed down within the duration given (default 250ms).

@@ -2258,7 +2258,7 @@

Parameters:
-

The duration below which the button is considered as being just released.

+

The duration below which the button is considered as being just pressed.

@@ -2301,7 +2301,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 436 + src/input/Gamepad.js line 415 @@ -2327,7 +2327,7 @@
Returns:
-

True if the button is just released otherwise false.

+

True if the button is just pressed otherwise false.

@@ -2409,7 +2409,7 @@

Source:
- src/input/Gamepad.js line 400 + src/input/Gamepad.js line 400 @@ -2493,7 +2493,7 @@

Source:
- src/input/Gamepad.js line 373 + src/input/Gamepad.js line 373 @@ -2578,7 +2578,7 @@

Source:
- src/input/Gamepad.js line 162 + src/input/Gamepad.js line 162 @@ -2662,7 +2662,7 @@

Source:
- src/input/Gamepad.js line 386 + src/input/Gamepad.js line 386 @@ -2746,7 +2746,7 @@

Source:
- src/input/Gamepad.js line 231 + src/input/Gamepad.js line 231 @@ -2789,9 +2789,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2808,7 +2808,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2837,7 +2837,7 @@

- + diff --git a/docs/Phaser.Graphics.html b/docs/Phaser.Graphics.html index 331ed59da..6f3bd60fc 100644 --- a/docs/Phaser.Graphics.html +++ b/docs/Phaser.Graphics.html @@ -6,7 +6,7 @@ Phaser CE Class: Graphics - + @@ -340,7 +340,7 @@

Parameters:
Source:
- src/gameobjects/Graphics.js line 50 + src/gameobjects/Graphics.js line 50 @@ -498,7 +498,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -594,7 +594,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -685,7 +685,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -772,7 +772,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -869,7 +869,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -953,7 +953,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 127 + src/gameobjects/Graphics.js line 127 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1143,7 +1143,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1220,7 +1220,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 161 + src/gameobjects/Graphics.js line 161 @@ -1313,7 +1313,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1400,7 +1400,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1574,7 +1574,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1666,7 +1666,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1752,7 +1752,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1838,7 +1838,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1934,7 +1934,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2020,7 +2020,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2107,7 +2107,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2194,7 +2194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2292,7 +2292,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2369,7 +2369,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 83 + src/gameobjects/Graphics.js line 83 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2546,7 +2546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2639,7 +2639,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2726,7 +2726,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2812,7 +2812,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2996,7 +2996,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3083,7 +3083,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3174,7 +3174,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3267,7 +3267,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3353,7 +3353,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -3430,7 +3430,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 153 + src/gameobjects/Graphics.js line 153 @@ -3532,7 +3532,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3619,7 +3619,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3709,7 +3709,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -3793,7 +3793,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 100 + src/gameobjects/Graphics.js line 100 @@ -3870,7 +3870,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 91 + src/gameobjects/Graphics.js line 91 @@ -3959,7 +3959,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4046,7 +4046,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4134,7 +4134,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4222,7 +4222,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4308,7 +4308,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4395,7 +4395,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4484,7 +4484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4573,7 +4573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4650,7 +4650,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 65 + src/gameobjects/Graphics.js line 65 @@ -4737,7 +4737,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4825,7 +4825,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4911,7 +4911,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4997,7 +4997,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5089,7 +5089,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5263,7 +5263,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5352,7 +5352,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5441,7 +5441,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5467,7 +5467,7 @@

-

The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF to reset the tint.

+

The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF (Phaser.Color.WHITE) to reset the tint.

@@ -5525,7 +5525,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 118 + src/gameobjects/Graphics.js line 118 @@ -5612,7 +5612,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5689,7 +5689,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 59 + src/gameobjects/Graphics.js line 59 @@ -5787,7 +5787,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -5875,7 +5875,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -5972,7 +5972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6154,7 +6154,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6245,7 +6245,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6341,7 +6341,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6427,7 +6427,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6519,7 +6519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6700,7 +6700,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -6837,7 +6837,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7028,7 +7028,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7371,7 +7371,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7715,7 +7715,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8017,7 +8017,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 650 + src/gameobjects/Graphics.js line 650 @@ -8268,7 +8268,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 579 + src/gameobjects/Graphics.js line 579 @@ -8447,7 +8447,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 737 + src/gameobjects/Graphics.js line 737 @@ -8721,7 +8721,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 519 + src/gameobjects/Graphics.js line 519 @@ -8825,7 +8825,7 @@

Source:
- src/gameobjects/Graphics.js line 886 + src/gameobjects/Graphics.js line 886 @@ -8988,7 +8988,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9142,7 +9142,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1254 + src/gameobjects/Graphics.js line 1254 @@ -9325,7 +9325,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 266 + src/gameobjects/Graphics.js line 266 @@ -9409,7 +9409,7 @@

Source:
- src/gameobjects/Graphics.js line 1464 + src/gameobjects/Graphics.js line 1464 @@ -9591,7 +9591,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 815 + src/gameobjects/Graphics.js line 815 @@ -9817,7 +9817,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 832 + src/gameobjects/Graphics.js line 832 @@ -9974,7 +9974,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 850 + src/gameobjects/Graphics.js line 850 @@ -10196,7 +10196,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 782 + src/gameobjects/Graphics.js line 782 @@ -10442,7 +10442,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 799 + src/gameobjects/Graphics.js line 799 @@ -10588,7 +10588,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1476 + src/gameobjects/Graphics.js line 1476 @@ -10802,7 +10802,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 280 + src/gameobjects/Graphics.js line 280 @@ -11035,7 +11035,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 312 + src/gameobjects/Graphics.js line 312 @@ -11119,7 +11119,7 @@

Source:
- src/gameobjects/Graphics.js line 766 + src/gameobjects/Graphics.js line 766 @@ -11380,7 +11380,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 908 + src/gameobjects/Graphics.js line 908 @@ -11493,7 +11493,7 @@

Source:
- src/gameobjects/Graphics.js line 1128 + src/gameobjects/Graphics.js line 1128 @@ -11660,7 +11660,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -11827,7 +11827,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11940,7 +11940,7 @@

Source:
- src/gameobjects/Graphics.js line 1218 + src/gameobjects/Graphics.js line 1218 @@ -12061,7 +12061,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -12267,7 +12267,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 388 + src/gameobjects/Graphics.js line 388 @@ -12446,7 +12446,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 439 + src/gameobjects/Graphics.js line 439 @@ -12624,7 +12624,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 423 + src/gameobjects/Graphics.js line 423 @@ -12733,7 +12733,7 @@

Source:
- src/gameobjects/Graphics.js line 243 + src/gameobjects/Graphics.js line 243 @@ -12822,7 +12822,7 @@

Source:
- src/gameobjects/Graphics.js line 227 + src/gameobjects/Graphics.js line 227 @@ -12915,7 +12915,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -13122,7 +13122,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 463 + src/gameobjects/Graphics.js line 463 @@ -13285,7 +13285,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -13452,7 +13452,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -13643,7 +13643,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13882,7 +13882,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14071,7 +14071,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -14262,7 +14262,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14429,7 +14429,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14572,7 +14572,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14785,7 +14785,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -14906,7 +14906,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -14999,7 +14999,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15109,7 +15109,7 @@

Source:
- src/gameobjects/Graphics.js line 1285 + src/gameobjects/Graphics.js line 1285 @@ -15272,7 +15272,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15341,9 +15341,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -15360,7 +15360,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -15389,7 +15389,7 @@
Returns:
- + diff --git a/docs/Phaser.Group.html b/docs/Phaser.Group.html index 3fdd58e42..168e865eb 100644 --- a/docs/Phaser.Group.html +++ b/docs/Phaser.Group.html @@ -6,7 +6,7 @@ Phaser CE Class: Group - + @@ -454,7 +454,7 @@
Parameters:
Source:
- src/core/Group.js line 27 + src/core/Group.js line 27 @@ -570,7 +570,7 @@
Type:
Source:
- src/core/Group.js line 332 + src/core/Group.js line 332 @@ -647,7 +647,7 @@
Type:
Source:
- src/core/Group.js line 325 + src/core/Group.js line 325 @@ -724,7 +724,7 @@
Type:
Source:
- src/core/Group.js line 311 + src/core/Group.js line 311 @@ -801,7 +801,7 @@
Type:
Source:
- src/core/Group.js line 318 + src/core/Group.js line 318 @@ -878,7 +878,7 @@
Type:
Source:
- src/core/Group.js line 339 + src/core/Group.js line 339 @@ -955,7 +955,7 @@
Type:
Source:
- src/core/Group.js line 346 + src/core/Group.js line 346 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -1201,7 +1201,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1609,7 +1609,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1780,7 +1780,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1858,7 +1858,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -2014,7 +2014,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2176,7 +2176,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2262,7 +2262,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2358,7 +2358,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2437,7 +2437,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2514,7 +2514,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2595,7 +2595,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2691,7 +2691,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2779,7 +2779,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2856,7 +2856,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3014,7 +3014,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3091,7 +3091,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3180,7 +3180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3257,7 +3257,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3338,7 +3338,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3419,7 +3419,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3500,7 +3500,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3582,7 +3582,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3659,7 +3659,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3748,7 +3748,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3829,7 +3829,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3907,7 +3907,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3991,7 +3991,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4068,7 +4068,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4155,7 +4155,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4243,7 +4243,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4330,7 +4330,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4409,7 +4409,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4493,7 +4493,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4661,7 +4661,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4738,7 +4738,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4815,7 +4815,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -4892,7 +4892,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4974,7 +4974,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5066,7 +5066,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5157,7 +5157,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5248,7 +5248,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5339,7 +5339,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5430,7 +5430,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5516,7 +5516,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5600,7 +5600,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5684,7 +5684,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5762,7 +5762,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5991,7 +5991,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6260,7 +6260,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6493,7 +6493,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6660,7 +6660,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6851,7 +6851,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7073,7 +7073,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7235,7 +7235,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7621,7 +7621,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -7955,7 +7955,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8290,7 +8290,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8472,7 +8472,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8606,7 +8606,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -8860,7 +8860,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9071,7 +9071,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9253,7 +9253,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9560,7 +9560,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -9853,7 +9853,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10141,7 +10141,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10308,7 +10308,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10486,7 +10486,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10594,7 +10594,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10702,7 +10702,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11087,7 +11087,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11485,7 +11485,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11689,7 +11689,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -11847,7 +11847,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12047,7 +12047,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12254,7 +12254,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12449,7 +12449,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -12744,7 +12744,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -12973,7 +12973,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13202,7 +13202,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13431,7 +13431,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13676,7 +13676,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -13975,7 +13975,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14135,7 +14135,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14247,7 +14247,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14429,7 +14429,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14589,7 +14589,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -14756,7 +14756,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -14923,7 +14923,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15165,7 +15165,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15347,7 +15347,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -15697,7 +15697,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16047,7 +16047,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16436,7 +16436,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -16678,7 +16678,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -16836,7 +16836,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -16953,7 +16953,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17171,7 +17171,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17390,7 +17390,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -17499,7 +17499,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -17682,7 +17682,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18060,7 +18060,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18168,7 +18168,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18252,7 +18252,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -18442,7 +18442,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -18600,7 +18600,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -18758,7 +18758,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -18989,7 +18989,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19074,7 +19074,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19182,7 +19182,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19271,7 +19271,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -19356,7 +19356,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -19612,7 +19612,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -19873,7 +19873,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20141,7 +20141,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20284,7 +20284,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20451,7 +20451,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -20642,7 +20642,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -20777,7 +20777,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -20961,7 +20961,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -21306,7 +21306,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -21603,7 +21603,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -21782,7 +21782,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -21891,7 +21891,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -21975,7 +21975,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22059,7 +22059,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -22253,7 +22253,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -22387,7 +22387,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -22794,7 +22794,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23167,7 +23167,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -23516,7 +23516,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -23683,7 +23683,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -23993,7 +23993,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24102,7 +24102,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -24300,7 +24300,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -24507,7 +24507,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -24666,7 +24666,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -24833,7 +24833,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -24976,7 +24976,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25189,7 +25189,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -25300,7 +25300,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -25393,7 +25393,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -25582,7 +25582,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -25693,7 +25693,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -25875,7 +25875,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -25918,9 +25918,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -25937,7 +25937,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -25966,7 +25966,7 @@
Parameters:
- + diff --git a/docs/Phaser.Hermite.html b/docs/Phaser.Hermite.html index 36a14406e..74dc75a32 100644 --- a/docs/Phaser.Hermite.html +++ b/docs/Phaser.Hermite.html @@ -6,7 +6,7 @@ Phaser CE Class: Hermite - + @@ -551,7 +551,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 39 + src/geom/Hermite.js line 39 @@ -656,7 +656,7 @@
Type:
Source:
- src/geom/Hermite.js line 396 + src/geom/Hermite.js line 396 @@ -733,7 +733,7 @@
Type:
Source:
- src/geom/Hermite.js line 420 + src/geom/Hermite.js line 420 @@ -810,7 +810,7 @@
Type:
Source:
- src/geom/Hermite.js line 444 + src/geom/Hermite.js line 444 @@ -887,7 +887,7 @@
Type:
Source:
- src/geom/Hermite.js line 468 + src/geom/Hermite.js line 468 @@ -964,7 +964,7 @@
Type:
Source:
- src/geom/Hermite.js line 492 + src/geom/Hermite.js line 492 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/geom/Hermite.js line 516 + src/geom/Hermite.js line 516 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/geom/Hermite.js line 540 + src/geom/Hermite.js line 540 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/geom/Hermite.js line 564 + src/geom/Hermite.js line 564 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/geom/Hermite.js line 588 + src/geom/Hermite.js line 588 @@ -1350,7 +1350,7 @@

Source:
- src/geom/Hermite.js line 146 + src/geom/Hermite.js line 146 @@ -1509,7 +1509,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 173 + src/geom/Hermite.js line 173 @@ -1687,7 +1687,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 336 + src/geom/Hermite.js line 336 @@ -1865,7 +1865,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 354 + src/geom/Hermite.js line 354 @@ -2026,7 +2026,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 376 + src/geom/Hermite.js line 376 @@ -2245,7 +2245,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 276 + src/geom/Hermite.js line 276 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 309 + src/geom/Hermite.js line 309 @@ -2642,7 +2642,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 210 + src/geom/Hermite.js line 210 @@ -2820,7 +2820,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 243 + src/geom/Hermite.js line 243 @@ -2930,7 +2930,7 @@

Source:
- src/geom/Hermite.js line 123 + src/geom/Hermite.js line 123 @@ -2997,9 +2997,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3016,7 +3016,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3045,7 +3045,7 @@
Returns:
- + diff --git a/docs/Phaser.Image.html b/docs/Phaser.Image.html index 21421bd33..47787c663 100644 --- a/docs/Phaser.Image.html +++ b/docs/Phaser.Image.html @@ -6,7 +6,7 @@ Phaser CE Class: Image - + @@ -415,7 +415,7 @@
Parameters:
Source:
- src/gameobjects/Image.js line 37 + src/gameobjects/Image.js line 37 @@ -583,7 +583,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -679,7 +679,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -769,7 +769,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -860,7 +860,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -947,7 +947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1751,7 +1751,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2021,7 +2021,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2108,7 +2108,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2195,7 +2195,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2300,7 +2300,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2386,7 +2386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2477,7 +2477,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2570,7 +2570,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -2752,7 +2752,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -2839,7 +2839,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -2925,7 +2925,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3021,7 +3021,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3109,7 +3109,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3287,7 +3287,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3380,7 +3380,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3482,7 +3482,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3569,7 +3569,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3659,7 +3659,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -3748,7 +3748,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3835,7 +3835,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -3923,7 +3923,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4011,7 +4011,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4100,7 +4100,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4189,7 +4189,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4276,7 +4276,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4536,7 +4536,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -4623,7 +4623,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4710,7 +4710,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -4797,7 +4797,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -4886,7 +4886,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -4975,7 +4975,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5063,7 +5063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5151,7 +5151,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5245,7 +5245,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -5333,7 +5333,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5419,7 +5419,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -5445,7 +5445,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -5512,7 +5512,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -5605,7 +5605,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -5692,7 +5692,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5778,7 +5778,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -5864,7 +5864,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -5941,7 +5941,7 @@
Type:
Source:
- src/gameobjects/Image.js line 48 + src/gameobjects/Image.js line 48 @@ -6039,7 +6039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6127,7 +6127,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6219,7 +6219,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6310,7 +6310,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6401,7 +6401,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6492,7 +6492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6583,7 +6583,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6669,7 +6669,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -6756,7 +6756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -6843,7 +6843,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -6932,7 +6932,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7069,7 +7069,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7260,7 +7260,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7603,7 +7603,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -7947,7 +7947,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8067,7 +8067,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8234,7 +8234,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8460,7 +8460,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8560,7 +8560,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -8805,7 +8805,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -8981,7 +8981,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -9148,7 +9148,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9315,7 +9315,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9432,7 +9432,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -9553,7 +9553,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -9838,7 +9838,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -9934,7 +9934,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -10054,7 +10054,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -10237,7 +10237,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10543,7 +10543,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10660,7 +10660,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -10749,7 +10749,7 @@

Source:
- src/gameobjects/Image.js line 81 + src/gameobjects/Image.js line 81 @@ -10842,7 +10842,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -10985,7 +10985,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -11152,7 +11152,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -11343,7 +11343,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -11582,7 +11582,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11699,7 +11699,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -11892,7 +11892,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12057,7 +12057,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -12177,7 +12177,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -12368,7 +12368,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -12512,7 +12512,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -12749,7 +12749,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -13116,7 +13116,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -13259,7 +13259,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13472,7 +13472,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -13593,7 +13593,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -13686,7 +13686,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -13806,7 +13806,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -13969,7 +13969,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -14038,9 +14038,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -14057,7 +14057,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -14086,7 +14086,7 @@
Returns:
- + diff --git a/docs/Phaser.ImageCollection.html b/docs/Phaser.ImageCollection.html index 337e446f0..e658ca4d3 100644 --- a/docs/Phaser.ImageCollection.html +++ b/docs/Phaser.ImageCollection.html @@ -6,7 +6,7 @@ Phaser CE Class: ImageCollection - + @@ -483,7 +483,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 22 + src/tilemap/ImageCollection.js line 22 @@ -589,7 +589,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 40 + src/tilemap/ImageCollection.js line 40 @@ -666,7 +666,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 54 + src/tilemap/ImageCollection.js line 54 @@ -786,7 +786,7 @@
Properties:
Source:
- src/tilemap/ImageCollection.js line 63 + src/tilemap/ImageCollection.js line 63 @@ -863,7 +863,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 85 + src/tilemap/ImageCollection.js line 85 @@ -941,7 +941,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 71 + src/tilemap/ImageCollection.js line 71 @@ -1018,7 +1018,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 47 + src/tilemap/ImageCollection.js line 47 @@ -1095,7 +1095,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 33 + src/tilemap/ImageCollection.js line 33 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 77 + src/tilemap/ImageCollection.js line 77 @@ -1249,7 +1249,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 93 + src/tilemap/ImageCollection.js line 93 @@ -1401,7 +1401,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 114 + src/tilemap/ImageCollection.js line 114 @@ -1535,7 +1535,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 98 + src/tilemap/ImageCollection.js line 98 @@ -1602,9 +1602,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1621,7 +1621,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1650,7 +1650,7 @@
Returns:
- + diff --git a/docs/Phaser.Input.html b/docs/Phaser.Input.html index 3d72bb473..4f71a116b 100644 --- a/docs/Phaser.Input.html +++ b/docs/Phaser.Input.html @@ -6,7 +6,7 @@ Phaser CE Class: Input - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/input/Input.js line 15 + src/input/Input.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Input.js line 405 + src/input/Input.js line 405 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Input.js line 386 + src/input/Input.js line 386 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Input.js line 398 + src/input/Input.js line 398 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Input.js line 392 + src/input/Input.js line 392 @@ -633,7 +633,7 @@
Type:
Source:
- src/input/Input.js line 232 + src/input/Input.js line 232 @@ -711,7 +711,7 @@
Type:
Source:
- src/input/Input.js line 91 + src/input/Input.js line 91 @@ -795,7 +795,7 @@
Type:
Source:
- src/input/Input.js line 114 + src/input/Input.js line 114 @@ -880,7 +880,7 @@
Type:
Source:
- src/input/Input.js line 67 + src/input/Input.js line 67 @@ -957,7 +957,7 @@
Type:
Source:
- src/input/Input.js line 20 + src/input/Input.js line 20 @@ -1034,7 +1034,7 @@
Type:
Source:
- src/input/Input.js line 283 + src/input/Input.js line 283 @@ -1111,7 +1111,7 @@
Type:
Source:
- src/input/Input.js line 26 + src/input/Input.js line 26 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/input/Input.js line 32 + src/input/Input.js line 32 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/input/Input.js line 120 + src/input/Input.js line 120 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/input/Input.js line 348 + src/input/Input.js line 348 @@ -1433,7 +1433,7 @@
Type:
Source:
- src/input/Input.js line 126 + src/input/Input.js line 126 @@ -1517,7 +1517,7 @@
Type:
Source:
- src/input/Input.js line 132 + src/input/Input.js line 132 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/input/Input.js line 256 + src/input/Input.js line 256 @@ -1678,7 +1678,7 @@
Type:
Source:
- src/input/Input.js line 102 + src/input/Input.js line 102 @@ -1756,7 +1756,7 @@
Type:
Source:
- src/input/Input.js line 342 + src/input/Input.js line 342 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/input/Input.js line 249 + src/input/Input.js line 249 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/input/Input.js line 239 + src/input/Input.js line 239 @@ -1990,7 +1990,7 @@
Type:
Source:
- src/input/Input.js line 40 + src/input/Input.js line 40 @@ -2069,7 +2069,7 @@
Type:
Source:
- src/input/Input.js line 276 + src/input/Input.js line 276 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/input/Input.js line 73 + src/input/Input.js line 73 @@ -2228,7 +2228,7 @@
Type:
Source:
- src/input/Input.js line 302 + src/input/Input.js line 302 @@ -2309,7 +2309,7 @@
Type:
Source:
- src/input/Input.js line 334 + src/input/Input.js line 334 @@ -2391,7 +2391,7 @@
Type:
Source:
- src/input/Input.js line 324 + src/input/Input.js line 324 @@ -2473,7 +2473,7 @@
Type:
Source:
- src/input/Input.js line 313 + src/input/Input.js line 313 @@ -2550,7 +2550,7 @@
Type:
Source:
- src/input/Input.js line 169 + src/input/Input.js line 169 @@ -2627,7 +2627,7 @@
Type:
Source:
- src/input/Input.js line 174 + src/input/Input.js line 174 @@ -2704,7 +2704,7 @@
Type:
Source:
- src/input/Input.js line 179 + src/input/Input.js line 179 @@ -2781,7 +2781,7 @@
Type:
Source:
- src/input/Input.js line 184 + src/input/Input.js line 184 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/input/Input.js line 189 + src/input/Input.js line 189 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/input/Input.js line 194 + src/input/Input.js line 194 @@ -3012,7 +3012,7 @@
Type:
Source:
- src/input/Input.js line 199 + src/input/Input.js line 199 @@ -3089,7 +3089,7 @@
Type:
Source:
- src/input/Input.js line 204 + src/input/Input.js line 204 @@ -3166,7 +3166,7 @@
Type:
Source:
- src/input/Input.js line 209 + src/input/Input.js line 209 @@ -3243,7 +3243,7 @@
Type:
Source:
- src/input/Input.js line 214 + src/input/Input.js line 214 @@ -3321,7 +3321,7 @@
Type:
Source:
- src/input/Input.js line 223 + src/input/Input.js line 223 @@ -3398,7 +3398,7 @@
Type:
Source:
- src/input/Input.js line 1183 + src/input/Input.js line 1193 @@ -3475,7 +3475,7 @@
Type:
Source:
- src/input/Input.js line 58 + src/input/Input.js line 58 @@ -3552,7 +3552,7 @@
Type:
Source:
- src/input/Input.js line 79 + src/input/Input.js line 79 @@ -3637,7 +3637,7 @@
Type:
Source:
- src/input/Input.js line 155 + src/input/Input.js line 155 @@ -3716,7 +3716,7 @@
Type:
Source:
- src/input/Input.js line 141 + src/input/Input.js line 141 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/input/Input.js line 147 + src/input/Input.js line 147 @@ -3878,7 +3878,7 @@
Type:
Source:
- src/input/Input.js line 291 + src/input/Input.js line 291 @@ -3955,7 +3955,7 @@
Type:
Source:
- src/input/Input.js line 96 + src/input/Input.js line 96 @@ -4032,7 +4032,7 @@
Type:
Source:
- src/input/Input.js line 84 + src/input/Input.js line 84 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/input/Input.js line 108 + src/input/Input.js line 108 @@ -4193,7 +4193,7 @@
Type:
Source:
- src/input/Input.js line 1211 + src/input/Input.js line 1221 @@ -4270,7 +4270,7 @@
Type:
Source:
- src/input/Input.js line 1197 + src/input/Input.js line 1207 @@ -4349,7 +4349,7 @@
Type:
Source:
- src/input/Input.js line 266 + src/input/Input.js line 266 @@ -4428,7 +4428,7 @@
Type:
Source:
- src/input/Input.js line 164 + src/input/Input.js line 164 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/input/Input.js line 1225 + src/input/Input.js line 1235 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/input/Input.js line 1239 + src/input/Input.js line 1249 @@ -4660,7 +4660,7 @@
Type:
Source:
- src/input/Input.js line 1147 + src/input/Input.js line 1157 @@ -4738,7 +4738,7 @@
Type:
Source:
- src/input/Input.js line 1165 + src/input/Input.js line 1175 @@ -4898,7 +4898,7 @@
Parameters:
Source:
- src/input/Input.js line 535 + src/input/Input.js line 535 @@ -4984,7 +4984,7 @@

Source:
- src/input/Input.js line 652 + src/input/Input.js line 652 @@ -5240,7 +5240,7 @@
Parameters:
Source:
- src/input/Input.js line 561 + src/input/Input.js line 561 @@ -5324,7 +5324,7 @@

Source:
- src/input/Input.js line 409 + src/input/Input.js line 409 @@ -5482,7 +5482,7 @@
Parameters:
Source:
- src/input/Input.js line 630 + src/input/Input.js line 630 @@ -5566,7 +5566,7 @@

Source:
- src/input/Input.js line 477 + src/input/Input.js line 477 @@ -5727,7 +5727,7 @@
Parameters:
Source:
- src/input/Input.js line 1005 + src/input/Input.js line 1015 @@ -5905,7 +5905,7 @@
Parameters:
Source:
- src/input/Input.js line 927 + src/input/Input.js line 937 @@ -6065,7 +6065,7 @@
Parameters:
Source:
- src/input/Input.js line 979 + src/input/Input.js line 989 @@ -6226,7 +6226,7 @@
Parameters:
Source:
- src/input/Input.js line 952 + src/input/Input.js line 962 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/input/Input.js line 1027 + src/input/Input.js line 1037 @@ -6590,7 +6590,7 @@
Parameters:
Source:
- src/input/Input.js line 583 + src/input/Input.js line 583 @@ -6771,7 +6771,7 @@
Parameters:
Source:
- src/input/Input.js line 717 + src/input/Input.js line 732 @@ -6929,7 +6929,7 @@
Parameters:
Source:
- src/input/Input.js line 776 + src/input/Input.js line 786 @@ -7098,7 +7098,7 @@
Parameters:
Source:
- src/input/Input.js line 506 + src/input/Input.js line 506 @@ -7233,7 +7233,7 @@
Parameters:
Source:
- src/input/Input.js line 790 + src/input/Input.js line 800 @@ -7391,7 +7391,7 @@
Parameters:
Source:
- src/input/Input.js line 865 + src/input/Input.js line 875 @@ -7499,7 +7499,7 @@

Source:
- src/input/Input.js line 678 + src/input/Input.js line 678 @@ -7634,7 +7634,7 @@
Parameters:
Source:
- src/input/Input.js line 830 + src/input/Input.js line 840 @@ -7701,9 +7701,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -7720,7 +7720,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -7749,7 +7749,7 @@
Returns:
- + diff --git a/docs/Phaser.InputHandler.html b/docs/Phaser.InputHandler.html index 3d8202822..59a97f3b8 100644 --- a/docs/Phaser.InputHandler.html +++ b/docs/Phaser.InputHandler.html @@ -6,7 +6,7 @@ Phaser CE Class: InputHandler - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 14 + src/input/InputHandler.js line 14 @@ -342,7 +342,7 @@
Type:
Source:
- src/input/InputHandler.js line 69 + src/input/InputHandler.js line 69 @@ -426,7 +426,7 @@
Type:
Source:
- src/input/InputHandler.js line 75 + src/input/InputHandler.js line 75 @@ -503,7 +503,7 @@
Type:
Source:
- src/input/InputHandler.js line 161 + src/input/InputHandler.js line 161 @@ -580,7 +580,7 @@
Type:
Source:
- src/input/InputHandler.js line 167 + src/input/InputHandler.js line 167 @@ -657,7 +657,7 @@
Type:
Source:
- src/input/InputHandler.js line 81 + src/input/InputHandler.js line 81 @@ -734,7 +734,7 @@
Type:
Source:
- src/input/InputHandler.js line 36 + src/input/InputHandler.js line 36 @@ -811,7 +811,7 @@
Type:
Source:
- src/input/InputHandler.js line 207 + src/input/InputHandler.js line 207 @@ -888,7 +888,7 @@
Type:
Source:
- src/input/InputHandler.js line 197 + src/input/InputHandler.js line 197 @@ -965,7 +965,7 @@
Type:
Source:
- src/input/InputHandler.js line 182 + src/input/InputHandler.js line 182 @@ -1042,7 +1042,7 @@
Type:
Source:
- src/input/InputHandler.js line 155 + src/input/InputHandler.js line 155 @@ -1119,7 +1119,7 @@
Type:
Source:
- src/input/InputHandler.js line 177 + src/input/InputHandler.js line 177 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/input/InputHandler.js line 192 + src/input/InputHandler.js line 192 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/input/InputHandler.js line 187 + src/input/InputHandler.js line 187 @@ -1350,7 +1350,7 @@
Type:
Source:
- src/input/InputHandler.js line 202 + src/input/InputHandler.js line 202 @@ -1427,7 +1427,7 @@
Type:
Source:
- src/input/InputHandler.js line 30 + src/input/InputHandler.js line 30 @@ -1504,7 +1504,7 @@
Type:
Source:
- src/input/InputHandler.js line 24 + src/input/InputHandler.js line 24 @@ -1581,7 +1581,7 @@
Type:
Source:
- src/input/InputHandler.js line 63 + src/input/InputHandler.js line 63 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/input/InputHandler.js line 149 + src/input/InputHandler.js line 149 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/input/InputHandler.js line 143 + src/input/InputHandler.js line 143 @@ -1825,7 +1825,7 @@
Type:
Source:
- src/input/InputHandler.js line 133 + src/input/InputHandler.js line 133 @@ -1904,7 +1904,7 @@
Type:
Source:
- src/input/InputHandler.js line 45 + src/input/InputHandler.js line 45 @@ -1981,7 +1981,7 @@
Type:
Source:
- src/input/InputHandler.js line 172 + src/input/InputHandler.js line 172 @@ -2058,7 +2058,7 @@
Type:
Source:
- src/input/InputHandler.js line 87 + src/input/InputHandler.js line 87 @@ -2135,7 +2135,7 @@
Type:
Source:
- src/input/InputHandler.js line 117 + src/input/InputHandler.js line 117 @@ -2212,7 +2212,7 @@
Type:
Source:
- src/input/InputHandler.js line 123 + src/input/InputHandler.js line 123 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/input/InputHandler.js line 93 + src/input/InputHandler.js line 93 @@ -2366,7 +2366,7 @@
Type:
Source:
- src/input/InputHandler.js line 99 + src/input/InputHandler.js line 99 @@ -2443,7 +2443,7 @@
Type:
Source:
- src/input/InputHandler.js line 212 + src/input/InputHandler.js line 212 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/input/InputHandler.js line 105 + src/input/InputHandler.js line 105 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/input/InputHandler.js line 111 + src/input/InputHandler.js line 111 @@ -2674,7 +2674,7 @@
Type:
Source:
- src/input/InputHandler.js line 19 + src/input/InputHandler.js line 19 @@ -2751,7 +2751,7 @@
Type:
Source:
- src/input/InputHandler.js line 51 + src/input/InputHandler.js line 51 @@ -2829,7 +2829,7 @@

Source:
- src/input/InputHandler.js line 1687 + src/input/InputHandler.js line 1687 @@ -2913,7 +2913,7 @@

Source:
- src/input/InputHandler.js line 1737 + src/input/InputHandler.js line 1737 @@ -3124,7 +3124,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 799 + src/input/InputHandler.js line 799 @@ -3339,7 +3339,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 710 + src/input/InputHandler.js line 710 @@ -3554,7 +3554,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 755 + src/input/InputHandler.js line 755 @@ -3658,7 +3658,7 @@

Source:
- src/input/InputHandler.js line 430 + src/input/InputHandler.js line 430 @@ -3743,7 +3743,7 @@

Source:
- src/input/InputHandler.js line 1451 + src/input/InputHandler.js line 1451 @@ -3827,7 +3827,7 @@

Source:
- src/input/InputHandler.js line 1675 + src/input/InputHandler.js line 1675 @@ -3981,7 +3981,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1373 + src/input/InputHandler.js line 1373 @@ -4369,7 +4369,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1393 + src/input/InputHandler.js line 1393 @@ -4716,7 +4716,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1647 + src/input/InputHandler.js line 1647 @@ -4850,7 +4850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1573 + src/input/InputHandler.js line 1573 @@ -5008,7 +5008,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1537 + src/input/InputHandler.js line 1537 @@ -5142,7 +5142,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1555 + src/input/InputHandler.js line 1555 @@ -5226,7 +5226,7 @@

Source:
- src/input/InputHandler.js line 495 + src/input/InputHandler.js line 495 @@ -5440,7 +5440,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1302 + src/input/InputHandler.js line 1302 @@ -5650,7 +5650,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1285 + src/input/InputHandler.js line 1285 @@ -5860,7 +5860,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1319 + src/input/InputHandler.js line 1319 @@ -6070,7 +6070,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1336 + src/input/InputHandler.js line 1336 @@ -6244,7 +6244,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1353 + src/input/InputHandler.js line 1353 @@ -6423,7 +6423,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 539 + src/input/InputHandler.js line 539 @@ -6603,7 +6603,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 695 + src/input/InputHandler.js line 695 @@ -6781,7 +6781,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 634 + src/input/InputHandler.js line 634 @@ -6959,7 +6959,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 601 + src/input/InputHandler.js line 601 @@ -7139,7 +7139,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 571 + src/input/InputHandler.js line 571 @@ -7313,7 +7313,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 680 + src/input/InputHandler.js line 680 @@ -7487,7 +7487,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 665 + src/input/InputHandler.js line 665 @@ -7661,7 +7661,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 586 + src/input/InputHandler.js line 586 @@ -7836,7 +7836,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 555 + src/input/InputHandler.js line 555 @@ -8017,7 +8017,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 507 + src/input/InputHandler.js line 507 @@ -8196,7 +8196,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 523 + src/input/InputHandler.js line 523 @@ -8304,7 +8304,7 @@

Source:
- src/input/InputHandler.js line 382 + src/input/InputHandler.js line 382 @@ -8498,7 +8498,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1630 + src/input/InputHandler.js line 1630 @@ -8692,7 +8692,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 284 + src/input/InputHandler.js line 284 @@ -8850,7 +8850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1474 + src/input/InputHandler.js line 1474 @@ -8934,7 +8934,7 @@

Source:
- src/input/InputHandler.js line 410 + src/input/InputHandler.js line 410 @@ -9068,7 +9068,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1593 + src/input/InputHandler.js line 1593 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 868 + src/input/InputHandler.js line 868 @@ -9454,7 +9454,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 456 + src/input/InputHandler.js line 456 @@ -9521,9 +9521,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -9540,7 +9540,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -9569,7 +9569,7 @@
Returns:
- + diff --git a/docs/Phaser.Key.html b/docs/Phaser.Key.html index 9322a4c6a..a03ec59db 100644 --- a/docs/Phaser.Key.html +++ b/docs/Phaser.Key.html @@ -6,7 +6,7 @@ Phaser CE Class: Key - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/input/Key.js line 15 + src/input/Key.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/input/Key.js line 51 + src/input/Key.js line 51 @@ -436,7 +436,7 @@
Type:
Source:
- src/input/Key.js line 57 + src/input/Key.js line 57 @@ -514,7 +514,7 @@
Type:
Source:
- src/input/Key.js line 76 + src/input/Key.js line 76 @@ -634,7 +634,7 @@
Properties:
Source:
- src/input/Key.js line 90 + src/input/Key.js line 90 @@ -719,7 +719,7 @@
Type:
Source:
- src/input/Key.js line 374 + src/input/Key.js line 374 @@ -796,7 +796,7 @@
Type:
Source:
- src/input/Key.js line 33 + src/input/Key.js line 33 @@ -873,7 +873,7 @@
Type:
Source:
- src/input/Key.js line 20 + src/input/Key.js line 20 @@ -950,7 +950,7 @@
Type:
Source:
- src/input/Key.js line 39 + src/input/Key.js line 39 @@ -1034,7 +1034,7 @@
Type:
Source:
- src/input/Key.js line 45 + src/input/Key.js line 45 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/input/Key.js line 328 + src/input/Key.js line 328 @@ -1208,7 +1208,7 @@
Type:
Source:
- src/input/Key.js line 351 + src/input/Key.js line 351 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/input/Key.js line 101 + src/input/Key.js line 101 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/input/Key.js line 106 + src/input/Key.js line 106 @@ -1439,7 +1439,7 @@
Type:
Source:
- src/input/Key.js line 111 + src/input/Key.js line 111 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/input/Key.js line 116 + src/input/Key.js line 116 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/input/Key.js line 121 + src/input/Key.js line 121 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/input/Key.js line 96 + src/input/Key.js line 96 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/input/Key.js line 63 + src/input/Key.js line 63 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/input/Key.js line 68 + src/input/Key.js line 68 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/input/Key.js line 82 + src/input/Key.js line 82 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/input/Key.js line 268 + src/input/Key.js line 268 @@ -2159,7 +2159,7 @@

Source:
- src/input/Key.js line 300 + src/input/Key.js line 300 @@ -2268,7 +2268,7 @@

Source:
- src/input/Key.js line 313 + src/input/Key.js line 313 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/input/Key.js line 166 + src/input/Key.js line 166 @@ -2560,7 +2560,7 @@
Parameters:
Source:
- src/input/Key.js line 204 + src/input/Key.js line 204 @@ -2716,7 +2716,7 @@
Parameters:
Source:
- src/input/Key.js line 236 + src/input/Key.js line 236 @@ -2800,7 +2800,7 @@

Source:
- src/input/Key.js line 139 + src/input/Key.js line 139 @@ -2955,7 +2955,7 @@
Parameters:
Source:
- src/input/Key.js line 284 + src/input/Key.js line 284 @@ -3022,9 +3022,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3070,7 +3070,7 @@
Returns:
- + diff --git a/docs/Phaser.KeyCode.html b/docs/Phaser.KeyCode.html index dbb1075ce..b1001c73d 100644 --- a/docs/Phaser.KeyCode.html +++ b/docs/Phaser.KeyCode.html @@ -6,7 +6,7 @@ Phaser CE Class: KeyCode - + @@ -187,7 +187,7 @@

Source:
- src/input/Keyboard.js line 653 + src/input/Keyboard.js line 653 @@ -277,7 +277,7 @@

Source:
- src/input/Keyboard.js line 655 + src/input/Keyboard.js line 655 @@ -339,7 +339,7 @@

Source:
- src/input/Keyboard.js line 823 + src/input/Keyboard.js line 823 @@ -401,7 +401,7 @@

Source:
- src/input/Keyboard.js line 657 + src/input/Keyboard.js line 657 @@ -463,7 +463,7 @@

Source:
- src/input/Keyboard.js line 811 + src/input/Keyboard.js line 811 @@ -525,7 +525,7 @@

Source:
- src/input/Keyboard.js line 805 + src/input/Keyboard.js line 805 @@ -587,7 +587,7 @@

Source:
- src/input/Keyboard.js line 659 + src/input/Keyboard.js line 659 @@ -649,7 +649,7 @@

Source:
- src/input/Keyboard.js line 825 + src/input/Keyboard.js line 825 @@ -711,7 +711,7 @@

Source:
- src/input/Keyboard.js line 815 + src/input/Keyboard.js line 815 @@ -773,7 +773,7 @@

Source:
- src/input/Keyboard.js line 807 + src/input/Keyboard.js line 807 @@ -835,7 +835,7 @@

Source:
- src/input/Keyboard.js line 789 + src/input/Keyboard.js line 789 @@ -897,7 +897,7 @@

Source:
- src/input/Keyboard.js line 793 + src/input/Keyboard.js line 793 @@ -959,7 +959,7 @@

Source:
- src/input/Keyboard.js line 821 + src/input/Keyboard.js line 821 @@ -1021,7 +1021,7 @@

Source:
- src/input/Keyboard.js line 661 + src/input/Keyboard.js line 661 @@ -1083,7 +1083,7 @@

Source:
- src/input/Keyboard.js line 853 + src/input/Keyboard.js line 853 @@ -1145,7 +1145,7 @@

Source:
- src/input/Keyboard.js line 845 + src/input/Keyboard.js line 845 @@ -1207,7 +1207,7 @@

Source:
- src/input/Keyboard.js line 663 + src/input/Keyboard.js line 663 @@ -1269,7 +1269,7 @@

Source:
- src/input/Keyboard.js line 723 + src/input/Keyboard.js line 723 @@ -1331,7 +1331,7 @@

Source:
- src/input/Keyboard.js line 835 + src/input/Keyboard.js line 835 @@ -1393,7 +1393,7 @@

Source:
- src/input/Keyboard.js line 817 + src/input/Keyboard.js line 817 @@ -1455,7 +1455,7 @@

Source:
- src/input/Keyboard.js line 791 + src/input/Keyboard.js line 791 @@ -1517,7 +1517,7 @@

Source:
- src/input/Keyboard.js line 827 + src/input/Keyboard.js line 827 @@ -1579,7 +1579,7 @@

Source:
- src/input/Keyboard.js line 665 + src/input/Keyboard.js line 665 @@ -1641,7 +1641,7 @@

Source:
- src/input/Keyboard.js line 759 + src/input/Keyboard.js line 759 @@ -1703,7 +1703,7 @@

Source:
- src/input/Keyboard.js line 761 + src/input/Keyboard.js line 761 @@ -1765,7 +1765,7 @@

Source:
- src/input/Keyboard.js line 763 + src/input/Keyboard.js line 763 @@ -1827,7 +1827,7 @@

Source:
- src/input/Keyboard.js line 765 + src/input/Keyboard.js line 765 @@ -1889,7 +1889,7 @@

Source:
- src/input/Keyboard.js line 767 + src/input/Keyboard.js line 767 @@ -1951,7 +1951,7 @@

Source:
- src/input/Keyboard.js line 769 + src/input/Keyboard.js line 769 @@ -2013,7 +2013,7 @@

Source:
- src/input/Keyboard.js line 771 + src/input/Keyboard.js line 771 @@ -2075,7 +2075,7 @@

Source:
- src/input/Keyboard.js line 773 + src/input/Keyboard.js line 773 @@ -2137,7 +2137,7 @@

Source:
- src/input/Keyboard.js line 775 + src/input/Keyboard.js line 775 @@ -2199,7 +2199,7 @@

Source:
- src/input/Keyboard.js line 777 + src/input/Keyboard.js line 777 @@ -2261,7 +2261,7 @@

Source:
- src/input/Keyboard.js line 779 + src/input/Keyboard.js line 779 @@ -2323,7 +2323,7 @@

Source:
- src/input/Keyboard.js line 781 + src/input/Keyboard.js line 781 @@ -2385,7 +2385,7 @@

Source:
- src/input/Keyboard.js line 783 + src/input/Keyboard.js line 783 @@ -2447,7 +2447,7 @@

Source:
- src/input/Keyboard.js line 785 + src/input/Keyboard.js line 785 @@ -2509,7 +2509,7 @@

Source:
- src/input/Keyboard.js line 787 + src/input/Keyboard.js line 787 @@ -2571,7 +2571,7 @@

Source:
- src/input/Keyboard.js line 717 + src/input/Keyboard.js line 717 @@ -2633,7 +2633,7 @@

Source:
- src/input/Keyboard.js line 715 + src/input/Keyboard.js line 715 @@ -2695,7 +2695,7 @@

Source:
- src/input/Keyboard.js line 667 + src/input/Keyboard.js line 667 @@ -2757,7 +2757,7 @@

Source:
- src/input/Keyboard.js line 669 + src/input/Keyboard.js line 669 @@ -2819,7 +2819,7 @@

Source:
- src/input/Keyboard.js line 855 + src/input/Keyboard.js line 855 @@ -2881,7 +2881,7 @@

Source:
- src/input/Keyboard.js line 837 + src/input/Keyboard.js line 837 @@ -2943,7 +2943,7 @@

Source:
- src/input/Keyboard.js line 671 + src/input/Keyboard.js line 671 @@ -3005,7 +3005,7 @@

Source:
- src/input/Keyboard.js line 851 + src/input/Keyboard.js line 851 @@ -3067,7 +3067,7 @@

Source:
- src/input/Keyboard.js line 673 + src/input/Keyboard.js line 673 @@ -3129,7 +3129,7 @@

Source:
- src/input/Keyboard.js line 675 + src/input/Keyboard.js line 675 @@ -3191,7 +3191,7 @@

Source:
- src/input/Keyboard.js line 677 + src/input/Keyboard.js line 677 @@ -3253,7 +3253,7 @@

Source:
- src/input/Keyboard.js line 839 + src/input/Keyboard.js line 839 @@ -3315,7 +3315,7 @@

Source:
- src/input/Keyboard.js line 679 + src/input/Keyboard.js line 679 @@ -3377,7 +3377,7 @@

Source:
- src/input/Keyboard.js line 849 + src/input/Keyboard.js line 849 @@ -3439,7 +3439,7 @@

Source:
- src/input/Keyboard.js line 681 + src/input/Keyboard.js line 681 @@ -3501,7 +3501,7 @@

Source:
- src/input/Keyboard.js line 725 + src/input/Keyboard.js line 725 @@ -3563,7 +3563,7 @@

Source:
- src/input/Keyboard.js line 857 + src/input/Keyboard.js line 857 @@ -3625,7 +3625,7 @@

Source:
- src/input/Keyboard.js line 727 + src/input/Keyboard.js line 727 @@ -3687,7 +3687,7 @@

Source:
- src/input/Keyboard.js line 729 + src/input/Keyboard.js line 729 @@ -3749,7 +3749,7 @@

Source:
- src/input/Keyboard.js line 731 + src/input/Keyboard.js line 731 @@ -3811,7 +3811,7 @@

Source:
- src/input/Keyboard.js line 733 + src/input/Keyboard.js line 733 @@ -3873,7 +3873,7 @@

Source:
- src/input/Keyboard.js line 735 + src/input/Keyboard.js line 735 @@ -3935,7 +3935,7 @@

Source:
- src/input/Keyboard.js line 737 + src/input/Keyboard.js line 737 @@ -3997,7 +3997,7 @@

Source:
- src/input/Keyboard.js line 739 + src/input/Keyboard.js line 739 @@ -4059,7 +4059,7 @@

Source:
- src/input/Keyboard.js line 741 + src/input/Keyboard.js line 741 @@ -4121,7 +4121,7 @@

Source:
- src/input/Keyboard.js line 743 + src/input/Keyboard.js line 743 @@ -4183,7 +4183,7 @@

Source:
- src/input/Keyboard.js line 745 + src/input/Keyboard.js line 745 @@ -4245,7 +4245,7 @@

Source:
- src/input/Keyboard.js line 749 + src/input/Keyboard.js line 749 @@ -4307,7 +4307,7 @@

Source:
- src/input/Keyboard.js line 755 + src/input/Keyboard.js line 755 @@ -4369,7 +4369,7 @@

Source:
- src/input/Keyboard.js line 757 + src/input/Keyboard.js line 757 @@ -4431,7 +4431,7 @@

Source:
- src/input/Keyboard.js line 751 + src/input/Keyboard.js line 751 @@ -4493,7 +4493,7 @@

Source:
- src/input/Keyboard.js line 747 + src/input/Keyboard.js line 747 @@ -4555,7 +4555,7 @@

Source:
- src/input/Keyboard.js line 753 + src/input/Keyboard.js line 753 @@ -4617,7 +4617,7 @@

Source:
- src/input/Keyboard.js line 683 + src/input/Keyboard.js line 683 @@ -4679,7 +4679,7 @@

Source:
- src/input/Keyboard.js line 709 + src/input/Keyboard.js line 709 @@ -4741,7 +4741,7 @@

Source:
- src/input/Keyboard.js line 803 + src/input/Keyboard.js line 803 @@ -4803,7 +4803,7 @@

Source:
- src/input/Keyboard.js line 685 + src/input/Keyboard.js line 685 @@ -4865,7 +4865,7 @@

Source:
- src/input/Keyboard.js line 833 + src/input/Keyboard.js line 833 @@ -4927,7 +4927,7 @@

Source:
- src/input/Keyboard.js line 831 + src/input/Keyboard.js line 831 @@ -4989,7 +4989,7 @@

Source:
- src/input/Keyboard.js line 797 + src/input/Keyboard.js line 797 @@ -5051,7 +5051,7 @@

Source:
- src/input/Keyboard.js line 847 + src/input/Keyboard.js line 847 @@ -5113,7 +5113,7 @@

Source:
- src/input/Keyboard.js line 687 + src/input/Keyboard.js line 687 @@ -5175,7 +5175,7 @@

Source:
- src/input/Keyboard.js line 799 + src/input/Keyboard.js line 799 @@ -5237,7 +5237,7 @@

Source:
- src/input/Keyboard.js line 809 + src/input/Keyboard.js line 809 @@ -5299,7 +5299,7 @@

Source:
- src/input/Keyboard.js line 689 + src/input/Keyboard.js line 689 @@ -5361,7 +5361,7 @@

Source:
- src/input/Keyboard.js line 843 + src/input/Keyboard.js line 843 @@ -5423,7 +5423,7 @@

Source:
- src/input/Keyboard.js line 691 + src/input/Keyboard.js line 691 @@ -5485,7 +5485,7 @@

Source:
- src/input/Keyboard.js line 721 + src/input/Keyboard.js line 721 @@ -5547,7 +5547,7 @@

Source:
- src/input/Keyboard.js line 819 + src/input/Keyboard.js line 819 @@ -5609,7 +5609,7 @@

Source:
- src/input/Keyboard.js line 719 + src/input/Keyboard.js line 719 @@ -5671,7 +5671,7 @@

Source:
- src/input/Keyboard.js line 829 + src/input/Keyboard.js line 829 @@ -5733,7 +5733,7 @@

Source:
- src/input/Keyboard.js line 693 + src/input/Keyboard.js line 693 @@ -5795,7 +5795,7 @@

Source:
- src/input/Keyboard.js line 813 + src/input/Keyboard.js line 813 @@ -5857,7 +5857,7 @@

Source:
- src/input/Keyboard.js line 713 + src/input/Keyboard.js line 713 @@ -5919,7 +5919,7 @@

Source:
- src/input/Keyboard.js line 801 + src/input/Keyboard.js line 801 @@ -5981,7 +5981,7 @@

Source:
- src/input/Keyboard.js line 711 + src/input/Keyboard.js line 711 @@ -6043,7 +6043,7 @@

Source:
- src/input/Keyboard.js line 695 + src/input/Keyboard.js line 695 @@ -6105,7 +6105,7 @@

Source:
- src/input/Keyboard.js line 795 + src/input/Keyboard.js line 795 @@ -6167,7 +6167,7 @@

Source:
- src/input/Keyboard.js line 841 + src/input/Keyboard.js line 841 @@ -6229,7 +6229,7 @@

Source:
- src/input/Keyboard.js line 697 + src/input/Keyboard.js line 697 @@ -6291,7 +6291,7 @@

Source:
- src/input/Keyboard.js line 699 + src/input/Keyboard.js line 699 @@ -6353,7 +6353,7 @@

Source:
- src/input/Keyboard.js line 701 + src/input/Keyboard.js line 701 @@ -6415,7 +6415,7 @@

Source:
- src/input/Keyboard.js line 703 + src/input/Keyboard.js line 703 @@ -6477,7 +6477,7 @@

Source:
- src/input/Keyboard.js line 705 + src/input/Keyboard.js line 705 @@ -6539,7 +6539,7 @@

Source:
- src/input/Keyboard.js line 707 + src/input/Keyboard.js line 707 @@ -6572,9 +6572,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6591,7 +6591,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6620,7 +6620,7 @@

- + diff --git a/docs/Phaser.Keyboard.html b/docs/Phaser.Keyboard.html index 7fcbafe5e..0e9d6d2fe 100644 --- a/docs/Phaser.Keyboard.html +++ b/docs/Phaser.Keyboard.html @@ -6,7 +6,7 @@ Phaser CE Class: Keyboard - + @@ -235,7 +235,7 @@

Parameters:
Source:
- src/input/Keyboard.js line 21 + src/input/Keyboard.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/input/Keyboard.js line 48 + src/input/Keyboard.js line 48 @@ -424,7 +424,7 @@
Type:
Source:
- src/input/Keyboard.js line 33 + src/input/Keyboard.js line 33 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Keyboard.js line 38 + src/input/Keyboard.js line 38 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Keyboard.js line 26 + src/input/Keyboard.js line 26 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Keyboard.js line 593 + src/input/Keyboard.js line 593 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Keyboard.js line 620 + src/input/Keyboard.js line 620 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Keyboard.js line 53 + src/input/Keyboard.js line 53 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Keyboard.js line 58 + src/input/Keyboard.js line 58 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Keyboard.js line 63 + src/input/Keyboard.js line 63 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Keyboard.js line 43 + src/input/Keyboard.js line 43 @@ -1304,7 +1304,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 114 + src/input/Keyboard.js line 114 @@ -1439,7 +1439,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 158 + src/input/Keyboard.js line 158 @@ -1607,7 +1607,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 308 + src/input/Keyboard.js line 308 @@ -1743,7 +1743,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 179 + src/input/Keyboard.js line 179 @@ -1851,7 +1851,7 @@

Source:
- src/input/Keyboard.js line 347 + src/input/Keyboard.js line 347 @@ -1935,7 +1935,7 @@

Source:
- src/input/Keyboard.js line 222 + src/input/Keyboard.js line 222 @@ -2044,7 +2044,7 @@

Source:
- src/input/Keyboard.js line 291 + src/input/Keyboard.js line 291 @@ -2235,7 +2235,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 501 + src/input/Keyboard.js line 501 @@ -2393,7 +2393,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 571 + src/input/Keyboard.js line 571 @@ -2551,7 +2551,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 377 + src/input/Keyboard.js line 377 @@ -2685,7 +2685,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 417 + src/input/Keyboard.js line 417 @@ -2819,7 +2819,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 440 + src/input/Keyboard.js line 440 @@ -2903,7 +2903,7 @@

Source:
- src/input/Keyboard.js line 144 + src/input/Keyboard.js line 144 @@ -3037,7 +3037,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 205 + src/input/Keyboard.js line 205 @@ -3171,7 +3171,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 335 + src/input/Keyboard.js line 335 @@ -3325,7 +3325,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 477 + src/input/Keyboard.js line 477 @@ -3410,7 +3410,7 @@

Source:
- src/input/Keyboard.js line 234 + src/input/Keyboard.js line 234 @@ -3494,7 +3494,7 @@

Source:
- src/input/Keyboard.js line 274 + src/input/Keyboard.js line 274 @@ -3578,7 +3578,7 @@

Source:
- src/input/Keyboard.js line 358 + src/input/Keyboard.js line 358 @@ -3772,7 +3772,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 523 + src/input/Keyboard.js line 523 @@ -3839,9 +3839,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3858,7 +3858,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3887,7 +3887,7 @@
Returns:
- + diff --git a/docs/Phaser.Line.html b/docs/Phaser.Line.html index 08915e22e..dd8c1e435 100644 --- a/docs/Phaser.Line.html +++ b/docs/Phaser.Line.html @@ -6,7 +6,7 @@ Phaser CE Class: Line - + @@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Line.js line 17 + src/geom/Line.js line 17 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Line.js line 389 + src/geom/Line.js line 389 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Line.js line 493 + src/geom/Line.js line 493 @@ -629,7 +629,7 @@
Type:
Source:
- src/geom/Line.js line 32 + src/geom/Line.js line 32 @@ -706,7 +706,7 @@
Type:
Source:
- src/geom/Line.js line 519 + src/geom/Line.js line 519 @@ -783,7 +783,7 @@
Type:
Source:
- src/geom/Line.js line 454 + src/geom/Line.js line 454 @@ -860,7 +860,7 @@
Type:
Source:
- src/geom/Line.js line 376 + src/geom/Line.js line 376 @@ -937,7 +937,7 @@
Type:
Source:
- src/geom/Line.js line 558 + src/geom/Line.js line 558 @@ -1014,7 +1014,7 @@
Type:
Source:
- src/geom/Line.js line 532 + src/geom/Line.js line 532 @@ -1091,7 +1091,7 @@
Type:
Source:
- src/geom/Line.js line 545 + src/geom/Line.js line 545 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/geom/Line.js line 415 + src/geom/Line.js line 415 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/geom/Line.js line 467 + src/geom/Line.js line 467 @@ -1322,7 +1322,7 @@
Type:
Source:
- src/geom/Line.js line 402 + src/geom/Line.js line 402 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/geom/Line.js line 27 + src/geom/Line.js line 27 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/geom/Line.js line 480 + src/geom/Line.js line 480 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/geom/Line.js line 38 + src/geom/Line.js line 38 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/geom/Line.js line 506 + src/geom/Line.js line 506 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/geom/Line.js line 428 + src/geom/Line.js line 428 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/geom/Line.js line 441 + src/geom/Line.js line 441 @@ -1989,7 +1989,7 @@
Parameters:
Source:
- src/geom/Line.js line 741 + src/geom/Line.js line 741 @@ -2283,7 +2283,7 @@
Parameters:
Source:
- src/geom/Line.js line 627 + src/geom/Line.js line 627 @@ -2649,7 +2649,7 @@
Parameters:
Source:
- src/geom/Line.js line 571 + src/geom/Line.js line 571 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/geom/Line.js line 647 + src/geom/Line.js line 647 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/geom/Line.js line 807 + src/geom/Line.js line 807 @@ -3208,7 +3208,7 @@
Parameters:
Source:
- src/geom/Line.js line 215 + src/geom/Line.js line 215 @@ -3366,7 +3366,7 @@
Parameters:
Source:
- src/geom/Line.js line 353 + src/geom/Line.js line 353 @@ -3583,7 +3583,7 @@
Parameters:
Source:
- src/geom/Line.js line 295 + src/geom/Line.js line 295 @@ -3813,7 +3813,7 @@
Parameters:
Source:
- src/geom/Line.js line 101 + src/geom/Line.js line 101 @@ -3995,7 +3995,7 @@
Parameters:
Source:
- src/geom/Line.js line 70 + src/geom/Line.js line 70 @@ -4248,7 +4248,7 @@
Parameters:
Source:
- src/geom/Line.js line 78 + src/geom/Line.js line 78 @@ -4502,7 +4502,7 @@
Parameters:
Source:
- src/geom/Line.js line 166 + src/geom/Line.js line 166 @@ -4672,7 +4672,7 @@
Parameters:
Source:
- src/geom/Line.js line 197 + src/geom/Line.js line 197 @@ -4922,7 +4922,7 @@
Parameters:
Source:
- src/geom/Line.js line 239 + src/geom/Line.js line 239 @@ -5172,7 +5172,7 @@
Parameters:
Source:
- src/geom/Line.js line 254 + src/geom/Line.js line 254 @@ -5346,7 +5346,7 @@
Parameters:
Source:
- src/geom/Line.js line 274 + src/geom/Line.js line 274 @@ -5505,7 +5505,7 @@
Parameters:
Source:
- src/geom/Line.js line 183 + src/geom/Line.js line 183 @@ -5722,7 +5722,7 @@
Parameters:
Source:
- src/geom/Line.js line 120 + src/geom/Line.js line 120 @@ -6009,7 +6009,7 @@
Parameters:
Source:
- src/geom/Line.js line 145 + src/geom/Line.js line 145 @@ -6307,7 +6307,7 @@
Parameters:
Source:
- src/geom/Line.js line 44 + src/geom/Line.js line 44 @@ -6374,9 +6374,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6393,7 +6393,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6422,7 +6422,7 @@
Returns:
- + diff --git a/docs/Phaser.LinkedList.html b/docs/Phaser.LinkedList.html index 5519e8fec..c437ef8b0 100644 --- a/docs/Phaser.LinkedList.html +++ b/docs/Phaser.LinkedList.html @@ -6,7 +6,7 @@ Phaser CE Class: LinkedList - + @@ -186,7 +186,7 @@

Source:
- src/utils/LinkedList.js line 18 + src/utils/LinkedList.js line 18 @@ -291,7 +291,7 @@
Type:
Source:
- src/utils/LinkedList.js line 39 + src/utils/LinkedList.js line 39 @@ -368,7 +368,7 @@
Type:
Source:
- src/utils/LinkedList.js line 46 + src/utils/LinkedList.js line 46 @@ -445,7 +445,7 @@
Type:
Source:
- src/utils/LinkedList.js line 25 + src/utils/LinkedList.js line 25 @@ -522,7 +522,7 @@
Type:
Source:
- src/utils/LinkedList.js line 32 + src/utils/LinkedList.js line 32 @@ -599,7 +599,7 @@
Type:
Source:
- src/utils/LinkedList.js line 53 + src/utils/LinkedList.js line 53 @@ -727,7 +727,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 59 + src/utils/LinkedList.js line 59 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 156 + src/utils/LinkedList.js line 156 @@ -1020,7 +1020,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 107 + src/utils/LinkedList.js line 107 @@ -1104,7 +1104,7 @@

Source:
- src/utils/LinkedList.js line 92 + src/utils/LinkedList.js line 92 @@ -1147,9 +1147,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1166,7 +1166,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1195,7 +1195,7 @@

- + diff --git a/docs/Phaser.Loader.html b/docs/Phaser.Loader.html index fa824f3e9..3373604f6 100644 --- a/docs/Phaser.Loader.html +++ b/docs/Phaser.Loader.html @@ -6,7 +6,7 @@ Phaser CE Class: Loader - + @@ -235,7 +235,7 @@

Parameters:
Source:
- src/loader/Loader.js line 22 + src/loader/Loader.js line 22 @@ -336,7 +336,7 @@
Type:
Source:
- src/loader/Loader.js line 329 + src/loader/Loader.js line 313 @@ -409,7 +409,7 @@
Type:
Source:
- src/loader/Loader.js line 335 + src/loader/Loader.js line 319 @@ -482,7 +482,7 @@
Type:
Source:
- src/loader/Loader.js line 311 + src/loader/Loader.js line 295 @@ -555,7 +555,7 @@
Type:
Source:
- src/loader/Loader.js line 317 + src/loader/Loader.js line 301 @@ -628,7 +628,7 @@
Type:
Source:
- src/loader/Loader.js line 341 + src/loader/Loader.js line 325 @@ -701,7 +701,7 @@
Type:
Source:
- src/loader/Loader.js line 323 + src/loader/Loader.js line 307 @@ -820,7 +820,7 @@
Properties:
Source:
- src/loader/Loader.js line 234 + src/loader/Loader.js line 218 @@ -899,7 +899,7 @@
Type:
Source:
- src/loader/Loader.js line 83 + src/loader/Loader.js line 83 @@ -976,7 +976,7 @@
Type:
Source:
- src/loader/Loader.js line 36 + src/loader/Loader.js line 36 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/loader/Loader.js line 74 + src/loader/Loader.js line 74 @@ -1134,7 +1134,7 @@
Type:
Source:
- src/loader/Loader.js line 217 + src/loader/Loader.js line 201 @@ -1211,7 +1211,7 @@
Type:
Source:
- src/loader/Loader.js line 29 + src/loader/Loader.js line 29 @@ -1288,7 +1288,7 @@
Type:
Source:
- src/loader/Loader.js line 57 + src/loader/Loader.js line 57 @@ -1378,7 +1378,7 @@
Type:
Source:
- src/loader/Loader.js line 128 + src/loader/Loader.js line 128 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/loader/Loader.js line 50 + src/loader/Loader.js line 50 @@ -1534,7 +1534,7 @@
Type:
Source:
- src/loader/Loader.js line 228 + src/loader/Loader.js line 212 @@ -1614,7 +1614,7 @@
Type:
Source:
- src/loader/Loader.js line 181 + src/loader/Loader.js line 181 @@ -1693,7 +1693,7 @@
Type:
Source:
- src/loader/Loader.js line 192 + src/loader/Loader.js line 192 @@ -1772,7 +1772,7 @@
Type:
Source:
- src/loader/Loader.js line 168 + src/loader/Loader.js line 168 @@ -1849,7 +1849,7 @@
Type:
Source:
- src/loader/Loader.js line 147 + src/loader/Loader.js line 147 @@ -1927,7 +1927,7 @@
Type:
Source:
- src/loader/Loader.js line 140 + src/loader/Loader.js line 140 @@ -2006,7 +2006,7 @@
Type:
Source:
- src/loader/Loader.js line 158 + src/loader/Loader.js line 158 @@ -2091,7 +2091,7 @@
Type:
Source:
- src/loader/Loader.js line 105 + src/loader/Loader.js line 105 @@ -2169,7 +2169,7 @@
Type:
Source:
- src/loader/Loader.js line 67 + src/loader/Loader.js line 67 @@ -2284,7 +2284,7 @@
Properties:
Source:
- src/loader/Loader.js line 3242 + src/loader/Loader.js line 3136 @@ -2401,7 +2401,7 @@
Properties:
Source:
- src/loader/Loader.js line 3224 + src/loader/Loader.js line 3118 @@ -2478,94 +2478,7 @@
Type:
Source:
- src/loader/Loader.js line 43 - - - - - - - -

- - - -
- - - -
-

- useXDomainRequest : boolean - deprecated -

- -
-
- -
-

If true and if the browser supports XDomainRequest, it will be used in preference for XHR.

-

This is only relevant for IE 9 and should only be enabled for IE 9 clients when required by the server/CDN.

-
- - - -
Type:
-
    -
  • - -boolean - - - -
  • -
- - - -
- - - - - - - - - - - - - - - - - -
Deprecated:
- -
-
    -
  • This is only relevant for IE 9.
  • -
-
- - - - - - - - - - - - - - -
Source:
-
- - src/loader/Loader.js line 202 + src/loader/Loader.js line 43 @@ -2718,7 +2631,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1828 + src/loader/Loader.js line 1812 @@ -3091,7 +3004,7 @@
Parameters:
Source:
- src/loader/Loader.js line 522 + src/loader/Loader.js line 506 @@ -3413,7 +3326,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1697 + src/loader/Loader.js line 1681 @@ -3702,7 +3615,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1551 + src/loader/Loader.js line 1535 @@ -3991,7 +3904,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1597 + src/loader/Loader.js line 1581 @@ -4280,7 +4193,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1643 + src/loader/Loader.js line 1627 @@ -4547,7 +4460,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1144 + src/loader/Loader.js line 1128 @@ -4890,7 +4803,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1187 + src/loader/Loader.js line 1171 @@ -5227,7 +5140,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1246 + src/loader/Loader.js line 1230 @@ -5527,7 +5440,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1062 + src/loader/Loader.js line 1046 @@ -5906,7 +5819,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1460 + src/loader/Loader.js line 1444 @@ -6089,7 +6002,7 @@
Parameters:
Source:
- src/loader/Loader.js line 397 + src/loader/Loader.js line 381 @@ -6272,7 +6185,7 @@
Parameters:
Source:
- src/loader/Loader.js line 448 + src/loader/Loader.js line 432 @@ -6456,7 +6369,7 @@
Parameters:
Source:
- src/loader/Loader.js line 413 + src/loader/Loader.js line 397 @@ -6736,7 +6649,7 @@
Parameters:
Source:
- src/loader/Loader.js line 700 + src/loader/Loader.js line 684 @@ -6986,7 +6899,7 @@
Parameters:
Source:
- src/loader/Loader.js line 762 + src/loader/Loader.js line 746 @@ -7094,7 +7007,7 @@

Source:
- src/loader/Loader.js line 777 + src/loader/Loader.js line 761 @@ -7185,7 +7098,7 @@

Source:
- src/loader/Loader.js line 789 + src/loader/Loader.js line 773 @@ -7379,7 +7292,7 @@
Parameters:
Source:
- src/loader/Loader.js line 873 + src/loader/Loader.js line 857 @@ -7639,7 +7552,7 @@
Parameters:
Source:
- src/loader/Loader.js line 945 + src/loader/Loader.js line 929 @@ -7936,7 +7849,7 @@
Parameters:
Source:
- src/loader/Loader.js line 620 + src/loader/Loader.js line 604 @@ -8242,7 +8155,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1399 + src/loader/Loader.js line 1383 @@ -8350,7 +8263,7 @@

Source:
- src/loader/Loader.js line 1875 + src/loader/Loader.js line 1859 @@ -8509,7 +8422,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1851 + src/loader/Loader.js line 1835 @@ -8715,7 +8628,7 @@
Parameters:
Source:
- src/loader/Loader.js line 604 + src/loader/Loader.js line 588 @@ -8911,7 +8824,7 @@
Parameters:
Source:
- src/loader/Loader.js line 472 + src/loader/Loader.js line 456 @@ -8996,7 +8909,7 @@

Source:
- src/loader/Loader.js line 380 + src/loader/Loader.js line 364 @@ -9273,7 +9186,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1027 + src/loader/Loader.js line 1011 @@ -9493,7 +9406,7 @@
Parameters:
Source:
- src/loader/Loader.js line 345 + src/loader/Loader.js line 329 @@ -9728,7 +9641,7 @@
Parameters:
Source:
- src/loader/Loader.js line 973 + src/loader/Loader.js line 957 @@ -10183,7 +10096,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1100 + src/loader/Loader.js line 1084 @@ -10291,7 +10204,7 @@

Source:
- src/loader/Loader.js line 1888 + src/loader/Loader.js line 1872 @@ -10526,7 +10439,7 @@
Parameters:
Source:
- src/loader/Loader.js line 918 + src/loader/Loader.js line 902 @@ -10797,7 +10710,7 @@
Parameters:
Source:
- src/loader/Loader.js line 801 + src/loader/Loader.js line 785 @@ -11104,7 +11017,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1318 + src/loader/Loader.js line 1302 @@ -11212,7 +11125,7 @@

Source:
- src/loader/Loader.js line 3170 + src/loader/Loader.js line 3064 @@ -11320,7 +11233,7 @@

Source:
- src/loader/Loader.js line 3196 + src/loader/Loader.js line 3090 @@ -11428,7 +11341,7 @@

Source:
- src/loader/Loader.js line 3183 + src/loader/Loader.js line 3077 @@ -11536,7 +11449,7 @@

Source:
- src/loader/Loader.js line 3209 + src/loader/Loader.js line 3103 @@ -11719,7 +11632,7 @@
Parameters:
Source:
- src/loader/Loader.js line 2219 + src/loader/Loader.js line 2203 @@ -12029,7 +11942,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1264 + src/loader/Loader.js line 1248 @@ -12247,7 +12160,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1802 + src/loader/Loader.js line 1786 @@ -12506,7 +12419,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1000 + src/loader/Loader.js line 984 @@ -12573,9 +12486,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -12592,7 +12505,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -12621,7 +12534,7 @@
Returns:
- + diff --git a/docs/Phaser.LoaderParser.html b/docs/Phaser.LoaderParser.html index c314a3844..cc23e1215 100644 --- a/docs/Phaser.LoaderParser.html +++ b/docs/Phaser.LoaderParser.html @@ -6,7 +6,7 @@ Phaser CE Class: LoaderParser - + @@ -180,7 +180,7 @@

Source:
- src/loader/LoaderParser.js line 12 + src/loader/LoaderParser.js line 12 @@ -542,7 +542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 14 + src/loader/LoaderParser.js line 14 @@ -700,7 +700,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 288 + src/loader/LoaderParser.js line 288 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 96 + src/loader/LoaderParser.js line 96 @@ -1226,7 +1226,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 385 + src/loader/LoaderParser.js line 385 @@ -1384,7 +1384,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 484 + src/loader/LoaderParser.js line 484 @@ -1542,7 +1542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 189 + src/loader/LoaderParser.js line 189 @@ -1910,7 +1910,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 32 + src/loader/LoaderParser.js line 32 @@ -1977,9 +1977,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1996,7 +1996,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2025,7 +2025,7 @@
Returns:
- + diff --git a/docs/Phaser.MSPointer.html b/docs/Phaser.MSPointer.html index 4fad15ca6..2dec5e231 100644 --- a/docs/Phaser.MSPointer.html +++ b/docs/Phaser.MSPointer.html @@ -6,7 +6,7 @@ Phaser CE Class: MSPointer - + @@ -241,7 +241,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 36 + src/input/MSPointer.js line 36 @@ -348,7 +348,7 @@
Type:
Source:
- src/input/MSPointer.js line 80 + src/input/MSPointer.js line 80 @@ -425,7 +425,7 @@
Type:
Source:
- src/input/MSPointer.js line 52 + src/input/MSPointer.js line 52 @@ -502,7 +502,7 @@
Type:
Source:
- src/input/MSPointer.js line 72 + src/input/MSPointer.js line 72 @@ -586,7 +586,7 @@
Type:
Source:
- src/input/MSPointer.js line 95 + src/input/MSPointer.js line 95 @@ -670,7 +670,7 @@
Type:
Source:
- src/input/MSPointer.js line 88 + src/input/MSPointer.js line 88 @@ -747,7 +747,7 @@
Type:
Source:
- src/input/MSPointer.js line 41 + src/input/MSPointer.js line 41 @@ -824,7 +824,7 @@
Type:
Source:
- src/input/MSPointer.js line 47 + src/input/MSPointer.js line 47 @@ -901,7 +901,7 @@
Type:
Source:
- src/input/MSPointer.js line 57 + src/input/MSPointer.js line 57 @@ -978,7 +978,7 @@
Type:
Source:
- src/input/MSPointer.js line 62 + src/input/MSPointer.js line 62 @@ -1055,7 +1055,7 @@
Type:
Source:
- src/input/MSPointer.js line 67 + src/input/MSPointer.js line 67 @@ -1183,7 +1183,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 206 + src/input/MSPointer.js line 206 @@ -1317,7 +1317,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 246 + src/input/MSPointer.js line 246 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 401 + src/input/MSPointer.js line 401 @@ -1585,7 +1585,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 346 + src/input/MSPointer.js line 346 @@ -1719,7 +1719,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 283 + src/input/MSPointer.js line 283 @@ -1853,7 +1853,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 322 + src/input/MSPointer.js line 322 @@ -1937,7 +1937,7 @@

Source:
- src/input/MSPointer.js line 137 + src/input/MSPointer.js line 137 @@ -2021,7 +2021,7 @@

Source:
- src/input/MSPointer.js line 437 + src/input/MSPointer.js line 437 @@ -2064,9 +2064,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2083,7 +2083,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2112,7 +2112,7 @@

- + diff --git a/docs/Phaser.Math.html b/docs/Phaser.Math.html index 6aa3c1212..3dd3ed8a3 100644 --- a/docs/Phaser.Math.html +++ b/docs/Phaser.Math.html @@ -6,7 +6,7 @@ Phaser CE Class: Math - + @@ -181,7 +181,7 @@

Source:
- src/math/Math.js line 17 + src/math/Math.js line 17 @@ -337,7 +337,7 @@
Properties:
Source:
- src/math/Math.js line 37 + src/math/Math.js line 37 @@ -463,7 +463,7 @@
Properties:
Source:
- src/math/Math.js line 31 + src/math/Math.js line 31 @@ -589,7 +589,7 @@
Properties:
Source:
- src/math/Math.js line 24 + src/math/Math.js line 24 @@ -708,7 +708,7 @@
Properties:
Source:
- src/math/Math.js line 43 + src/math/Math.js line 43 @@ -908,7 +908,7 @@
Parameters:
Source:
- src/math/Math.js line 541 + src/math/Math.js line 541 @@ -1090,7 +1090,7 @@
Parameters:
Source:
- src/math/Math.js line 576 + src/math/Math.js line 576 @@ -1272,7 +1272,7 @@
Parameters:
Source:
- src/math/Math.js line 590 + src/math/Math.js line 590 @@ -1504,7 +1504,7 @@
Parameters:
Source:
- src/math/Math.js line 557 + src/math/Math.js line 557 @@ -1612,7 +1612,7 @@

Source:
- src/math/Math.js line 260 + src/math/Math.js line 260 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/math/Math.js line 983 + src/math/Math.js line 983 @@ -1969,7 +1969,7 @@
Parameters:
Source:
- src/math/Math.js line 144 + src/math/Math.js line 144 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/math/Math.js line 906 + src/math/Math.js line 906 @@ -2405,7 +2405,7 @@
Parameters:
Source:
- src/math/Math.js line 1019 + src/math/Math.js line 1019 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/math/Math.js line 928 + src/math/Math.js line 928 @@ -2838,7 +2838,7 @@
Parameters:
Source:
- src/math/Math.js line 439 + src/math/Math.js line 439 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/math/Math.js line 1179 + src/math/Math.js line 1179 @@ -3227,7 +3227,7 @@
Parameters:
Source:
- src/math/Math.js line 1205 + src/math/Math.js line 1205 @@ -3381,7 +3381,7 @@
Parameters:
Source:
- src/math/Math.js line 45 + src/math/Math.js line 45 @@ -3563,7 +3563,7 @@
Parameters:
Source:
- src/math/Math.js line 1039 + src/math/Math.js line 1039 @@ -3793,7 +3793,7 @@
Parameters:
Source:
- src/math/Math.js line 1121 + src/math/Math.js line 1121 @@ -4115,7 +4115,7 @@
Parameters:
Source:
- src/math/Math.js line 1160 + src/math/Math.js line 1160 @@ -4346,7 +4346,7 @@
Parameters:
Source:
- src/math/Math.js line 1140 + src/math/Math.js line 1140 @@ -4500,7 +4500,7 @@
Parameters:
Source:
- src/math/Math.js line 996 + src/math/Math.js line 996 @@ -4751,7 +4751,7 @@
Parameters:
Source:
- src/math/Math.js line 418 + src/math/Math.js line 418 @@ -4965,7 +4965,7 @@
Parameters:
Source:
- src/math/Math.js line 228 + src/math/Math.js line 228 @@ -5215,7 +5215,7 @@
Parameters:
Source:
- src/math/Math.js line 177 + src/math/Math.js line 177 @@ -5429,7 +5429,7 @@
Parameters:
Source:
- src/math/Math.js line 244 + src/math/Math.js line 244 @@ -5679,7 +5679,7 @@
Parameters:
Source:
- src/math/Math.js line 211 + src/math/Math.js line 211 @@ -5929,7 +5929,7 @@
Parameters:
Source:
- src/math/Math.js line 194 + src/math/Math.js line 194 @@ -6088,7 +6088,7 @@
Parameters:
Source:
- src/math/Math.js line 71 + src/math/Math.js line 71 @@ -6276,7 +6276,7 @@
Parameters:
Source:
- src/math/Math.js line 511 + src/math/Math.js line 511 @@ -6458,7 +6458,7 @@
Parameters:
Source:
- src/math/Math.js line 1107 + src/math/Math.js line 1107 @@ -6616,7 +6616,7 @@
Parameters:
Source:
- src/math/Math.js line 726 + src/math/Math.js line 726 @@ -6774,7 +6774,7 @@
Parameters:
Source:
- src/math/Math.js line 712 + src/math/Math.js line 712 @@ -6956,7 +6956,7 @@
Parameters:
Source:
- src/math/Math.js line 100 + src/math/Math.js line 100 @@ -7162,7 +7162,7 @@
Parameters:
Source:
- src/math/Math.js line 968 + src/math/Math.js line 968 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/math/Math.js line 878 + src/math/Math.js line 878 @@ -7594,7 +7594,7 @@
Parameters:
Source:
- src/math/Math.js line 1236 + src/math/Math.js line 1236 @@ -7699,7 +7699,7 @@

Source:
- src/math/Math.js line 772 + src/math/Math.js line 772 @@ -7912,7 +7912,7 @@
Parameters:
Source:
- src/math/Math.js line 628 + src/math/Math.js line 628 @@ -8021,7 +8021,7 @@

Source:
- src/math/Math.js line 834 + src/math/Math.js line 834 @@ -8130,7 +8130,7 @@

Source:
- src/math/Math.js line 740 + src/math/Math.js line 740 @@ -8246,7 +8246,7 @@

Source:
- src/math/Math.js line 804 + src/math/Math.js line 804 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/math/Math.js line 643 + src/math/Math.js line 643 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/math/Math.js line 615 + src/math/Math.js line 615 @@ -8860,7 +8860,7 @@
Parameters:
Source:
- src/math/Math.js line 1304 + src/math/Math.js line 1304 @@ -9018,7 +9018,7 @@
Parameters:
Source:
- src/math/Math.js line 58 + src/math/Math.js line 58 @@ -9201,7 +9201,7 @@
Parameters:
Source:
- src/math/Math.js line 114 + src/math/Math.js line 114 @@ -9359,7 +9359,7 @@
Parameters:
Source:
- src/math/Math.js line 603 + src/math/Math.js line 603 @@ -9610,7 +9610,7 @@
Parameters:
Source:
- src/math/Math.js line 460 + src/math/Math.js line 460 @@ -9768,7 +9768,7 @@
Parameters:
Source:
- src/math/Math.js line 1053 + src/math/Math.js line 1053 @@ -10045,7 +10045,7 @@
Parameters:
Source:
- src/math/Math.js line 372 + src/math/Math.js line 372 @@ -10199,7 +10199,7 @@
Parameters:
Source:
- src/math/Math.js line 281 + src/math/Math.js line 281 @@ -10358,7 +10358,7 @@
Parameters:
Source:
- src/math/Math.js line 1289 + src/math/Math.js line 1289 @@ -10591,7 +10591,7 @@
Parameters:
Source:
- src/math/Math.js line 1067 + src/math/Math.js line 1067 @@ -10797,7 +10797,7 @@
Parameters:
Source:
- src/math/Math.js line 1272 + src/math/Math.js line 1272 @@ -11003,7 +11003,7 @@
Parameters:
Source:
- src/math/Math.js line 1253 + src/math/Math.js line 1253 @@ -11254,7 +11254,7 @@
Parameters:
Source:
- src/math/Math.js line 292 + src/math/Math.js line 292 @@ -11506,7 +11506,7 @@
Parameters:
Source:
- src/math/Math.js line 345 + src/math/Math.js line 345 @@ -11758,7 +11758,7 @@
Parameters:
Source:
- src/math/Math.js line 318 + src/math/Math.js line 318 @@ -11964,7 +11964,7 @@
Parameters:
Source:
- src/math/Math.js line 1220 + src/math/Math.js line 1220 @@ -12178,7 +12178,7 @@
Parameters:
Source:
- src/math/Math.js line 658 + src/math/Math.js line 658 @@ -12392,7 +12392,7 @@
Parameters:
Source:
- src/math/Math.js line 864 + src/math/Math.js line 864 @@ -12599,7 +12599,7 @@
Parameters:
Source:
- src/math/Math.js line 689 + src/math/Math.js line 689 @@ -12666,9 +12666,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -12685,7 +12685,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -12714,7 +12714,7 @@
Returns:
- + diff --git a/docs/Phaser.Matrix.html b/docs/Phaser.Matrix.html index cfeec0410..d2fec5183 100644 --- a/docs/Phaser.Matrix.html +++ b/docs/Phaser.Matrix.html @@ -6,7 +6,7 @@ Phaser CE Class: Matrix - + @@ -454,7 +454,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 26 + src/geom/Matrix.js line 26 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Matrix.js line 39 + src/geom/Matrix.js line 39 @@ -642,7 +642,7 @@
Type:
Source:
- src/geom/Matrix.js line 45 + src/geom/Matrix.js line 45 @@ -722,7 +722,7 @@
Type:
Source:
- src/geom/Matrix.js line 51 + src/geom/Matrix.js line 51 @@ -802,7 +802,7 @@
Type:
Source:
- src/geom/Matrix.js line 57 + src/geom/Matrix.js line 57 @@ -882,7 +882,7 @@
Type:
Source:
- src/geom/Matrix.js line 63 + src/geom/Matrix.js line 63 @@ -962,7 +962,7 @@
Type:
Source:
- src/geom/Matrix.js line 69 + src/geom/Matrix.js line 69 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/geom/Matrix.js line 75 + src/geom/Matrix.js line 75 @@ -1167,7 +1167,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 345 + src/geom/Matrix.js line 345 @@ -1370,7 +1370,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 233 + src/geom/Matrix.js line 233 @@ -1573,7 +1573,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 254 + src/geom/Matrix.js line 254 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 128 + src/geom/Matrix.js line 128 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 172 + src/geom/Matrix.js line 172 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 157 + src/geom/Matrix.js line 157 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 81 + src/geom/Matrix.js line 81 @@ -2334,7 +2334,7 @@

Source:
- src/geom/Matrix.js line 371 + src/geom/Matrix.js line 371 @@ -2492,7 +2492,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 318 + src/geom/Matrix.js line 318 @@ -2674,7 +2674,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 297 + src/geom/Matrix.js line 297 @@ -2952,7 +2952,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 103 + src/geom/Matrix.js line 103 @@ -3168,7 +3168,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 192 + src/geom/Matrix.js line 192 @@ -3351,7 +3351,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 279 + src/geom/Matrix.js line 279 @@ -3418,9 +3418,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3437,7 +3437,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3466,7 +3466,7 @@
Returns:
- + diff --git a/docs/Phaser.Mouse.html b/docs/Phaser.Mouse.html index 2ec3dc94c..f20856b34 100644 --- a/docs/Phaser.Mouse.html +++ b/docs/Phaser.Mouse.html @@ -6,7 +6,7 @@ Phaser CE Class: Mouse - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Mouse.js line 21 + src/input/Mouse.js line 21 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Mouse.js line 190 + src/input/Mouse.js line 190 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Mouse.js line 196 + src/input/Mouse.js line 196 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Mouse.js line 172 + src/input/Mouse.js line 172 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Mouse.js line 178 + src/input/Mouse.js line 178 @@ -628,7 +628,7 @@
Type:
Source:
- src/input/Mouse.js line 166 + src/input/Mouse.js line 166 @@ -701,7 +701,7 @@
Type:
Source:
- src/input/Mouse.js line 184 + src/input/Mouse.js line 184 @@ -774,7 +774,7 @@
Type:
Source:
- src/input/Mouse.js line 208 + src/input/Mouse.js line 208 @@ -847,7 +847,7 @@
Type:
Source:
- src/input/Mouse.js line 202 + src/input/Mouse.js line 202 @@ -926,7 +926,7 @@
Type:
Source:
- src/input/Mouse.js line 76 + src/input/Mouse.js line 76 @@ -1003,7 +1003,7 @@
Type:
Source:
- src/input/Mouse.js line 37 + src/input/Mouse.js line 37 @@ -1080,7 +1080,7 @@
Type:
Source:
- src/input/Mouse.js line 67 + src/input/Mouse.js line 67 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/input/Mouse.js line 89 + src/input/Mouse.js line 89 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/input/Mouse.js line 115 + src/input/Mouse.js line 115 @@ -1322,7 +1322,7 @@
Type:
Source:
- src/input/Mouse.js line 26 + src/input/Mouse.js line 26 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/input/Mouse.js line 32 + src/input/Mouse.js line 32 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/input/Mouse.js line 95 + src/input/Mouse.js line 95 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/input/Mouse.js line 42 + src/input/Mouse.js line 42 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/input/Mouse.js line 52 + src/input/Mouse.js line 52 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/input/Mouse.js line 57 + src/input/Mouse.js line 57 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/input/Mouse.js line 47 + src/input/Mouse.js line 47 @@ -1861,7 +1861,7 @@
Type:
Source:
- src/input/Mouse.js line 62 + src/input/Mouse.js line 62 @@ -1938,7 +1938,7 @@
Type:
Source:
- src/input/Mouse.js line 107 + src/input/Mouse.js line 107 @@ -2015,7 +2015,7 @@
Type:
Source:
- src/input/Mouse.js line 101 + src/input/Mouse.js line 101 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/input/Mouse.js line 82 + src/input/Mouse.js line 82 @@ -2220,7 +2220,7 @@
Parameters:
Source:
- src/input/Mouse.js line 296 + src/input/Mouse.js line 296 @@ -2354,7 +2354,7 @@
Parameters:
Source:
- src/input/Mouse.js line 326 + src/input/Mouse.js line 326 @@ -2488,7 +2488,7 @@
Parameters:
Source:
- src/input/Mouse.js line 445 + src/input/Mouse.js line 445 @@ -2622,7 +2622,7 @@
Parameters:
Source:
- src/input/Mouse.js line 408 + src/input/Mouse.js line 408 @@ -2756,7 +2756,7 @@
Parameters:
Source:
- src/input/Mouse.js line 481 + src/input/Mouse.js line 483 @@ -2890,7 +2890,7 @@
Parameters:
Source:
- src/input/Mouse.js line 356 + src/input/Mouse.js line 356 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/input/Mouse.js line 386 + src/input/Mouse.js line 386 @@ -3158,7 +3158,7 @@
Parameters:
Source:
- src/input/Mouse.js line 505 + src/input/Mouse.js line 507 @@ -3292,7 +3292,7 @@
Parameters:
Source:
- src/input/Mouse.js line 563 + src/input/Mouse.js line 565 @@ -3376,7 +3376,7 @@

Source:
- src/input/Mouse.js line 588 + src/input/Mouse.js line 590 @@ -3462,7 +3462,7 @@

Source:
- src/input/Mouse.js line 534 + src/input/Mouse.js line 536 @@ -3546,7 +3546,7 @@

Source:
- src/input/Mouse.js line 212 + src/input/Mouse.js line 212 @@ -3630,7 +3630,7 @@

Source:
- src/input/Mouse.js line 604 + src/input/Mouse.js line 606 @@ -3673,9 +3673,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3692,7 +3692,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3721,7 +3721,7 @@

- + diff --git a/docs/Phaser.Net.html b/docs/Phaser.Net.html index aa79c82a4..c2ee47638 100644 --- a/docs/Phaser.Net.html +++ b/docs/Phaser.Net.html @@ -6,7 +6,7 @@ Phaser CE Class: Net - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/net/Net.js line 14 + src/net/Net.js line 14 @@ -385,7 +385,7 @@
Parameters:
Source:
- src/net/Net.js line 38 + src/net/Net.js line 38 @@ -544,7 +544,7 @@
Parameters:
Source:
- src/net/Net.js line 152 + src/net/Net.js line 152 @@ -652,7 +652,7 @@

Source:
- src/net/Net.js line 22 + src/net/Net.js line 22 @@ -827,7 +827,7 @@
Parameters:
Source:
- src/net/Net.js line 116 + src/net/Net.js line 116 @@ -1063,7 +1063,7 @@
Parameters:
Source:
- src/net/Net.js line 52 + src/net/Net.js line 52 @@ -1130,9 +1130,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1149,7 +1149,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1178,7 +1178,7 @@
Returns:
- + diff --git a/docs/Phaser.Particle.html b/docs/Phaser.Particle.html index 45600a1d0..28268b22e 100644 --- a/docs/Phaser.Particle.html +++ b/docs/Phaser.Particle.html @@ -6,7 +6,7 @@ Phaser CE Class: Particle - + @@ -338,7 +338,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 19 + src/gameobjects/Particle.js line 19 @@ -474,7 +474,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -575,7 +575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -652,7 +652,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 51 + src/gameobjects/Particle.js line 51 @@ -742,7 +742,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -833,7 +833,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -920,7 +920,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 45 + src/gameobjects/Particle.js line 45 @@ -1094,7 +1094,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1171,7 +1171,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 27 + src/gameobjects/Particle.js line 27 @@ -1265,7 +1265,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1548,7 +1548,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1635,7 +1635,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -2073,7 +2073,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2257,7 +2257,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2343,7 +2343,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2430,7 +2430,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2517,7 +2517,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2690,7 +2690,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2877,7 +2877,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2963,7 +2963,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -3054,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -3147,7 +3147,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3238,7 +3238,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3329,7 +3329,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3416,7 +3416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3502,7 +3502,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3596,7 +3596,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3692,7 +3692,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3780,7 +3780,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3867,7 +3867,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3958,7 +3958,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4051,7 +4051,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4137,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4239,7 +4239,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4326,7 +4326,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4416,7 +4416,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4599,7 +4599,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4686,7 +4686,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4774,7 +4774,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4862,7 +4862,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -5035,7 +5035,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -5124,7 +5124,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5213,7 +5213,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5299,7 +5299,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5386,7 +5386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5474,7 +5474,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5560,7 +5560,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5646,7 +5646,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5733,7 +5733,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5820,7 +5820,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5907,7 +5907,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5996,7 +5996,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6085,7 +6085,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6162,7 +6162,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 33 + src/gameobjects/Particle.js line 33 @@ -6250,7 +6250,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6338,7 +6338,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6432,7 +6432,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6520,7 +6520,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6606,7 +6606,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6632,7 +6632,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -6699,7 +6699,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6792,7 +6792,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6879,7 +6879,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6965,7 +6965,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7051,7 +7051,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7137,7 +7137,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -7235,7 +7235,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7323,7 +7323,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7415,7 +7415,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7506,7 +7506,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7597,7 +7597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7688,7 +7688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7779,7 +7779,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7865,7 +7865,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7952,7 +7952,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -8039,7 +8039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -8128,7 +8128,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8265,7 +8265,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8456,7 +8456,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8799,7 +8799,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -9143,7 +9143,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9263,7 +9263,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9430,7 +9430,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9656,7 +9656,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9800,7 +9800,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9919,7 +9919,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -10164,7 +10164,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10340,7 +10340,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10507,7 +10507,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10674,7 +10674,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10791,7 +10791,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10958,7 +10958,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -11079,7 +11079,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -11364,7 +11364,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11460,7 +11460,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11580,7 +11580,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11688,7 +11688,7 @@

Source:
- src/gameobjects/Particle.js line 102 + src/gameobjects/Particle.js line 102 @@ -11847,7 +11847,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12153,7 +12153,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12270,7 +12270,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12363,7 +12363,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -12480,7 +12480,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12623,7 +12623,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12790,7 +12790,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12981,7 +12981,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -13214,7 +13214,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 141 + src/gameobjects/Particle.js line 141 @@ -13331,7 +13331,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13524,7 +13524,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13689,7 +13689,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -13809,7 +13809,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13917,7 +13917,7 @@

Source:
- src/gameobjects/Particle.js line 111 + src/gameobjects/Particle.js line 111 @@ -14084,7 +14084,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -14228,7 +14228,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14372,7 +14372,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14480,7 +14480,7 @@

Source:
- src/gameobjects/Particle.js line 126 + src/gameobjects/Particle.js line 126 @@ -14717,7 +14717,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14917,7 +14917,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -15084,7 +15084,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -15227,7 +15227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -15440,7 +15440,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -15555,7 +15555,7 @@

Source:
- src/gameobjects/Particle.js line 64 + src/gameobjects/Particle.js line 64 @@ -15648,7 +15648,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15768,7 +15768,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15931,7 +15931,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -16000,9 +16000,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -16019,7 +16019,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -16048,7 +16048,7 @@
Returns:
- + diff --git a/docs/Phaser.Particles.Arcade.Emitter.html b/docs/Phaser.Particles.Arcade.Emitter.html index 6570cd583..280861a81 100644 --- a/docs/Phaser.Particles.Arcade.Emitter.html +++ b/docs/Phaser.Particles.Arcade.Emitter.html @@ -6,7 +6,7 @@ Phaser CE Class: Emitter - + @@ -368,7 +368,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 20 + src/particles/arcade/Emitter.js line 20 @@ -505,7 +505,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -591,7 +591,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -668,7 +668,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 139 + src/particles/arcade/Emitter.js line 139 @@ -757,7 +757,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -834,7 +834,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 156 + src/particles/arcade/Emitter.js line 156 @@ -911,7 +911,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 57 + src/particles/arcade/Emitter.js line 57 @@ -988,7 +988,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 217 + src/particles/arcade/Emitter.js line 217 @@ -1065,7 +1065,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 212 + src/particles/arcade/Emitter.js line 212 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 191 + src/particles/arcade/Emitter.js line 191 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1169 + src/particles/arcade/Emitter.js line 1169 @@ -1301,7 +1301,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 173 + src/particles/arcade/Emitter.js line 173 @@ -1394,7 +1394,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1481,7 +1481,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1569,7 +1569,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1743,7 +1743,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1837,7 +1837,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -2073,7 +2073,7 @@
Properties
Source:
- src/particles/arcade/Emitter.js line 238 + src/particles/arcade/Emitter.js line 238 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1221 + src/particles/arcade/Emitter.js line 1221 @@ -2242,7 +2242,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -2321,7 +2321,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 199 + src/particles/arcade/Emitter.js line 199 @@ -2400,7 +2400,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 207 + src/particles/arcade/Emitter.js line 207 @@ -2488,7 +2488,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2673,7 +2673,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2759,7 +2759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2938,7 +2938,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 162 + src/particles/arcade/Emitter.js line 162 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -3185,7 +3185,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1032 + src/particles/arcade/Emitter.js line 1032 @@ -3275,7 +3275,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -3352,7 +3352,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1082 + src/particles/arcade/Emitter.js line 1082 @@ -3448,7 +3448,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3525,7 +3525,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1056 + src/particles/arcade/Emitter.js line 1056 @@ -3613,7 +3613,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3699,7 +3699,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -3787,7 +3787,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3869,7 +3869,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1130 + src/particles/arcade/Emitter.js line 1130 @@ -3955,7 +3955,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -4039,7 +4039,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 168 + src/particles/arcade/Emitter.js line 168 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1195 + src/particles/arcade/Emitter.js line 1195 @@ -4205,7 +4205,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 69 + src/particles/arcade/Emitter.js line 69 @@ -4366,7 +4366,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 134 + src/particles/arcade/Emitter.js line 134 @@ -4443,7 +4443,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 26 + src/particles/arcade/Emitter.js line 26 @@ -4527,7 +4527,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 105 + src/particles/arcade/Emitter.js line 105 @@ -4604,7 +4604,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 93 + src/particles/arcade/Emitter.js line 93 @@ -4688,7 +4688,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 122 + src/particles/arcade/Emitter.js line 122 @@ -4772,7 +4772,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 81 + src/particles/arcade/Emitter.js line 81 @@ -4849,7 +4849,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 63 + src/particles/arcade/Emitter.js line 63 @@ -4933,7 +4933,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 128 + src/particles/arcade/Emitter.js line 128 @@ -5017,7 +5017,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 99 + src/particles/arcade/Emitter.js line 99 @@ -5094,7 +5094,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 87 + src/particles/arcade/Emitter.js line 87 @@ -5171,7 +5171,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 116 + src/particles/arcade/Emitter.js line 116 @@ -5248,7 +5248,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 75 + src/particles/arcade/Emitter.js line 75 @@ -5330,7 +5330,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 39 + src/particles/arcade/Emitter.js line 39 @@ -5407,7 +5407,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 179 + src/particles/arcade/Emitter.js line 179 @@ -5497,7 +5497,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -5587,7 +5587,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -5677,7 +5677,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -5768,7 +5768,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -5854,7 +5854,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -5931,7 +5931,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1182 + src/particles/arcade/Emitter.js line 1182 @@ -6020,7 +6020,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -6097,7 +6097,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 185 + src/particles/arcade/Emitter.js line 185 @@ -6174,7 +6174,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 223 + src/particles/arcade/Emitter.js line 223 @@ -6251,7 +6251,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 145 + src/particles/arcade/Emitter.js line 145 @@ -6328,7 +6328,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 150 + src/particles/arcade/Emitter.js line 150 @@ -6405,7 +6405,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 229 + src/particles/arcade/Emitter.js line 229 @@ -6495,7 +6495,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -6582,7 +6582,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -6675,7 +6675,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -6757,7 +6757,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 51 + src/particles/arcade/Emitter.js line 51 @@ -6844,7 +6844,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -6932,7 +6932,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7009,7 +7009,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1208 + src/particles/arcade/Emitter.js line 1208 @@ -7096,7 +7096,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -7178,7 +7178,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1143 + src/particles/arcade/Emitter.js line 1143 @@ -7266,7 +7266,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -7355,7 +7355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -7432,7 +7432,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 110 + src/particles/arcade/Emitter.js line 110 @@ -7514,7 +7514,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1156 + src/particles/arcade/Emitter.js line 1156 @@ -7600,7 +7600,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -7682,7 +7682,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 45 + src/particles/arcade/Emitter.js line 45 @@ -7768,7 +7768,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -7859,7 +7859,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -7936,7 +7936,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1066 + src/particles/arcade/Emitter.js line 1066 @@ -8028,7 +8028,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -8119,7 +8119,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -8210,7 +8210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -8301,7 +8301,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -8392,7 +8392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -8478,7 +8478,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8560,7 +8560,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1098 + src/particles/arcade/Emitter.js line 1098 @@ -8642,7 +8642,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1114 + src/particles/arcade/Emitter.js line 1114 @@ -8729,7 +8729,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -8967,7 +8967,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -9245,7 +9245,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -9487,7 +9487,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -9654,7 +9654,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -9845,7 +9845,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -10076,7 +10076,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -10247,7 +10247,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -10642,7 +10642,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -10985,7 +10985,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -11329,7 +11329,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -11520,7 +11520,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -11670,7 +11670,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 1007 + src/particles/arcade/Emitter.js line 1007 @@ -11837,7 +11837,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -12100,7 +12100,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -12320,7 +12320,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -12511,7 +12511,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -12827,7 +12827,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -13129,7 +13129,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -13426,7 +13426,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -13593,7 +13593,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -13780,7 +13780,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -13897,7 +13897,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -14014,7 +14014,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -14408,7 +14408,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -14815,7 +14815,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -15028,7 +15028,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -15195,7 +15195,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -15284,7 +15284,7 @@

Source:
- src/particles/arcade/Emitter.js line 800 + src/particles/arcade/Emitter.js line 800 @@ -15500,7 +15500,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -15766,7 +15766,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 619 + src/particles/arcade/Emitter.js line 619 @@ -15984,7 +15984,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 478 + src/particles/arcade/Emitter.js line 478 @@ -16212,7 +16212,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -16556,7 +16556,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 500 + src/particles/arcade/Emitter.js line 500 @@ -16860,7 +16860,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -17098,7 +17098,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -17336,7 +17336,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -17574,7 +17574,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -17819,7 +17819,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -18127,7 +18127,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -18296,7 +18296,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -18417,7 +18417,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -18599,7 +18599,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -18768,7 +18768,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -18935,7 +18935,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -19102,7 +19102,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -19353,7 +19353,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -19544,7 +19544,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -19903,7 +19903,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -20262,7 +20262,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -20660,7 +20660,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -20911,7 +20911,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -21078,7 +21078,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -21195,7 +21195,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -21422,7 +21422,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -21650,7 +21650,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -21768,7 +21768,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -21960,7 +21960,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -22347,7 +22347,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -22460,7 +22460,7 @@

Source:
- src/particles/arcade/Emitter.js line 447 + src/particles/arcade/Emitter.js line 447 @@ -22577,7 +22577,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -22932,7 +22932,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 382 + src/particles/arcade/Emitter.js line 382 @@ -23155,7 +23155,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -23322,7 +23322,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -23489,7 +23489,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -23729,7 +23729,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -23818,7 +23818,7 @@

Source:
- src/particles/arcade/Emitter.js line 1232 + src/particles/arcade/Emitter.js line 1232 @@ -23935,7 +23935,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -24028,7 +24028,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -24117,7 +24117,7 @@

Source:
- src/particles/arcade/Emitter.js line 1241 + src/particles/arcade/Emitter.js line 1241 @@ -24382,7 +24382,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -24652,7 +24652,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -24929,7 +24929,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -25072,7 +25072,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -25239,7 +25239,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -25430,7 +25430,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -25574,7 +25574,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -25767,7 +25767,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -26121,7 +26121,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -26427,7 +26427,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -26615,7 +26615,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -26733,7 +26733,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -26822,7 +26822,7 @@

Source:
- src/particles/arcade/Emitter.js line 463 + src/particles/arcade/Emitter.js line 463 @@ -26939,7 +26939,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -27142,7 +27142,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -27285,7 +27285,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -27701,7 +27701,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -28083,7 +28083,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -28441,7 +28441,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -28757,7 +28757,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 888 + src/particles/arcade/Emitter.js line 888 @@ -29031,7 +29031,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 981 + src/particles/arcade/Emitter.js line 981 @@ -29222,7 +29222,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -29541,7 +29541,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -29759,7 +29759,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 868 + src/particles/arcade/Emitter.js line 868 @@ -30179,7 +30179,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 930 + src/particles/arcade/Emitter.js line 930 @@ -30361,7 +30361,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 813 + src/particles/arcade/Emitter.js line 813 @@ -30579,7 +30579,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 830 + src/particles/arcade/Emitter.js line 830 @@ -30797,7 +30797,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 849 + src/particles/arcade/Emitter.js line 849 @@ -30915,7 +30915,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -31122,7 +31122,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -31441,7 +31441,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 551 + src/particles/arcade/Emitter.js line 551 @@ -31681,7 +31681,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -31849,7 +31849,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -32016,7 +32016,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -32159,7 +32159,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -32372,7 +32372,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -32487,7 +32487,7 @@

Source:
- src/particles/arcade/Emitter.js line 310 + src/particles/arcade/Emitter.js line 310 @@ -32580,7 +32580,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -32769,7 +32769,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -32889,7 +32889,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -33080,7 +33080,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -33123,9 +33123,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -33142,7 +33142,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -33171,7 +33171,7 @@
Parameters:
- + diff --git a/docs/Phaser.Particles.Arcade.html b/docs/Phaser.Particles.Arcade.html index 7b1de318e..2869e5249 100644 --- a/docs/Phaser.Particles.Arcade.html +++ b/docs/Phaser.Particles.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -180,7 +180,7 @@

Source:
- src/particles/arcade/ArcadeParticles.js line 12 + src/particles/arcade/ArcadeParticles.js line 12 @@ -244,9 +244,9 @@

Classes

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -263,7 +263,7 @@

Classes

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -292,7 +292,7 @@

Classes

- + diff --git a/docs/Phaser.Particles.html b/docs/Phaser.Particles.html index d35d18493..7c26c2d17 100644 --- a/docs/Phaser.Particles.html +++ b/docs/Phaser.Particles.html @@ -6,7 +6,7 @@ Phaser CE Class: Particles - + @@ -135,7 +135,7 @@

-

Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it.

+

Phaser.Particles tracks any Emitters attached to it.

@@ -230,7 +230,7 @@

Parameters:
Source:
- src/particles/Particles.js line 14 + src/particles/Particles.js line 14 @@ -342,7 +342,7 @@
Type:
Source:
- src/particles/Particles.js line 24 + src/particles/Particles.js line 24 @@ -419,7 +419,7 @@
Type:
Source:
- src/particles/Particles.js line 19 + src/particles/Particles.js line 19 @@ -496,7 +496,7 @@
Type:
Source:
- src/particles/Particles.js line 30 + src/particles/Particles.js line 30 @@ -624,7 +624,7 @@
Parameters:
Source:
- src/particles/Particles.js line 36 + src/particles/Particles.js line 36 @@ -782,101 +782,7 @@
Parameters:
Source:
- src/particles/Particles.js line 47 - - - - - - - -

- - - - - - - - - - - - - - - -
- - - -
-

- <protected> update() - deprecated -

- -
-
- - -
-

Updates all Emitters who have their exists value set to true.

-

Phaser no longer uses this method; Emitters receive updates via Phaser.Stage#update instead.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
Deprecated:
- -
-
    -
  • Yes
  • -
-
- - - - - - - - - - - - - - -
Source:
-
- - src/particles/Particles.js line 56 + src/particles/Particles.js line 47 @@ -919,9 +825,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -938,7 +844,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -967,7 +873,7 @@

- + diff --git a/docs/Phaser.Path.html b/docs/Phaser.Path.html index 5b6a7249b..b1ed0a6ac 100644 --- a/docs/Phaser.Path.html +++ b/docs/Phaser.Path.html @@ -6,7 +6,7 @@ Phaser CE Class: Path - + @@ -327,7 +327,7 @@

Parameters:
Source:
- src/plugins/path/Path.js line 18 + src/plugins/path/Path.js line 18 @@ -432,7 +432,7 @@
Type:
Source:
- src/plugins/path/Path.js line 41 + src/plugins/path/Path.js line 41 @@ -509,7 +509,7 @@
Type:
Source:
- src/plugins/path/Path.js line 31 + src/plugins/path/Path.js line 31 @@ -586,7 +586,7 @@
Type:
Source:
- src/plugins/path/Path.js line 26 + src/plugins/path/Path.js line 26 @@ -663,7 +663,7 @@
Type:
Source:
- src/plugins/path/Path.js line 46 + src/plugins/path/Path.js line 46 @@ -740,7 +740,7 @@
Type:
Source:
- src/plugins/path/Path.js line 36 + src/plugins/path/Path.js line 36 @@ -1128,7 +1128,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 205 + src/plugins/path/Path.js line 205 @@ -1286,7 +1286,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 516 + src/plugins/path/Path.js line 516 @@ -1394,7 +1394,7 @@

Source:
- src/plugins/path/Path.js line 185 + src/plugins/path/Path.js line 185 @@ -1611,7 +1611,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 148 + src/plugins/path/Path.js line 148 @@ -1825,7 +1825,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 693 + src/plugins/path/Path.js line 693 @@ -1983,7 +1983,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 343 + src/plugins/path/Path.js line 343 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 429 + src/plugins/path/Path.js line 429 @@ -2346,7 +2346,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 360 + src/plugins/path/Path.js line 360 @@ -2505,7 +2505,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 405 + src/plugins/path/Path.js line 405 @@ -2719,7 +2719,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 319 + src/plugins/path/Path.js line 319 @@ -2827,7 +2827,7 @@

Source:
- src/plugins/path/Path.js line 536 + src/plugins/path/Path.js line 536 @@ -2987,7 +2987,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 481 + src/plugins/path/Path.js line 481 @@ -3194,7 +3194,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 552 + src/plugins/path/Path.js line 552 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 240 + src/plugins/path/Path.js line 240 @@ -3546,7 +3546,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 302 + src/plugins/path/Path.js line 302 @@ -3846,7 +3846,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 260 + src/plugins/path/Path.js line 260 @@ -3955,7 +3955,7 @@

Source:
- src/plugins/path/Path.js line 628 + src/plugins/path/Path.js line 628 @@ -4063,7 +4063,7 @@

Source:
- src/plugins/path/Path.js line 799 + src/plugins/path/Path.js line 799 @@ -4224,7 +4224,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 284 + src/plugins/path/Path.js line 284 @@ -4291,9 +4291,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -4310,7 +4310,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -4339,7 +4339,7 @@
Returns:
- + diff --git a/docs/Phaser.PathFollower.html b/docs/Phaser.PathFollower.html index 500c43549..987db1c56 100644 --- a/docs/Phaser.PathFollower.html +++ b/docs/Phaser.PathFollower.html @@ -6,7 +6,7 @@ Phaser CE Class: PathFollower - + @@ -447,7 +447,7 @@
Parameters:
Source:
- src/plugins/path/PathFollower.js line 25 + src/plugins/path/PathFollower.js line 25 @@ -504,9 +504,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -523,7 +523,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -552,7 +552,7 @@
Parameters:
- + diff --git a/docs/Phaser.PathPoint.html b/docs/Phaser.PathPoint.html index d2412ceb6..80339f581 100644 --- a/docs/Phaser.PathPoint.html +++ b/docs/Phaser.PathPoint.html @@ -6,7 +6,7 @@ Phaser CE Class: PathPoint - + @@ -508,7 +508,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 22 + src/plugins/path/PathPoint.js line 22 @@ -609,7 +609,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 118 + src/plugins/path/PathPoint.js line 118 @@ -682,7 +682,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 100 + src/plugins/path/PathPoint.js line 100 @@ -755,7 +755,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 106 + src/plugins/path/PathPoint.js line 106 @@ -828,7 +828,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 112 + src/plugins/path/PathPoint.js line 112 @@ -905,7 +905,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 84 + src/plugins/path/PathPoint.js line 84 @@ -982,7 +982,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 62 + src/plugins/path/PathPoint.js line 62 @@ -1059,7 +1059,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 67 + src/plugins/path/PathPoint.js line 67 @@ -1136,7 +1136,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 72 + src/plugins/path/PathPoint.js line 72 @@ -1213,7 +1213,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 90 + src/plugins/path/PathPoint.js line 90 @@ -1290,7 +1290,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 78 + src/plugins/path/PathPoint.js line 78 @@ -1367,7 +1367,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 57 + src/plugins/path/PathPoint.js line 57 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 52 + src/plugins/path/PathPoint.js line 52 @@ -1521,7 +1521,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 42 + src/plugins/path/PathPoint.js line 42 @@ -1598,7 +1598,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 47 + src/plugins/path/PathPoint.js line 47 @@ -1675,7 +1675,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 32 + src/plugins/path/PathPoint.js line 32 @@ -1752,7 +1752,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 37 + src/plugins/path/PathPoint.js line 37 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 174 + src/plugins/path/PathPoint.js line 174 @@ -2051,7 +2051,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 189 + src/plugins/path/PathPoint.js line 189 @@ -2307,7 +2307,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 214 + src/plugins/path/PathPoint.js line 214 @@ -2489,7 +2489,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 154 + src/plugins/path/PathPoint.js line 154 @@ -2757,7 +2757,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 122 + src/plugins/path/PathPoint.js line 122 @@ -2865,7 +2865,7 @@

Source:
- src/plugins/path/PathPoint.js line 236 + src/plugins/path/PathPoint.js line 236 @@ -2932,9 +2932,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2951,7 +2951,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2980,7 +2980,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Arcade.Body.html b/docs/Phaser.Physics.Arcade.Body.html index cb722e0f4..643378d15 100644 --- a/docs/Phaser.Physics.Arcade.Body.html +++ b/docs/Phaser.Physics.Arcade.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 15 + src/physics/arcade/Body.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 161 + src/physics/arcade/Body.js line 161 @@ -420,7 +420,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 167 + src/physics/arcade/Body.js line 167 @@ -504,7 +504,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 178 + src/physics/arcade/Body.js line 178 @@ -588,7 +588,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 79 + src/physics/arcade/Body.js line 79 @@ -665,7 +665,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 295 + src/physics/arcade/Body.js line 295 @@ -742,7 +742,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 271 + src/physics/arcade/Body.js line 271 @@ -819,7 +819,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 277 + src/physics/arcade/Body.js line 277 @@ -896,7 +896,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 265 + src/physics/arcade/Body.js line 265 @@ -974,7 +974,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 402 + src/physics/arcade/Body.js line 402 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1383 + src/physics/arcade/Body.js line 1383 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 188 + src/physics/arcade/Body.js line 188 @@ -1205,7 +1205,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 140 + src/physics/arcade/Body.js line 140 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 382 + src/physics/arcade/Body.js line 382 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 373 + src/physics/arcade/Body.js line 373 @@ -1440,7 +1440,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 335 + src/physics/arcade/Body.js line 335 @@ -1518,7 +1518,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 343 + src/physics/arcade/Body.js line 343 @@ -1595,7 +1595,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 156 + src/physics/arcade/Body.js line 156 @@ -1672,7 +1672,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 414 + src/physics/arcade/Body.js line 414 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 172 + src/physics/arcade/Body.js line 172 @@ -1826,7 +1826,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 367 + src/physics/arcade/Body.js line 367 @@ -1910,7 +1910,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 36 + src/physics/arcade/Body.js line 36 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 307 + src/physics/arcade/Body.js line 307 @@ -2064,7 +2064,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 259 + src/physics/arcade/Body.js line 259 @@ -2141,7 +2141,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 25 + src/physics/arcade/Body.js line 25 @@ -2218,7 +2218,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 183 + src/physics/arcade/Body.js line 183 @@ -2295,7 +2295,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 134 + src/physics/arcade/Body.js line 134 @@ -2372,7 +2372,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 128 + src/physics/arcade/Body.js line 128 @@ -2449,7 +2449,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 104 + src/physics/arcade/Body.js line 104 @@ -2526,7 +2526,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 313 + src/physics/arcade/Body.js line 313 @@ -2604,7 +2604,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 45 + src/physics/arcade/Body.js line 45 @@ -2681,7 +2681,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 434 + src/physics/arcade/Body.js line 434 @@ -2758,7 +2758,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1340 + src/physics/arcade/Body.js line 1340 @@ -2842,7 +2842,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 289 + src/physics/arcade/Body.js line 289 @@ -2926,7 +2926,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 283 + src/physics/arcade/Body.js line 283 @@ -3003,7 +3003,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 254 + src/physics/arcade/Body.js line 254 @@ -3080,7 +3080,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 479 + src/physics/arcade/Body.js line 479 @@ -3157,7 +3157,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 484 + src/physics/arcade/Body.js line 484 @@ -3245,7 +3245,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 327 + src/physics/arcade/Body.js line 327 @@ -3322,7 +3322,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 151 + src/physics/arcade/Body.js line 151 @@ -3399,7 +3399,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 61 + src/physics/arcade/Body.js line 61 @@ -3485,7 +3485,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 228 + src/physics/arcade/Body.js line 228 @@ -3562,7 +3562,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 474 + src/physics/arcade/Body.js line 474 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 248 + src/physics/arcade/Body.js line 248 @@ -3731,7 +3731,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 208 + src/physics/arcade/Body.js line 208 @@ -3808,7 +3808,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 361 + src/physics/arcade/Body.js line 361 @@ -3885,7 +3885,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 349 + src/physics/arcade/Body.js line 349 @@ -3962,7 +3962,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 355 + src/physics/arcade/Body.js line 355 @@ -4039,7 +4039,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 67 + src/physics/arcade/Body.js line 67 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 92 + src/physics/arcade/Body.js line 92 @@ -4193,7 +4193,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 73 + src/physics/arcade/Body.js line 73 @@ -4273,7 +4273,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 56 + src/physics/arcade/Body.js line 56 @@ -4350,7 +4350,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1354 + src/physics/arcade/Body.js line 1354 @@ -4428,7 +4428,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 86 + src/physics/arcade/Body.js line 86 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 419 + src/physics/arcade/Body.js line 419 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 116 + src/physics/arcade/Body.js line 116 @@ -4659,7 +4659,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 110 + src/physics/arcade/Body.js line 110 @@ -4736,7 +4736,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 301 + src/physics/arcade/Body.js line 301 @@ -4813,7 +4813,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 20 + src/physics/arcade/Body.js line 20 @@ -4890,7 +4890,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 439 + src/physics/arcade/Body.js line 439 @@ -4970,7 +4970,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 429 + src/physics/arcade/Body.js line 429 @@ -5048,7 +5048,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 409 + src/physics/arcade/Body.js line 409 @@ -5125,7 +5125,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1369 + src/physics/arcade/Body.js line 1369 @@ -5203,7 +5203,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 389 + src/physics/arcade/Body.js line 389 @@ -5280,7 +5280,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 30 + src/physics/arcade/Body.js line 30 @@ -5357,7 +5357,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 145 + src/physics/arcade/Body.js line 145 @@ -5434,7 +5434,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 395 + src/physics/arcade/Body.js line 395 @@ -5511,7 +5511,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 98 + src/physics/arcade/Body.js line 98 @@ -5590,7 +5590,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 196 + src/physics/arcade/Body.js line 196 @@ -5667,7 +5667,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1398 + src/physics/arcade/Body.js line 1398 @@ -5744,7 +5744,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1417 + src/physics/arcade/Body.js line 1417 @@ -5822,7 +5822,7 @@

Source:
- src/physics/arcade/Body.js line 827 + src/physics/arcade/Body.js line 827 @@ -5930,7 +5930,7 @@

Source:
- src/physics/arcade/Body.js line 1258 + src/physics/arcade/Body.js line 1258 @@ -6038,7 +6038,7 @@

Source:
- src/physics/arcade/Body.js line 1270 + src/physics/arcade/Body.js line 1270 @@ -6146,7 +6146,7 @@

Source:
- src/physics/arcade/Body.js line 1282 + src/physics/arcade/Body.js line 1282 @@ -6254,7 +6254,7 @@

Source:
- src/physics/arcade/Body.js line 1294 + src/physics/arcade/Body.js line 1294 @@ -6362,7 +6362,7 @@

Source:
- src/physics/arcade/Body.js line 1306 + src/physics/arcade/Body.js line 1306 @@ -6472,7 +6472,7 @@

Source:
- src/physics/arcade/Body.js line 1318 + src/physics/arcade/Body.js line 1318 @@ -6607,7 +6607,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1188 + src/physics/arcade/Body.js line 1188 @@ -6789,7 +6789,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1208 + src/physics/arcade/Body.js line 1208 @@ -7040,7 +7040,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 877 + src/physics/arcade/Body.js line 877 @@ -7288,7 +7288,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 951 + src/physics/arcade/Body.js line 951 @@ -7396,7 +7396,7 @@

Source:
- src/physics/arcade/Body.js line 1234 + src/physics/arcade/Body.js line 1234 @@ -7504,7 +7504,7 @@

Source:
- src/physics/arcade/Body.js line 1222 + src/physics/arcade/Body.js line 1222 @@ -7612,7 +7612,7 @@

Source:
- src/physics/arcade/Body.js line 1246 + src/physics/arcade/Body.js line 1246 @@ -7720,7 +7720,7 @@

Source:
- src/physics/arcade/Body.js line 741 + src/physics/arcade/Body.js line 741 @@ -7804,7 +7804,7 @@

Source:
- src/physics/arcade/Body.js line 576 + src/physics/arcade/Body.js line 576 @@ -8110,7 +8110,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1437 + src/physics/arcade/Body.js line 1437 @@ -8372,7 +8372,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1485 + src/physics/arcade/Body.js line 1485 @@ -8530,7 +8530,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1144 + src/physics/arcade/Body.js line 1144 @@ -8749,7 +8749,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1098 + src/physics/arcade/Body.js line 1098 @@ -9017,7 +9017,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1038 + src/physics/arcade/Body.js line 1038 @@ -9101,7 +9101,7 @@

Source:
- src/physics/arcade/Body.js line 1173 + src/physics/arcade/Body.js line 1173 @@ -9250,7 +9250,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 713 + src/physics/arcade/Body.js line 713 @@ -9334,7 +9334,7 @@

Source:
- src/physics/arcade/Body.js line 520 + src/physics/arcade/Body.js line 520 @@ -9418,7 +9418,7 @@

Source:
- src/physics/arcade/Body.js line 564 + src/physics/arcade/Body.js line 564 @@ -9502,7 +9502,7 @@

Source:
- src/physics/arcade/Body.js line 672 + src/physics/arcade/Body.js line 672 @@ -9545,9 +9545,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -9564,7 +9564,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -9593,7 +9593,7 @@

- + diff --git a/docs/Phaser.Physics.Arcade.TilemapCollision.html b/docs/Phaser.Physics.Arcade.TilemapCollision.html index 726d4b0da..242629b45 100644 --- a/docs/Phaser.Physics.Arcade.TilemapCollision.html +++ b/docs/Phaser.Physics.Arcade.TilemapCollision.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapCollision - + @@ -180,7 +180,7 @@

Source:
- src/physics/arcade/TilemapCollision.js line 13 + src/physics/arcade/TilemapCollision.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/physics/arcade/TilemapCollision.js line 20 + src/physics/arcade/TilemapCollision.js line 20 @@ -318,9 +318,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -337,7 +337,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -366,7 +366,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.Arcade.html b/docs/Phaser.Physics.Arcade.html index 7bd8cdc1d..019aee388 100644 --- a/docs/Phaser.Physics.Arcade.html +++ b/docs/Phaser.Physics.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 14 + src/physics/arcade/World.js line 14 @@ -346,7 +346,7 @@
Type:
Source:
- src/physics/arcade/World.js line 130 + src/physics/arcade/World.js line 131 @@ -424,7 +424,7 @@
Type:
Source:
- src/physics/arcade/World.js line 106 + src/physics/arcade/World.js line 107 @@ -502,7 +502,7 @@
Type:
Source:
- src/physics/arcade/World.js line 114 + src/physics/arcade/World.js line 115 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/arcade/World.js line 98 + src/physics/arcade/World.js line 99 @@ -658,7 +658,7 @@
Type:
Source:
- src/physics/arcade/World.js line 122 + src/physics/arcade/World.js line 123 @@ -735,7 +735,7 @@
Type:
Source:
- src/physics/arcade/World.js line 29 + src/physics/arcade/World.js line 29 @@ -813,7 +813,7 @@
Type:
Source:
- src/physics/arcade/World.js line 36 + src/physics/arcade/World.js line 36 @@ -890,7 +890,7 @@
Type:
Source:
- src/physics/arcade/World.js line 56 + src/physics/arcade/World.js line 57 @@ -967,7 +967,7 @@
Type:
Source:
- src/physics/arcade/World.js line 19 + src/physics/arcade/World.js line 19 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/physics/arcade/World.js line 24 + src/physics/arcade/World.js line 24 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/physics/arcade/World.js line 72 + src/physics/arcade/World.js line 73 @@ -1198,7 +1198,7 @@
Type:
Source:
- src/physics/arcade/World.js line 46 + src/physics/arcade/World.js line 46 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/physics/arcade/World.js line 41 + src/physics/arcade/World.js line 41 @@ -1344,6 +1344,13 @@
Type:
+ +
Default Value:
+
+
    +
  • 4
  • +
+
@@ -1352,7 +1359,7 @@

Type:
Source:
- src/physics/arcade/World.js line 51 + src/physics/arcade/World.js line 52 @@ -1429,7 +1436,7 @@
Type:
Source:
- src/physics/arcade/World.js line 77 + src/physics/arcade/World.js line 78 @@ -1506,7 +1513,7 @@
Type:
Source:
- src/physics/arcade/World.js line 67 + src/physics/arcade/World.js line 68 @@ -1583,7 +1590,7 @@
Type:
Source:
- src/physics/arcade/World.js line 62 + src/physics/arcade/World.js line 63 @@ -1886,7 +1893,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1861 + src/physics/arcade/World.js line 1862 @@ -2221,7 +2228,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1890 + src/physics/arcade/World.js line 1891 @@ -2590,7 +2597,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1920 + src/physics/arcade/World.js line 1921 @@ -2846,7 +2853,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1842 + src/physics/arcade/World.js line 1843 @@ -3101,7 +3108,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2110 + src/physics/arcade/World.js line 2111 @@ -3283,7 +3290,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2138 + src/physics/arcade/World.js line 2139 @@ -3538,7 +3545,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2184 + src/physics/arcade/World.js line 2185 @@ -3827,7 +3834,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2155 + src/physics/arcade/World.js line 2156 @@ -4009,7 +4016,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1160 + src/physics/arcade/World.js line 1161 @@ -4299,7 +4306,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2052 + src/physics/arcade/World.js line 2053 @@ -4673,7 +4680,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 362 + src/physics/arcade/World.js line 363 @@ -5032,7 +5039,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 260 + src/physics/arcade/World.js line 261 @@ -5329,7 +5336,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1950 + src/physics/arcade/World.js line 1951 @@ -5586,7 +5593,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2024 + src/physics/arcade/World.js line 2025 @@ -5877,7 +5884,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1997 + src/physics/arcade/World.js line 1998 @@ -6098,7 +6105,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 160 + src/physics/arcade/World.js line 161 @@ -6234,7 +6241,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 216 + src/physics/arcade/World.js line 217 @@ -6500,7 +6507,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2081 + src/physics/arcade/World.js line 2082 @@ -6838,7 +6845,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1657 + src/physics/arcade/World.js line 1658 @@ -7108,7 +7115,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1634 + src/physics/arcade/World.js line 1635 @@ -7315,7 +7322,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1366 + src/physics/arcade/World.js line 1367 @@ -7522,7 +7529,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1430 + src/physics/arcade/World.js line 1431 @@ -7704,7 +7711,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1096 + src/physics/arcade/World.js line 1097 @@ -7999,7 +8006,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1701 + src/physics/arcade/World.js line 1702 @@ -8295,7 +8302,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1735 + src/physics/arcade/World.js line 1736 @@ -8626,7 +8633,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1769 + src/physics/arcade/World.js line 1770 @@ -8980,7 +8987,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 321 + src/physics/arcade/World.js line 322 @@ -9210,7 +9217,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 134 + src/physics/arcade/World.js line 135 @@ -9294,7 +9301,7 @@

Source:
- src/physics/arcade/World.js line 149 + src/physics/arcade/World.js line 150 @@ -9475,7 +9482,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 509 + src/physics/arcade/World.js line 510 @@ -9634,7 +9641,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 488 + src/physics/arcade/World.js line 489 @@ -9817,7 +9824,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 425 + src/physics/arcade/World.js line 426 @@ -10000,7 +10007,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 446 + src/physics/arcade/World.js line 447 @@ -10183,7 +10190,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 467 + src/physics/arcade/World.js line 468 @@ -10341,7 +10348,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 240 + src/physics/arcade/World.js line 241 @@ -10573,7 +10580,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1804 + src/physics/arcade/World.js line 1805 @@ -10831,7 +10838,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1823 + src/physics/arcade/World.js line 1824 @@ -11036,7 +11043,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2213 + src/physics/arcade/World.js line 2214 @@ -11103,9 +11110,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -11122,7 +11129,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -11151,7 +11158,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.AABB.html b/docs/Phaser.Physics.Ninja.AABB.html index d0fec24f7..5b19fc7c7 100644 --- a/docs/Phaser.Physics.Ninja.AABB.html +++ b/docs/Phaser.Physics.Ninja.AABB.html @@ -6,7 +6,7 @@ Phaser CE Class: AABB - + @@ -327,7 +327,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 20 + src/physics/ninja/AABB.js line 20 @@ -432,7 +432,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 86 + src/physics/ninja/AABB.js line 86 @@ -547,7 +547,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 25 + src/physics/ninja/AABB.js line 25 @@ -624,7 +624,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 64 + src/physics/ninja/AABB.js line 64 @@ -701,7 +701,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 40 + src/physics/ninja/AABB.js line 40 @@ -778,7 +778,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 35 + src/physics/ninja/AABB.js line 35 @@ -855,7 +855,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 30 + src/physics/ninja/AABB.js line 30 @@ -932,7 +932,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 81 + src/physics/ninja/AABB.js line 81 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 58 + src/physics/ninja/AABB.js line 58 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 46 + src/physics/ninja/AABB.js line 46 @@ -1201,7 +1201,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 52 + src/physics/ninja/AABB.js line 52 @@ -1329,7 +1329,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 336 + src/physics/ninja/AABB.js line 336 @@ -1463,7 +1463,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 408 + src/physics/ninja/AABB.js line 408 @@ -1547,7 +1547,7 @@

Source:
- src/physics/ninja/AABB.js line 295 + src/physics/ninja/AABB.js line 295 @@ -1631,7 +1631,7 @@

Source:
- src/physics/ninja/AABB.js line 993 + src/physics/ninja/AABB.js line 993 @@ -1715,7 +1715,7 @@

Source:
- src/physics/ninja/AABB.js line 108 + src/physics/ninja/AABB.js line 108 @@ -1921,7 +1921,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 702 + src/physics/ninja/AABB.js line 702 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 622 + src/physics/ninja/AABB.js line 622 @@ -2381,7 +2381,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 569 + src/physics/ninja/AABB.js line 569 @@ -2611,7 +2611,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 834 + src/physics/ninja/AABB.js line 834 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 755 + src/physics/ninja/AABB.js line 755 @@ -3071,7 +3071,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 935 + src/physics/ninja/AABB.js line 935 @@ -3301,7 +3301,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 885 + src/physics/ninja/AABB.js line 885 @@ -3531,7 +3531,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 491 + src/physics/ninja/AABB.js line 491 @@ -3761,7 +3761,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 510 + src/physics/ninja/AABB.js line 510 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 1003 + src/physics/ninja/AABB.js line 1003 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 128 + src/physics/ninja/AABB.js line 128 @@ -4451,7 +4451,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 248 + src/physics/ninja/AABB.js line 248 @@ -4657,7 +4657,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 202 + src/physics/ninja/AABB.js line 202 @@ -4863,7 +4863,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 467 + src/physics/ninja/AABB.js line 467 @@ -4967,7 +4967,7 @@

Source:
- src/physics/ninja/AABB.js line 216 + src/physics/ninja/AABB.js line 216 @@ -5010,9 +5010,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -5029,7 +5029,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -5058,7 +5058,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Body.html b/docs/Phaser.Physics.Ninja.Body.html index 4540ac83e..14a0c297e 100644 --- a/docs/Phaser.Physics.Ninja.Body.html +++ b/docs/Phaser.Physics.Ninja.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -563,7 +563,7 @@

Parameters:
Source:
- src/physics/ninja/Body.js line 23 + src/physics/ninja/Body.js line 23 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 54 + src/physics/ninja/Body.js line 54 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 535 + src/physics/ninja/Body.js line 535 @@ -822,7 +822,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 496 + src/physics/ninja/Body.js line 496 @@ -906,7 +906,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 95 + src/physics/ninja/Body.js line 95 @@ -984,7 +984,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 125 + src/physics/ninja/Body.js line 125 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 64 + src/physics/ninja/Body.js line 64 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 118 + src/physics/ninja/Body.js line 118 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 77 + src/physics/ninja/Body.js line 77 @@ -1299,7 +1299,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 106 + src/physics/ninja/Body.js line 106 @@ -1383,7 +1383,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 83 + src/physics/ninja/Body.js line 83 @@ -1460,7 +1460,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 39 + src/physics/ninja/Body.js line 39 @@ -1544,7 +1544,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 89 + src/physics/ninja/Body.js line 89 @@ -1621,7 +1621,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 483 + src/physics/ninja/Body.js line 483 @@ -1698,7 +1698,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 112 + src/physics/ninja/Body.js line 112 @@ -1782,7 +1782,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 144 + src/physics/ninja/Body.js line 144 @@ -1859,7 +1859,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 509 + src/physics/ninja/Body.js line 509 @@ -1936,7 +1936,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 69 + src/physics/ninja/Body.js line 69 @@ -2013,7 +2013,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 522 + src/physics/ninja/Body.js line 522 @@ -2090,7 +2090,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 34 + src/physics/ninja/Body.js line 34 @@ -2167,7 +2167,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 49 + src/physics/ninja/Body.js line 49 @@ -2244,7 +2244,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 59 + src/physics/ninja/Body.js line 59 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 132 + src/physics/ninja/Body.js line 132 @@ -2399,7 +2399,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 44 + src/physics/ninja/Body.js line 44 @@ -2476,7 +2476,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 100 + src/physics/ninja/Body.js line 100 @@ -2553,7 +2553,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 138 + src/physics/ninja/Body.js line 138 @@ -2630,7 +2630,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 470 + src/physics/ninja/Body.js line 470 @@ -2707,7 +2707,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 438 + src/physics/ninja/Body.js line 438 @@ -2784,7 +2784,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 454 + src/physics/ninja/Body.js line 454 @@ -2862,7 +2862,7 @@

Source:
- src/physics/ninja/Body.js line 381 + src/physics/ninja/Body.js line 381 @@ -2970,7 +2970,7 @@

Source:
- src/physics/ninja/Body.js line 391 + src/physics/ninja/Body.js line 391 @@ -3078,7 +3078,7 @@

Source:
- src/physics/ninja/Body.js line 401 + src/physics/ninja/Body.js line 401 @@ -3186,7 +3186,7 @@

Source:
- src/physics/ninja/Body.js line 411 + src/physics/ninja/Body.js line 411 @@ -3294,7 +3294,7 @@

Source:
- src/physics/ninja/Body.js line 421 + src/physics/ninja/Body.js line 421 @@ -3378,7 +3378,7 @@

Source:
- src/physics/ninja/Body.js line 214 + src/physics/ninja/Body.js line 214 @@ -3462,7 +3462,7 @@

Source:
- src/physics/ninja/Body.js line 184 + src/physics/ninja/Body.js line 184 @@ -3728,7 +3728,7 @@
Parameters:
Source:
- src/physics/ninja/Body.js line 548 + src/physics/ninja/Body.js line 548 @@ -3812,7 +3812,7 @@

Source:
- src/physics/ninja/Body.js line 365 + src/physics/ninja/Body.js line 365 @@ -3896,7 +3896,7 @@

Source:
- src/physics/ninja/Body.js line 257 + src/physics/ninja/Body.js line 257 @@ -3939,9 +3939,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3958,7 +3958,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3987,7 +3987,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Circle.html b/docs/Phaser.Physics.Ninja.Circle.html index f4c03c8de..156289f0f 100644 --- a/docs/Phaser.Physics.Ninja.Circle.html +++ b/docs/Phaser.Physics.Ninja.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -303,7 +303,7 @@

Parameters:
Source:
- src/physics/ninja/Circle.js line 19 + src/physics/ninja/Circle.js line 19 @@ -446,7 +446,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 24 + src/physics/ninja/Circle.js line 24 @@ -523,7 +523,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 90 + src/physics/ninja/Circle.js line 90 @@ -600,7 +600,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 68 + src/physics/ninja/Circle.js line 68 @@ -677,7 +677,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 39 + src/physics/ninja/Circle.js line 39 @@ -754,7 +754,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 34 + src/physics/ninja/Circle.js line 34 @@ -831,7 +831,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 44 + src/physics/ninja/Circle.js line 44 @@ -908,7 +908,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 29 + src/physics/ninja/Circle.js line 29 @@ -985,7 +985,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 85 + src/physics/ninja/Circle.js line 85 @@ -1062,7 +1062,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 62 + src/physics/ninja/Circle.js line 62 @@ -1139,7 +1139,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 50 + src/physics/ninja/Circle.js line 50 @@ -1254,7 +1254,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 56 + src/physics/ninja/Circle.js line 56 @@ -1382,7 +1382,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 248 + src/physics/ninja/Circle.js line 248 @@ -1490,7 +1490,7 @@

Source:
- src/physics/ninja/Circle.js line 207 + src/physics/ninja/Circle.js line 207 @@ -1574,7 +1574,7 @@

Source:
- src/physics/ninja/Circle.js line 2612 + src/physics/ninja/Circle.js line 2612 @@ -1658,7 +1658,7 @@

Source:
- src/physics/ninja/Circle.js line 112 + src/physics/ninja/Circle.js line 112 @@ -1912,7 +1912,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1719 + src/physics/ninja/Circle.js line 1719 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1427 + src/physics/ninja/Circle.js line 1427 @@ -2468,7 +2468,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 447 + src/physics/ninja/Circle.js line 447 @@ -2746,7 +2746,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2307 + src/physics/ninja/Circle.js line 2307 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2022 + src/physics/ninja/Circle.js line 2022 @@ -3302,7 +3302,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 717 + src/physics/ninja/Circle.js line 717 @@ -3580,7 +3580,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 951 + src/physics/ninja/Circle.js line 951 @@ -3858,7 +3858,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 335 + src/physics/ninja/Circle.js line 335 @@ -4136,7 +4136,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1193 + src/physics/ninja/Circle.js line 1193 @@ -4390,7 +4390,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2622 + src/physics/ninja/Circle.js line 2622 @@ -4620,7 +4620,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 132 + src/physics/ninja/Circle.js line 132 @@ -4874,7 +4874,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 310 + src/physics/ninja/Circle.js line 310 @@ -4941,9 +4941,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -4960,7 +4960,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -4989,7 +4989,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.Tile.html b/docs/Phaser.Physics.Ninja.Tile.html index 7170d9141..a80763499 100644 --- a/docs/Phaser.Physics.Ninja.Tile.html +++ b/docs/Phaser.Physics.Ninja.Tile.html @@ -6,7 +6,7 @@ Phaser CE Class: Tile - + @@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 25 + src/physics/ninja/Tile.js line 25 @@ -577,7 +577,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 32 + src/physics/ninja/Tile.js line 32 @@ -654,7 +654,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 701 + src/physics/ninja/Tile.js line 701 @@ -731,7 +731,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 89 + src/physics/ninja/Tile.js line 89 @@ -808,7 +808,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 43 + src/physics/ninja/Tile.js line 43 @@ -885,7 +885,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 59 + src/physics/ninja/Tile.js line 59 @@ -962,7 +962,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 54 + src/physics/ninja/Tile.js line 54 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 714 + src/physics/ninja/Tile.js line 714 @@ -1116,7 +1116,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 37 + src/physics/ninja/Tile.js line 37 @@ -1193,7 +1193,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 49 + src/physics/ninja/Tile.js line 49 @@ -1270,7 +1270,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 94 + src/physics/ninja/Tile.js line 94 @@ -1347,7 +1347,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 83 + src/physics/ninja/Tile.js line 83 @@ -1424,7 +1424,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 669 + src/physics/ninja/Tile.js line 669 @@ -1501,7 +1501,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 71 + src/physics/ninja/Tile.js line 71 @@ -1578,7 +1578,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 685 + src/physics/ninja/Tile.js line 685 @@ -1693,7 +1693,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 77 + src/physics/ninja/Tile.js line 77 @@ -1771,7 +1771,7 @@

Source:
- src/physics/ninja/Tile.js line 290 + src/physics/ninja/Tile.js line 290 @@ -1855,7 +1855,7 @@

Source:
- src/physics/ninja/Tile.js line 153 + src/physics/ninja/Tile.js line 153 @@ -1939,7 +1939,7 @@

Source:
- src/physics/ninja/Tile.js line 302 + src/physics/ninja/Tile.js line 302 @@ -2023,7 +2023,7 @@

Source:
- src/physics/ninja/Tile.js line 135 + src/physics/ninja/Tile.js line 135 @@ -2253,7 +2253,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 194 + src/physics/ninja/Tile.js line 194 @@ -2387,7 +2387,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 268 + src/physics/ninja/Tile.js line 268 @@ -2430,9 +2430,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2449,7 +2449,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2478,7 +2478,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.Ninja.html b/docs/Phaser.Physics.Ninja.html index f893d663e..4de58d0d5 100644 --- a/docs/Phaser.Physics.Ninja.html +++ b/docs/Phaser.Physics.Ninja.html @@ -6,7 +6,7 @@ Phaser CE Class: Ninja - + @@ -243,7 +243,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 29 + src/physics/ninja/World.js line 29 @@ -364,7 +364,7 @@
Type:
Source:
- src/physics/ninja/World.js line 49 + src/physics/ninja/World.js line 49 @@ -441,7 +441,7 @@
Type:
Source:
- src/physics/ninja/World.js line 34 + src/physics/ninja/World.js line 34 @@ -518,7 +518,7 @@
Type:
Source:
- src/physics/ninja/World.js line 44 + src/physics/ninja/World.js line 44 @@ -595,7 +595,7 @@
Type:
Source:
- src/physics/ninja/World.js line 59 + src/physics/ninja/World.js line 59 @@ -672,7 +672,7 @@
Type:
Source:
- src/physics/ninja/World.js line 54 + src/physics/ninja/World.js line 54 @@ -749,7 +749,7 @@
Type:
Source:
- src/physics/ninja/World.js line 64 + src/physics/ninja/World.js line 64 @@ -826,7 +826,7 @@
Type:
Source:
- src/physics/ninja/World.js line 39 + src/physics/ninja/World.js line 39 @@ -1004,7 +1004,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 224 + src/physics/ninja/World.js line 224 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 330 + src/physics/ninja/World.js line 330 @@ -1555,7 +1555,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 246 + src/physics/ninja/World.js line 246 @@ -1896,7 +1896,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 121 + src/physics/ninja/World.js line 121 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 75 + src/physics/ninja/World.js line 75 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 181 + src/physics/ninja/World.js line 181 @@ -2461,7 +2461,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 89 + src/physics/ninja/World.js line 89 @@ -2700,7 +2700,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 104 + src/physics/ninja/World.js line 104 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 291 + src/physics/ninja/World.js line 291 @@ -3204,7 +3204,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 567 + src/physics/ninja/World.js line 567 @@ -3434,7 +3434,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 198 + src/physics/ninja/World.js line 198 @@ -3518,7 +3518,7 @@

Source:
- src/physics/ninja/World.js line 213 + src/physics/ninja/World.js line 213 @@ -3561,9 +3561,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3580,7 +3580,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3609,7 +3609,7 @@

- + diff --git a/docs/Phaser.Physics.P2.Body.html b/docs/Phaser.Physics.P2.Body.html index d022a9468..c7445ff3a 100644 --- a/docs/Phaser.Physics.P2.Body.html +++ b/docs/Phaser.Physics.P2.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -409,7 +409,7 @@

Parameters:
Source:
- src/physics/p2/Body.js line 23 + src/physics/p2/Body.js line 23 @@ -514,7 +514,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1508 + src/physics/p2/Body.js line 1508 @@ -591,7 +591,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1524 + src/physics/p2/Body.js line 1524 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1516 + src/physics/p2/Body.js line 1516 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1613 + src/physics/p2/Body.js line 1613 @@ -824,7 +824,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1636 + src/physics/p2/Body.js line 1636 @@ -901,7 +901,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1660 + src/physics/p2/Body.js line 1660 @@ -978,7 +978,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1681 + src/physics/p2/Body.js line 1681 @@ -1055,7 +1055,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1701 + src/physics/p2/Body.js line 1701 @@ -1132,7 +1132,7 @@
Type:
Source:
- src/physics/p2/Body.js line 112 + src/physics/p2/Body.js line 112 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1959 + src/physics/p2/Body.js line 1959 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1721 + src/physics/p2/Body.js line 1721 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/physics/p2/Body.js line 59 + src/physics/p2/Body.js line 59 @@ -1450,7 +1450,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1930 + src/physics/p2/Body.js line 1930 @@ -1527,7 +1527,7 @@
Type:
Source:
- src/physics/p2/Body.js line 122 + src/physics/p2/Body.js line 122 @@ -1604,7 +1604,7 @@
Type:
Source:
- src/physics/p2/Body.js line 127 + src/physics/p2/Body.js line 127 @@ -1681,7 +1681,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1555 + src/physics/p2/Body.js line 1555 @@ -1758,7 +1758,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1742 + src/physics/p2/Body.js line 1742 @@ -1835,7 +1835,7 @@
Type:
Source:
- src/physics/p2/Body.js line 71 + src/physics/p2/Body.js line 71 @@ -1912,7 +1912,7 @@
Type:
Source:
- src/physics/p2/Body.js line 33 + src/physics/p2/Body.js line 33 @@ -1989,7 +1989,7 @@
Type:
Source:
- src/physics/p2/Body.js line 76 + src/physics/p2/Body.js line 76 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1915 + src/physics/p2/Body.js line 1915 @@ -2143,7 +2143,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1765 + src/physics/p2/Body.js line 1765 @@ -2220,7 +2220,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1584 + src/physics/p2/Body.js line 1584 @@ -2297,7 +2297,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1785 + src/physics/p2/Body.js line 1785 @@ -2374,7 +2374,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1809 + src/physics/p2/Body.js line 1809 @@ -2451,7 +2451,7 @@
Type:
Source:
- src/physics/p2/Body.js line 53 + src/physics/p2/Body.js line 53 @@ -2535,7 +2535,7 @@
Type:
Source:
- src/physics/p2/Body.js line 92 + src/physics/p2/Body.js line 92 @@ -2618,7 +2618,7 @@
Type:
Source:
- src/physics/p2/Body.js line 107 + src/physics/p2/Body.js line 107 @@ -2695,7 +2695,7 @@
Type:
Source:
- src/physics/p2/Body.js line 117 + src/physics/p2/Body.js line 117 @@ -2773,7 +2773,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1832 + src/physics/p2/Body.js line 1832 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1855 + src/physics/p2/Body.js line 1855 @@ -2927,7 +2927,7 @@
Type:
Source:
- src/physics/p2/Body.js line 43 + src/physics/p2/Body.js line 43 @@ -3004,7 +3004,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1526 + src/physics/p2/Body.js line 1526 @@ -3081,7 +3081,7 @@
Type:
Source:
- src/physics/p2/Body.js line 48 + src/physics/p2/Body.js line 48 @@ -3158,7 +3158,7 @@
Type:
Source:
- src/physics/p2/Body.js line 66 + src/physics/p2/Body.js line 66 @@ -3235,7 +3235,7 @@
Type:
Source:
- src/physics/p2/Body.js line 38 + src/physics/p2/Body.js line 38 @@ -3312,7 +3312,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1875 + src/physics/p2/Body.js line 1875 @@ -3389,7 +3389,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1895 + src/physics/p2/Body.js line 1895 @@ -3690,7 +3690,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1109 + src/physics/p2/Body.js line 1109 @@ -3984,7 +3984,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1018 + src/physics/p2/Body.js line 1018 @@ -4142,7 +4142,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1351 + src/physics/p2/Body.js line 1351 @@ -4438,7 +4438,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1089 + src/physics/p2/Body.js line 1089 @@ -4696,7 +4696,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1072 + src/physics/p2/Body.js line 1072 @@ -4881,7 +4881,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1311 + src/physics/p2/Body.js line 1311 @@ -5139,7 +5139,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1055 + src/physics/p2/Body.js line 1055 @@ -5480,7 +5480,7 @@
Properties
Source:
- src/physics/p2/Body.js line 1129 + src/physics/p2/Body.js line 1129 @@ -5810,7 +5810,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1036 + src/physics/p2/Body.js line 1036 @@ -6106,7 +6106,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 992 + src/physics/p2/Body.js line 992 @@ -6214,7 +6214,7 @@

Source:
- src/physics/p2/Body.js line 904 + src/physics/p2/Body.js line 904 @@ -6298,7 +6298,7 @@

Source:
- src/physics/p2/Body.js line 490 + src/physics/p2/Body.js line 490 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 516 + src/physics/p2/Body.js line 516 @@ -6619,7 +6619,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 561 + src/physics/p2/Body.js line 561 @@ -6806,7 +6806,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 528 + src/physics/p2/Body.js line 528 @@ -6993,7 +6993,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 544 + src/physics/p2/Body.js line 544 @@ -7225,7 +7225,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 323 + src/physics/p2/Body.js line 323 @@ -7309,7 +7309,7 @@

Source:
- src/physics/p2/Body.js line 974 + src/physics/p2/Body.js line 974 @@ -7558,7 +7558,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 435 + src/physics/p2/Body.js line 435 @@ -7752,7 +7752,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 180 + src/physics/p2/Body.js line 180 @@ -7938,7 +7938,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 220 + src/physics/p2/Body.js line 220 @@ -8022,7 +8022,7 @@

Source:
- src/physics/p2/Body.js line 943 + src/physics/p2/Body.js line 943 @@ -8106,7 +8106,7 @@

Source:
- src/physics/p2/Body.js line 247 + src/physics/p2/Body.js line 247 @@ -8288,7 +8288,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 502 + src/physics/p2/Body.js line 502 @@ -8546,7 +8546,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1423 + src/physics/p2/Body.js line 1423 @@ -8705,7 +8705,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 691 + src/physics/p2/Body.js line 691 @@ -8840,7 +8840,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 815 + src/physics/p2/Body.js line 815 @@ -8975,7 +8975,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 674 + src/physics/p2/Body.js line 674 @@ -9110,7 +9110,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 776 + src/physics/p2/Body.js line 776 @@ -9245,7 +9245,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 789 + src/physics/p2/Body.js line 789 @@ -9380,7 +9380,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 802 + src/physics/p2/Body.js line 802 @@ -9464,7 +9464,7 @@

Source:
- src/physics/p2/Body.js line 846 + src/physics/p2/Body.js line 846 @@ -9548,7 +9548,7 @@

Source:
- src/physics/p2/Body.js line 828 + src/physics/p2/Body.js line 828 @@ -9779,7 +9779,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 371 + src/physics/p2/Body.js line 371 @@ -9863,7 +9863,7 @@

Source:
- src/physics/p2/Body.js line 929 + src/physics/p2/Body.js line 929 @@ -10009,7 +10009,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1195 + src/physics/p2/Body.js line 1195 @@ -10299,7 +10299,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 871 + src/physics/p2/Body.js line 871 @@ -10434,7 +10434,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 759 + src/physics/p2/Body.js line 759 @@ -10568,7 +10568,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 650 + src/physics/p2/Body.js line 650 @@ -10702,7 +10702,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 662 + src/physics/p2/Body.js line 662 @@ -10973,7 +10973,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1211 + src/physics/p2/Body.js line 1211 @@ -11152,7 +11152,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 295 + src/physics/p2/Body.js line 295 @@ -11331,7 +11331,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1273 + src/physics/p2/Body.js line 1273 @@ -11647,7 +11647,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1229 + src/physics/p2/Body.js line 1229 @@ -11823,7 +11823,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1253 + src/physics/p2/Body.js line 1253 @@ -11931,7 +11931,7 @@

Source:
- src/physics/p2/Body.js line 612 + src/physics/p2/Body.js line 612 @@ -12015,7 +12015,7 @@

Source:
- src/physics/p2/Body.js line 578 + src/physics/p2/Body.js line 578 @@ -12099,7 +12099,7 @@

Source:
- src/physics/p2/Body.js line 589 + src/physics/p2/Body.js line 589 @@ -12183,7 +12183,7 @@

Source:
- src/physics/p2/Body.js line 600 + src/physics/p2/Body.js line 600 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/Body.js line 1297 + src/physics/p2/Body.js line 1297 @@ -12402,7 +12402,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 708 + src/physics/p2/Body.js line 708 @@ -12537,7 +12537,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 725 + src/physics/p2/Body.js line 725 @@ -12672,7 +12672,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 742 + src/physics/p2/Body.js line 742 @@ -12836,7 +12836,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 624 + src/physics/p2/Body.js line 624 @@ -12994,7 +12994,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 637 + src/physics/p2/Body.js line 637 @@ -13140,7 +13140,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 271 + src/physics/p2/Body.js line 271 @@ -13183,9 +13183,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -13202,7 +13202,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -13231,7 +13231,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.BodyDebug.html b/docs/Phaser.Physics.P2.BodyDebug.html index cc1877453..72a2f8d66 100644 --- a/docs/Phaser.Physics.P2.BodyDebug.html +++ b/docs/Phaser.Physics.P2.BodyDebug.html @@ -6,7 +6,7 @@ Phaser CE Class: BodyDebug - + @@ -283,7 +283,7 @@
Parameters:
Source:
- src/physics/p2/BodyDebug.js line 24 + src/physics/p2/BodyDebug.js line 24 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -501,7 +501,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -667,7 +667,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 50 + src/physics/p2/BodyDebug.js line 50 @@ -755,7 +755,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -848,7 +848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 55 + src/physics/p2/BodyDebug.js line 55 @@ -1100,7 +1100,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1274,7 +1274,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1541,7 +1541,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1986,7 +1986,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2160,7 +2160,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2250,7 +2250,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2346,7 +2346,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2434,7 +2434,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2608,7 +2608,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2696,7 +2696,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -2782,7 +2782,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -2871,7 +2871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -2957,7 +2957,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3047,7 +3047,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3137,7 +3137,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3227,7 +3227,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3318,7 +3318,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3493,7 +3493,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3583,7 +3583,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3670,7 +3670,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3763,7 +3763,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -3849,7 +3849,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -3936,7 +3936,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4024,7 +4024,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4101,7 +4101,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 44 + src/physics/p2/BodyDebug.js line 44 @@ -4188,7 +4188,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4276,7 +4276,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4453,7 +4453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4541,7 +4541,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4627,7 +4627,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4713,7 +4713,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -4799,7 +4799,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4885,7 +4885,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -4977,7 +4977,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5068,7 +5068,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5159,7 +5159,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5250,7 +5250,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5341,7 +5341,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5427,7 +5427,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5515,7 +5515,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5603,7 +5603,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5690,7 +5690,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5928,7 +5928,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6206,7 +6206,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6448,7 +6448,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6615,7 +6615,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6806,7 +6806,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7037,7 +7037,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7208,7 +7208,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7603,7 +7603,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -7946,7 +7946,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8290,7 +8290,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8481,7 +8481,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8624,7 +8624,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -8887,7 +8887,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9107,7 +9107,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9298,7 +9298,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9614,7 +9614,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -9916,7 +9916,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10213,7 +10213,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10380,7 +10380,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10567,7 +10567,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10684,7 +10684,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10801,7 +10801,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11195,7 +11195,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11602,7 +11602,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11815,7 +11815,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -11982,7 +11982,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12186,7 +12186,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12402,7 +12402,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12486,7 +12486,7 @@

Source:
- src/physics/p2/BodyDebug.js line 85 + src/physics/p2/BodyDebug.js line 85 @@ -12690,7 +12690,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -12994,7 +12994,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13232,7 +13232,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13470,7 +13470,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13708,7 +13708,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13953,7 +13953,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14261,7 +14261,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14430,7 +14430,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14551,7 +14551,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14733,7 +14733,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14902,7 +14902,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15069,7 +15069,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15236,7 +15236,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15487,7 +15487,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15678,7 +15678,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16037,7 +16037,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16396,7 +16396,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16794,7 +16794,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17045,7 +17045,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17212,7 +17212,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17329,7 +17329,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17556,7 +17556,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17784,7 +17784,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -17902,7 +17902,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18094,7 +18094,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18481,7 +18481,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18598,7 +18598,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18691,7 +18691,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -18890,7 +18890,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19057,7 +19057,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19224,7 +19224,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19464,7 +19464,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19558,7 +19558,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19675,7 +19675,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19768,7 +19768,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -19862,7 +19862,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20127,7 +20127,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20397,7 +20397,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20674,7 +20674,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20817,7 +20817,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20984,7 +20984,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21175,7 +21175,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21319,7 +21319,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -21512,7 +21512,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -21866,7 +21866,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22172,7 +22172,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22360,7 +22360,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -22478,7 +22478,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -22571,7 +22571,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22664,7 +22664,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -22867,7 +22867,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23010,7 +23010,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -23426,7 +23426,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23808,7 +23808,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24166,7 +24166,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -24333,7 +24333,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -24652,7 +24652,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24770,7 +24770,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -24977,7 +24977,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -25193,7 +25193,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -25361,7 +25361,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -25528,7 +25528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -25671,7 +25671,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25884,7 +25884,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -26004,7 +26004,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -26097,7 +26097,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -26207,7 +26207,7 @@

Source:
- src/physics/p2/BodyDebug.js line 72 + src/physics/p2/BodyDebug.js line 72 @@ -26370,7 +26370,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -26490,7 +26490,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -26681,7 +26681,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -26724,9 +26724,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -26743,7 +26743,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -26772,7 +26772,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.CollisionGroup.html b/docs/Phaser.Physics.P2.CollisionGroup.html index 7c60030ee..341a716a3 100644 --- a/docs/Phaser.Physics.P2.CollisionGroup.html +++ b/docs/Phaser.Physics.P2.CollisionGroup.html @@ -6,7 +6,7 @@ Phaser CE Class: CollisionGroup - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/p2/CollisionGroup.js line 14 + src/physics/p2/CollisionGroup.js line 14 @@ -335,7 +335,7 @@
Type:
Source:
- src/physics/p2/CollisionGroup.js line 19 + src/physics/p2/CollisionGroup.js line 19 @@ -368,9 +368,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -387,7 +387,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -416,7 +416,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.ContactMaterial.html b/docs/Phaser.Physics.P2.ContactMaterial.html index 799c23183..de1ff5ace 100644 --- a/docs/Phaser.Physics.P2.ContactMaterial.html +++ b/docs/Phaser.Physics.P2.ContactMaterial.html @@ -6,7 +6,7 @@ Phaser CE Class: ContactMaterial - + @@ -306,7 +306,7 @@
Parameters:
Source:
- src/physics/p2/ContactMaterial.js line 16 + src/physics/p2/ContactMaterial.js line 16 @@ -363,9 +363,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -382,7 +382,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -411,7 +411,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.DistanceConstraint.html b/docs/Phaser.Physics.P2.DistanceConstraint.html index 02eb51a25..ce1facea1 100644 --- a/docs/Phaser.Physics.P2.DistanceConstraint.html +++ b/docs/Phaser.Physics.P2.DistanceConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: DistanceConstraint - + @@ -470,7 +470,7 @@
Parameters:
Source:
- src/physics/p2/DistanceConstraint.js line 20 + src/physics/p2/DistanceConstraint.js line 20 @@ -575,7 +575,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 30 + src/physics/p2/DistanceConstraint.js line 30 @@ -652,7 +652,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 35 + src/physics/p2/DistanceConstraint.js line 35 @@ -685,9 +685,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -704,7 +704,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -733,7 +733,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.FixtureList.html b/docs/Phaser.Physics.P2.FixtureList.html index 3256b4a58..3c51421ca 100644 --- a/docs/Phaser.Physics.P2.FixtureList.html +++ b/docs/Phaser.Physics.P2.FixtureList.html @@ -6,7 +6,7 @@ Phaser CE Class: FixtureList - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 23 + src/physics/p2/FixtureList.js line 23 @@ -387,7 +387,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 212 + src/physics/p2/FixtureList.js line 212 @@ -521,7 +521,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 158 + src/physics/p2/FixtureList.js line 158 @@ -655,7 +655,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 123 + src/physics/p2/FixtureList.js line 123 @@ -789,7 +789,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 170 + src/physics/p2/FixtureList.js line 170 @@ -869,7 +869,7 @@

Source:
- src/physics/p2/FixtureList.js line 38 + src/physics/p2/FixtureList.js line 38 @@ -953,7 +953,7 @@

Source:
- src/physics/p2/FixtureList.js line 182 + src/physics/p2/FixtureList.js line 182 @@ -1107,7 +1107,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 63 + src/physics/p2/FixtureList.js line 63 @@ -1261,7 +1261,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 78 + src/physics/p2/FixtureList.js line 78 @@ -1415,7 +1415,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 108 + src/physics/p2/FixtureList.js line 108 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 93 + src/physics/p2/FixtureList.js line 93 @@ -1612,9 +1612,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1631,7 +1631,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1660,7 +1660,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.GearConstraint.html b/docs/Phaser.Physics.P2.GearConstraint.html index 3035ca67f..46fc684a2 100644 --- a/docs/Phaser.Physics.P2.GearConstraint.html +++ b/docs/Phaser.Physics.P2.GearConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: GearConstraint - + @@ -398,7 +398,7 @@
Parameters:
Source:
- src/physics/p2/GearConstraint.js line 18 + src/physics/p2/GearConstraint.js line 18 @@ -503,7 +503,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 26 + src/physics/p2/GearConstraint.js line 26 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 31 + src/physics/p2/GearConstraint.js line 31 @@ -613,9 +613,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -632,7 +632,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -661,7 +661,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.InversePointProxy.html b/docs/Phaser.Physics.P2.InversePointProxy.html index f088b8382..6a19591d2 100644 --- a/docs/Phaser.Physics.P2.InversePointProxy.html +++ b/docs/Phaser.Physics.P2.InversePointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: InversePointProxy - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/InversePointProxy.js line 15 + src/physics/p2/InversePointProxy.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 64 + src/physics/p2/InversePointProxy.js line 64 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 84 + src/physics/p2/InversePointProxy.js line 84 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 24 + src/physics/p2/InversePointProxy.js line 24 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 44 + src/physics/p2/InversePointProxy.js line 44 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.LockConstraint.html b/docs/Phaser.Physics.P2.LockConstraint.html index 1ffc0b255..412567879 100644 --- a/docs/Phaser.Physics.P2.LockConstraint.html +++ b/docs/Phaser.Physics.P2.LockConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: LockConstraint - + @@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/p2/LockConstraint.js line 19 + src/physics/p2/LockConstraint.js line 19 @@ -539,7 +539,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 28 + src/physics/p2/LockConstraint.js line 28 @@ -616,7 +616,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 33 + src/physics/p2/LockConstraint.js line 33 @@ -649,9 +649,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -668,7 +668,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -697,7 +697,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Material.html b/docs/Phaser.Physics.P2.Material.html index 31994c0a6..e5d700b2e 100644 --- a/docs/Phaser.Physics.P2.Material.html +++ b/docs/Phaser.Physics.P2.Material.html @@ -6,7 +6,7 @@ Phaser CE Class: Material - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/p2/Material.js line 16 + src/physics/p2/Material.js line 16 @@ -336,7 +336,7 @@
Type:
Source:
- src/physics/p2/Material.js line 22 + src/physics/p2/Material.js line 22 @@ -369,9 +369,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -388,7 +388,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -417,7 +417,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PointProxy.html b/docs/Phaser.Physics.P2.PointProxy.html index 0c8a90c45..08f649cd4 100644 --- a/docs/Phaser.Physics.P2.PointProxy.html +++ b/docs/Phaser.Physics.P2.PointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: PointProxy - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/PointProxy.js line 15 + src/physics/p2/PointProxy.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 64 + src/physics/p2/PointProxy.js line 64 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 84 + src/physics/p2/PointProxy.js line 84 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 24 + src/physics/p2/PointProxy.js line 24 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 44 + src/physics/p2/PointProxy.js line 44 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -642,7 +642,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PrismaticConstraint.html b/docs/Phaser.Physics.P2.PrismaticConstraint.html index 5568c5e12..8b29d5f6d 100644 --- a/docs/Phaser.Physics.P2.PrismaticConstraint.html +++ b/docs/Phaser.Physics.P2.PrismaticConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: PrismaticConstraint - + @@ -510,7 +510,7 @@
Parameters:
Source:
- src/physics/p2/PrismaticConstraint.js line 21 + src/physics/p2/PrismaticConstraint.js line 21 @@ -615,7 +615,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 32 + src/physics/p2/PrismaticConstraint.js line 32 @@ -692,7 +692,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 37 + src/physics/p2/PrismaticConstraint.js line 37 @@ -725,9 +725,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -744,7 +744,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -773,7 +773,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RevoluteConstraint.html b/docs/Phaser.Physics.P2.RevoluteConstraint.html index a443cf116..6ca457fc1 100644 --- a/docs/Phaser.Physics.P2.RevoluteConstraint.html +++ b/docs/Phaser.Physics.P2.RevoluteConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: RevoluteConstraint - + @@ -471,7 +471,7 @@
Parameters:
Source:
- src/physics/p2/RevoluteConstraint.js line 21 + src/physics/p2/RevoluteConstraint.js line 21 @@ -576,7 +576,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 29 + src/physics/p2/RevoluteConstraint.js line 29 @@ -653,7 +653,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 34 + src/physics/p2/RevoluteConstraint.js line 34 @@ -686,9 +686,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -705,7 +705,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -734,7 +734,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RotationalSpring.html b/docs/Phaser.Physics.P2.RotationalSpring.html index c5ad05483..99f443a5a 100644 --- a/docs/Phaser.Physics.P2.RotationalSpring.html +++ b/docs/Phaser.Physics.P2.RotationalSpring.html @@ -6,7 +6,7 @@ Phaser CE Class: RotationalSpring - + @@ -436,7 +436,7 @@
Parameters:
Source:
- src/physics/p2/RotationalSpring.js line 19 + src/physics/p2/RotationalSpring.js line 19 @@ -541,7 +541,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 49 + src/physics/p2/RotationalSpring.js line 49 @@ -618,7 +618,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 24 + src/physics/p2/RotationalSpring.js line 24 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 29 + src/physics/p2/RotationalSpring.js line 29 @@ -728,9 +728,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -747,7 +747,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -776,7 +776,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Spring.html b/docs/Phaser.Physics.P2.Spring.html index 4146843aa..604ab8f90 100644 --- a/docs/Phaser.Physics.P2.Spring.html +++ b/docs/Phaser.Physics.P2.Spring.html @@ -6,7 +6,7 @@ Phaser CE Class: Spring - + @@ -590,7 +590,7 @@
Parameters:
Source:
- src/physics/p2/Spring.js line 23 + src/physics/p2/Spring.js line 23 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 70 + src/physics/p2/Spring.js line 70 @@ -772,7 +772,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 28 + src/physics/p2/Spring.js line 28 @@ -849,7 +849,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 33 + src/physics/p2/Spring.js line 33 @@ -882,9 +882,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -901,7 +901,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -930,7 +930,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.html b/docs/Phaser.Physics.P2.html index 601ad3a3a..74fc8158e 100644 --- a/docs/Phaser.Physics.P2.html +++ b/docs/Phaser.Physics.P2.html @@ -6,7 +6,7 @@ Phaser CE Class: P2 - + @@ -275,7 +275,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 20 + src/physics/p2/World.js line 20 @@ -429,7 +429,7 @@
Type:
Source:
- src/physics/p2/World.js line 1934 + src/physics/p2/World.js line 1934 @@ -506,7 +506,7 @@
Type:
Source:
- src/physics/p2/World.js line 1954 + src/physics/p2/World.js line 1954 @@ -583,7 +583,7 @@
Type:
Source:
- src/physics/p2/World.js line 1914 + src/physics/p2/World.js line 1914 @@ -660,7 +660,7 @@
Type:
Source:
- src/physics/p2/World.js line 232 + src/physics/p2/World.js line 232 @@ -737,7 +737,7 @@
Type:
Source:
- src/physics/p2/World.js line 222 + src/physics/p2/World.js line 222 @@ -814,7 +814,7 @@
Type:
Source:
- src/physics/p2/World.js line 170 + src/physics/p2/World.js line 170 @@ -891,7 +891,7 @@
Type:
Source:
- src/physics/p2/World.js line 212 + src/physics/p2/World.js line 212 @@ -968,7 +968,7 @@
Type:
Source:
- src/physics/p2/World.js line 48 + src/physics/p2/World.js line 48 @@ -1045,7 +1045,7 @@
Type:
Source:
- src/physics/p2/World.js line 1894 + src/physics/p2/World.js line 1894 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/physics/p2/World.js line 2009 + src/physics/p2/World.js line 2009 @@ -1199,7 +1199,7 @@
Type:
Source:
- src/physics/p2/World.js line 227 + src/physics/p2/World.js line 227 @@ -1276,7 +1276,7 @@
Type:
Source:
- src/physics/p2/World.js line 60 + src/physics/p2/World.js line 60 @@ -1353,7 +1353,7 @@
Type:
Source:
- src/physics/p2/World.js line 1854 + src/physics/p2/World.js line 1854 @@ -1430,7 +1430,7 @@
Type:
Source:
- src/physics/p2/World.js line 25 + src/physics/p2/World.js line 25 @@ -1507,7 +1507,7 @@
Type:
Source:
- src/physics/p2/World.js line 83 + src/physics/p2/World.js line 83 @@ -1584,7 +1584,7 @@
Type:
Source:
- src/physics/p2/World.js line 78 + src/physics/p2/World.js line 78 @@ -1661,7 +1661,7 @@
Type:
Source:
- src/physics/p2/World.js line 217 + src/physics/p2/World.js line 217 @@ -1741,7 +1741,7 @@
Type:
Source:
- src/physics/p2/World.js line 182 + src/physics/p2/World.js line 182 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/physics/p2/World.js line 97 + src/physics/p2/World.js line 97 @@ -1897,7 +1897,7 @@
Type:
Source:
- src/physics/p2/World.js line 106 + src/physics/p2/World.js line 106 @@ -1975,7 +1975,7 @@
Type:
Source:
- src/physics/p2/World.js line 133 + src/physics/p2/World.js line 133 @@ -2053,7 +2053,7 @@
Type:
Source:
- src/physics/p2/World.js line 142 + src/physics/p2/World.js line 142 @@ -2131,7 +2131,7 @@
Type:
Source:
- src/physics/p2/World.js line 151 + src/physics/p2/World.js line 151 @@ -2209,7 +2209,7 @@
Type:
Source:
- src/physics/p2/World.js line 160 + src/physics/p2/World.js line 160 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/physics/p2/World.js line 194 + src/physics/p2/World.js line 194 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/physics/p2/World.js line 115 + src/physics/p2/World.js line 115 @@ -2445,7 +2445,7 @@
Type:
Source:
- src/physics/p2/World.js line 124 + src/physics/p2/World.js line 124 @@ -2522,7 +2522,7 @@
Type:
Source:
- src/physics/p2/World.js line 72 + src/physics/p2/World.js line 72 @@ -2599,7 +2599,7 @@
Type:
Source:
- src/physics/p2/World.js line 165 + src/physics/p2/World.js line 165 @@ -2676,7 +2676,7 @@
Type:
Source:
- src/physics/p2/World.js line 1874 + src/physics/p2/World.js line 1874 @@ -2754,7 +2754,7 @@
Type:
Source:
- src/physics/p2/World.js line 2029 + src/physics/p2/World.js line 2029 @@ -2831,7 +2831,7 @@
Type:
Source:
- src/physics/p2/World.js line 1974 + src/physics/p2/World.js line 1974 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/physics/p2/World.js line 1994 + src/physics/p2/World.js line 1994 @@ -2985,7 +2985,7 @@
Type:
Source:
- src/physics/p2/World.js line 2051 + src/physics/p2/World.js line 2051 @@ -3062,7 +3062,7 @@
Type:
Source:
- src/physics/p2/World.js line 66 + src/physics/p2/World.js line 66 @@ -3139,7 +3139,7 @@
Type:
Source:
- src/physics/p2/World.js line 88 + src/physics/p2/World.js line 88 @@ -3216,7 +3216,7 @@
Type:
Source:
- src/physics/p2/World.js line 54 + src/physics/p2/World.js line 54 @@ -3344,7 +3344,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 887 + src/physics/p2/World.js line 887 @@ -3502,7 +3502,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1119 + src/physics/p2/World.js line 1119 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1153 + src/physics/p2/World.js line 1153 @@ -3824,7 +3824,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 931 + src/physics/p2/World.js line 931 @@ -3982,7 +3982,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 502 + src/physics/p2/World.js line 502 @@ -4075,7 +4075,7 @@

Source:
- src/physics/p2/World.js line 800 + src/physics/p2/World.js line 800 @@ -4259,7 +4259,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1681 + src/physics/p2/World.js line 1681 @@ -4494,7 +4494,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1625 + src/physics/p2/World.js line 1625 @@ -4795,7 +4795,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1703 + src/physics/p2/World.js line 1703 @@ -5311,7 +5311,7 @@
Properties
Source:
- src/physics/p2/World.js line 1542 + src/physics/p2/World.js line 1542 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1411 + src/physics/p2/World.js line 1411 @@ -5699,7 +5699,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1246 + src/physics/p2/World.js line 1246 @@ -6045,7 +6045,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 979 + src/physics/p2/World.js line 979 @@ -6347,7 +6347,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1007 + src/physics/p2/World.js line 1007 @@ -6685,7 +6685,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1062 + src/physics/p2/World.js line 1062 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1219 + src/physics/p2/World.js line 1219 @@ -7407,7 +7407,7 @@
Properties
Source:
- src/physics/p2/World.js line 1584 + src/physics/p2/World.js line 1584 @@ -7798,7 +7798,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1089 + src/physics/p2/World.js line 1089 @@ -8173,7 +8173,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1033 + src/physics/p2/World.js line 1033 @@ -8513,7 +8513,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1515 + src/physics/p2/World.js line 1515 @@ -9007,7 +9007,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1484 + src/physics/p2/World.js line 1484 @@ -9115,7 +9115,7 @@

Source:
- src/physics/p2/World.js line 874 + src/physics/p2/World.js line 874 @@ -9353,7 +9353,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 313 + src/physics/p2/World.js line 313 @@ -9512,7 +9512,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 372 + src/physics/p2/World.js line 372 @@ -9646,7 +9646,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 527 + src/physics/p2/World.js line 527 @@ -9730,7 +9730,7 @@

Source:
- src/physics/p2/World.js line 1266 + src/physics/p2/World.js line 1266 @@ -9888,7 +9888,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1286 + src/physics/p2/World.js line 1286 @@ -9998,7 +9998,7 @@

Source:
- src/physics/p2/World.js line 1335 + src/physics/p2/World.js line 1335 @@ -10180,7 +10180,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1187 + src/physics/p2/World.js line 1187 @@ -10291,7 +10291,7 @@

Source:
- src/physics/p2/World.js line 1315 + src/physics/p2/World.js line 1315 @@ -10584,7 +10584,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1357 + src/physics/p2/World.js line 1357 @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1792 + src/physics/p2/World.js line 1792 @@ -10904,7 +10904,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1822 + src/physics/p2/World.js line 1822 @@ -11012,7 +11012,7 @@

Source:
- src/physics/p2/World.js line 733 + src/physics/p2/World.js line 733 @@ -11096,7 +11096,7 @@

Source:
- src/physics/p2/World.js line 295 + src/physics/p2/World.js line 295 @@ -11232,7 +11232,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1807 + src/physics/p2/World.js line 1807 @@ -11392,7 +11392,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1837 + src/physics/p2/World.js line 1837 @@ -11550,7 +11550,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 911 + src/physics/p2/World.js line 911 @@ -11708,7 +11708,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 283 + src/physics/p2/World.js line 283 @@ -11842,7 +11842,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1136 + src/physics/p2/World.js line 1136 @@ -12000,7 +12000,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1170 + src/physics/p2/World.js line 1170 @@ -12158,7 +12158,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 955 + src/physics/p2/World.js line 955 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/World.js line 779 + src/physics/p2/World.js line 779 @@ -12351,7 +12351,7 @@

Source:
- src/physics/p2/World.js line 744 + src/physics/p2/World.js line 744 @@ -12814,7 +12814,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 646 + src/physics/p2/World.js line 646 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 393 + src/physics/p2/World.js line 393 @@ -13107,7 +13107,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1201 + src/physics/p2/World.js line 1201 @@ -13268,7 +13268,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 413 + src/physics/p2/World.js line 413 @@ -13352,7 +13352,7 @@

Source:
- src/physics/p2/World.js line 1399 + src/physics/p2/World.js line 1399 @@ -13460,7 +13460,7 @@

Source:
- src/physics/p2/World.js line 755 + src/physics/p2/World.js line 755 @@ -13616,7 +13616,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 608 + src/physics/p2/World.js line 608 @@ -13659,9 +13659,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -13678,7 +13678,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -13707,7 +13707,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.html b/docs/Phaser.Physics.html index dae767949..69ff53f0e 100644 --- a/docs/Phaser.Physics.html +++ b/docs/Phaser.Physics.html @@ -6,7 +6,7 @@ Phaser CE Class: Physics - + @@ -290,7 +290,7 @@
Parameters:
Source:
- src/physics/Physics.js line 21 + src/physics/Physics.js line 21 @@ -404,7 +404,7 @@
Type:
Source:
- src/physics/Physics.js line 73 + src/physics/Physics.js line 73 @@ -477,7 +477,7 @@
Type:
Source:
- src/physics/Physics.js line 91 + src/physics/Physics.js line 91 @@ -550,7 +550,7 @@
Type:
Source:
- src/physics/Physics.js line 97 + src/physics/Physics.js line 97 @@ -623,7 +623,7 @@
Type:
Source:
- src/physics/Physics.js line 103 + src/physics/Physics.js line 103 @@ -696,7 +696,7 @@
Type:
Source:
- src/physics/Physics.js line 85 + src/physics/Physics.js line 85 @@ -769,7 +769,7 @@
Type:
Source:
- src/physics/Physics.js line 79 + src/physics/Physics.js line 79 @@ -846,7 +846,7 @@
Type:
Source:
- src/physics/Physics.js line 38 + src/physics/Physics.js line 38 @@ -923,7 +923,7 @@
Type:
Source:
- src/physics/Physics.js line 53 + src/physics/Physics.js line 53 @@ -1000,7 +1000,7 @@
Type:
Source:
- src/physics/Physics.js line 58 + src/physics/Physics.js line 58 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/physics/Physics.js line 33 + src/physics/Physics.js line 33 @@ -1154,7 +1154,7 @@
Type:
Source:
- src/physics/Physics.js line 28 + src/physics/Physics.js line 28 @@ -1231,7 +1231,7 @@
Type:
Source:
- src/physics/Physics.js line 63 + src/physics/Physics.js line 63 @@ -1308,7 +1308,7 @@
Type:
Source:
- src/physics/Physics.js line 48 + src/physics/Physics.js line 48 @@ -1385,7 +1385,7 @@
Type:
Source:
- src/physics/Physics.js line 43 + src/physics/Physics.js line 43 @@ -1463,7 +1463,7 @@

Source:
- src/physics/Physics.js line 349 + src/physics/Physics.js line 349 @@ -1547,7 +1547,7 @@

Source:
- src/physics/Physics.js line 399 + src/physics/Physics.js line 399 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/physics/Physics.js line 208 + src/physics/Physics.js line 208 @@ -1874,7 +1874,7 @@

Source:
- src/physics/Physics.js line 107 + src/physics/Physics.js line 107 @@ -1958,7 +1958,7 @@

Source:
- src/physics/Physics.js line 260 + src/physics/Physics.js line 260 @@ -2042,7 +2042,7 @@

Source:
- src/physics/Physics.js line 374 + src/physics/Physics.js line 374 @@ -2357,7 +2357,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 552 + src/physics/p2/World.js line 552 @@ -2441,7 +2441,7 @@

Source:
- src/physics/Physics.js line 314 + src/physics/Physics.js line 314 @@ -2751,7 +2751,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 569 + src/physics/p2/World.js line 569 @@ -2895,7 +2895,7 @@
Parameters:
Source:
- src/physics/Physics.js line 142 + src/physics/Physics.js line 142 @@ -2979,7 +2979,7 @@

Source:
- src/physics/Physics.js line 287 + src/physics/Physics.js line 287 @@ -3022,9 +3022,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3041,7 +3041,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3070,7 +3070,7 @@

- + diff --git a/docs/Phaser.Plugin.PathManager.html b/docs/Phaser.Plugin.PathManager.html index e1645b581..f0bafabe6 100644 --- a/docs/Phaser.Plugin.PathManager.html +++ b/docs/Phaser.Plugin.PathManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PathManager - + @@ -255,7 +255,7 @@

Parameters:
Source:
- src/plugins/path/PathManagerPlugin.js line 17 + src/plugins/path/PathManagerPlugin.js line 17 @@ -360,7 +360,7 @@

Source:
- src/plugins/path/PathManagerPlugin.js line 47 + src/plugins/path/PathManagerPlugin.js line 47 @@ -403,9 +403,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -422,7 +422,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -451,7 +451,7 @@

- + diff --git a/docs/Phaser.Plugin.html b/docs/Phaser.Plugin.html index 323ad8a72..b6e6f62f7 100644 --- a/docs/Phaser.Plugin.html +++ b/docs/Phaser.Plugin.html @@ -6,7 +6,7 @@ Phaser CE Class: Plugin - + @@ -297,7 +297,7 @@

Parameters:
Source:
- src/core/Plugin.js line 27 + src/core/Plugin.js line 27 @@ -409,7 +409,7 @@
Type:
Source:
- src/core/Plugin.js line 45 + src/core/Plugin.js line 45 @@ -486,7 +486,7 @@
Type:
Source:
- src/core/Plugin.js line 34 + src/core/Plugin.js line 34 @@ -563,7 +563,7 @@
Type:
Source:
- src/core/Plugin.js line 81 + src/core/Plugin.js line 81 @@ -640,7 +640,7 @@
Type:
Source:
- src/core/Plugin.js line 69 + src/core/Plugin.js line 69 @@ -717,7 +717,7 @@
Type:
Source:
- src/core/Plugin.js line 57 + src/core/Plugin.js line 57 @@ -794,7 +794,7 @@
Type:
Source:
- src/core/Plugin.js line 75 + src/core/Plugin.js line 75 @@ -871,7 +871,7 @@
Type:
Source:
- src/core/Plugin.js line 63 + src/core/Plugin.js line 63 @@ -948,7 +948,7 @@
Type:
Source:
- src/core/Plugin.js line 39 + src/core/Plugin.js line 39 @@ -1025,7 +1025,7 @@
Type:
Source:
- src/core/Plugin.js line 51 + src/core/Plugin.js line 51 @@ -1103,7 +1103,7 @@

Source:
- src/core/Plugin.js line 119 + src/core/Plugin.js line 119 @@ -1188,7 +1188,7 @@

Source:
- src/core/Plugin.js line 111 + src/core/Plugin.js line 111 @@ -1273,7 +1273,7 @@

Source:
- src/core/Plugin.js line 87 + src/core/Plugin.js line 87 @@ -1358,7 +1358,7 @@

Source:
- src/core/Plugin.js line 103 + src/core/Plugin.js line 103 @@ -1443,7 +1443,7 @@

Source:
- src/core/Plugin.js line 95 + src/core/Plugin.js line 95 @@ -1486,9 +1486,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1505,7 +1505,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1534,7 +1534,7 @@

- + diff --git a/docs/Phaser.PluginManager.html b/docs/Phaser.PluginManager.html index 3813f129f..dbd921f9e 100644 --- a/docs/Phaser.PluginManager.html +++ b/docs/Phaser.PluginManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PluginManager - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/core/PluginManager.js line 16 + src/core/PluginManager.js line 16 @@ -335,7 +335,7 @@
Type:
Source:
- src/core/PluginManager.js line 21 + src/core/PluginManager.js line 21 @@ -412,7 +412,7 @@
Type:
Source:
- src/core/PluginManager.js line 26 + src/core/PluginManager.js line 26 @@ -588,7 +588,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 44 + src/core/PluginManager.js line 44 @@ -696,7 +696,7 @@

Source:
- src/core/PluginManager.js line 279 + src/core/PluginManager.js line 279 @@ -781,7 +781,7 @@

Source:
- src/core/PluginManager.js line 259 + src/core/PluginManager.js line 259 @@ -867,7 +867,7 @@

Source:
- src/core/PluginManager.js line 218 + src/core/PluginManager.js line 218 @@ -952,7 +952,7 @@

Source:
- src/core/PluginManager.js line 178 + src/core/PluginManager.js line 178 @@ -1142,7 +1142,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 129 + src/core/PluginManager.js line 129 @@ -1226,7 +1226,7 @@

Source:
- src/core/PluginManager.js line 159 + src/core/PluginManager.js line 159 @@ -1311,7 +1311,7 @@

Source:
- src/core/PluginManager.js line 239 + src/core/PluginManager.js line 239 @@ -1396,7 +1396,7 @@

Source:
- src/core/PluginManager.js line 198 + src/core/PluginManager.js line 198 @@ -1439,9 +1439,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1458,7 +1458,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1487,7 +1487,7 @@

- + diff --git a/docs/Phaser.Point.html b/docs/Phaser.Point.html index 07f92ea5f..826305cff 100644 --- a/docs/Phaser.Point.html +++ b/docs/Phaser.Point.html @@ -6,7 +6,7 @@ Phaser CE Class: Point - + @@ -293,7 +293,7 @@

Parameters:
Source:
- src/geom/Point.js line 18 + src/geom/Point.js line 18 @@ -398,7 +398,7 @@
Type:
Source:
- src/geom/Point.js line 37 + src/geom/Point.js line 37 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Point.js line 26 + src/geom/Point.js line 26 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Point.js line 31 + src/geom/Point.js line 31 @@ -756,7 +756,7 @@
Parameters:
Source:
- src/geom/Point.js line 628 + src/geom/Point.js line 640 @@ -938,7 +938,7 @@
Parameters:
Source:
- src/geom/Point.js line 742 + src/geom/Point.js line 754 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/geom/Point.js line 988 + src/geom/Point.js line 1000 @@ -1390,7 +1390,7 @@
Parameters:
Source:
- src/geom/Point.js line 840 + src/geom/Point.js line 852 @@ -1624,7 +1624,7 @@
Parameters:
Source:
- src/geom/Point.js line 688 + src/geom/Point.js line 700 @@ -1806,7 +1806,7 @@
Parameters:
Source:
- src/geom/Point.js line 708 + src/geom/Point.js line 720 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/geom/Point.js line 790 + src/geom/Point.js line 802 @@ -2180,7 +2180,7 @@

Source:
- src/geom/Point.js line 1061 + src/geom/Point.js line 1073 @@ -2416,7 +2416,7 @@
Parameters:
Source:
- src/geom/Point.js line 668 + src/geom/Point.js line 680 @@ -2682,7 +2682,7 @@
Parameters:
Source:
- src/geom/Point.js line 772 + src/geom/Point.js line 784 @@ -2884,7 +2884,7 @@
Parameters:
Source:
- src/geom/Point.js line 756 + src/geom/Point.js line 768 @@ -3086,7 +3086,7 @@
Parameters:
Source:
- src/geom/Point.js line 920 + src/geom/Point.js line 932 @@ -3288,7 +3288,7 @@
Parameters:
Source:
- src/geom/Point.js line 904 + src/geom/Point.js line 916 @@ -3543,7 +3543,7 @@
Parameters:
Source:
- src/geom/Point.js line 1029 + src/geom/Point.js line 1041 @@ -3745,7 +3745,7 @@
Parameters:
Source:
- src/geom/Point.js line 808 + src/geom/Point.js line 820 @@ -3979,7 +3979,7 @@
Parameters:
Source:
- src/geom/Point.js line 856 + src/geom/Point.js line 868 @@ -4213,7 +4213,7 @@
Parameters:
Source:
- src/geom/Point.js line 880 + src/geom/Point.js line 892 @@ -4577,7 +4577,7 @@
Parameters:
Source:
- src/geom/Point.js line 943 + src/geom/Point.js line 955 @@ -4779,7 +4779,7 @@
Parameters:
Source:
- src/geom/Point.js line 824 + src/geom/Point.js line 836 @@ -5013,7 +5013,7 @@
Parameters:
Source:
- src/geom/Point.js line 648 + src/geom/Point.js line 660 @@ -5195,7 +5195,7 @@
Parameters:
Source:
- src/geom/Point.js line 122 + src/geom/Point.js line 122 @@ -5412,7 +5412,7 @@
Parameters:
Source:
- src/geom/Point.js line 343 + src/geom/Point.js line 343 @@ -5662,7 +5662,7 @@
Parameters:
Source:
- src/geom/Point.js line 357 + src/geom/Point.js line 357 @@ -5840,7 +5840,7 @@
Parameters:
Source:
- src/geom/Point.js line 381 + src/geom/Point.js line 381 @@ -5948,7 +5948,7 @@

Source:
- src/geom/Point.js line 600 + src/geom/Point.js line 600 @@ -6130,7 +6130,7 @@
Parameters:
Source:
- src/geom/Point.js line 216 + src/geom/Point.js line 216 @@ -6312,7 +6312,7 @@
Parameters:
Source:
- src/geom/Point.js line 186 + src/geom/Point.js line 186 @@ -6494,7 +6494,7 @@
Parameters:
Source:
- src/geom/Point.js line 201 + src/geom/Point.js line 201 @@ -6652,7 +6652,7 @@
Parameters:
Source:
- src/geom/Point.js line 232 + src/geom/Point.js line 232 @@ -6822,7 +6822,7 @@
Parameters:
Source:
- src/geom/Point.js line 252 + src/geom/Point.js line 252 @@ -6980,7 +6980,7 @@
Parameters:
Source:
- src/geom/Point.js line 43 + src/geom/Point.js line 43 @@ -7138,7 +7138,7 @@
Parameters:
Source:
- src/geom/Point.js line 274 + src/geom/Point.js line 274 @@ -7296,7 +7296,7 @@
Parameters:
Source:
- src/geom/Point.js line 539 + src/geom/Point.js line 539 @@ -7498,7 +7498,7 @@
Parameters:
Source:
- src/geom/Point.js line 290 + src/geom/Point.js line 290 @@ -7680,7 +7680,7 @@
Parameters:
Source:
- src/geom/Point.js line 170 + src/geom/Point.js line 170 @@ -7838,7 +7838,7 @@
Parameters:
Source:
- src/geom/Point.js line 526 + src/geom/Point.js line 526 @@ -7999,7 +7999,7 @@
Parameters:
Source:
- src/geom/Point.js line 304 + src/geom/Point.js line 304 @@ -8181,7 +8181,7 @@
Parameters:
Source:
- src/geom/Point.js line 317 + src/geom/Point.js line 317 @@ -8339,7 +8339,7 @@
Parameters:
Source:
- src/geom/Point.js line 495 + src/geom/Point.js line 495 @@ -8454,7 +8454,7 @@

Source:
- src/geom/Point.js line 588 + src/geom/Point.js line 588 @@ -8562,7 +8562,7 @@

Source:
- src/geom/Point.js line 420 + src/geom/Point.js line 420 @@ -8670,7 +8670,7 @@

Source:
- src/geom/Point.js line 432 + src/geom/Point.js line 432 @@ -8778,7 +8778,7 @@

Source:
- src/geom/Point.js line 56 + src/geom/Point.js line 56 @@ -8886,7 +8886,7 @@

Source:
- src/geom/Point.js line 514 + src/geom/Point.js line 514 @@ -9044,7 +9044,7 @@
Parameters:
Source:
- src/geom/Point.js line 476 + src/geom/Point.js line 476 @@ -9233,7 +9233,7 @@
Parameters:
Source:
- src/geom/Point.js line 154 + src/geom/Point.js line 154 @@ -9341,7 +9341,7 @@

Source:
- src/geom/Point.js line 457 + src/geom/Point.js line 457 @@ -9449,7 +9449,7 @@

Source:
- src/geom/Point.js line 576 + src/geom/Point.js line 576 @@ -9557,7 +9557,7 @@

Source:
- src/geom/Point.js line 552 + src/geom/Point.js line 552 @@ -9881,7 +9881,7 @@
Parameters:
Source:
- src/geom/Point.js line 403 + src/geom/Point.js line 403 @@ -9929,6 +9929,114 @@
Returns:
+
+ + + +
+

+ round() + +

+ +
+
+ + +
+

Math.round() both the x and y properties of this Point.

+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/geom/Point.js line 612 + + + + + + + +
+ + + + + + + + + + + + + +
Returns:
+ + +
+

This Point object.

+
+ + + +
+
+ Type +
+
+ +Phaser.Point + + + +
+
+ + + + +
@@ -9989,7 +10097,7 @@

Source:
- src/geom/Point.js line 564 + src/geom/Point.js line 564 @@ -10194,7 +10302,7 @@
Parameters:
Source:
- src/geom/Point.js line 86 + src/geom/Point.js line 86 @@ -10428,7 +10536,7 @@
Parameters:
Source:
- src/geom/Point.js line 1074 + src/geom/Point.js line 1086 @@ -10586,7 +10694,7 @@
Parameters:
Source:
- src/geom/Point.js line 444 + src/geom/Point.js line 444 @@ -10791,7 +10899,7 @@
Parameters:
Source:
- src/geom/Point.js line 68 + src/geom/Point.js line 68 @@ -11045,7 +11153,7 @@
Parameters:
Source:
- src/geom/Point.js line 104 + src/geom/Point.js line 104 @@ -11253,7 +11361,7 @@
Parameters:
Source:
- src/geom/Point.js line 1093 + src/geom/Point.js line 1105 @@ -11435,7 +11543,7 @@
Parameters:
Source:
- src/geom/Point.js line 138 + src/geom/Point.js line 138 @@ -11543,7 +11651,7 @@

Source:
- src/geom/Point.js line 612 + src/geom/Point.js line 624 @@ -11610,9 +11718,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -11629,7 +11737,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -11658,7 +11766,7 @@
Returns:
- + diff --git a/docs/Phaser.Pointer.html b/docs/Phaser.Pointer.html index 5d2430285..5fbfa45c9 100644 --- a/docs/Phaser.Pointer.html +++ b/docs/Phaser.Pointer.html @@ -6,7 +6,7 @@ Phaser CE Class: Pointer - + @@ -294,7 +294,7 @@
Parameters:
Source:
- src/input/Pointer.js line 16 + src/input/Pointer.js line 16 @@ -400,7 +400,7 @@
Type:
Source:
- src/input/Pointer.js line 397 + src/input/Pointer.js line 397 @@ -477,7 +477,7 @@
Type:
Source:
- src/input/Pointer.js line 412 + src/input/Pointer.js line 412 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Pointer.js line 405 + src/input/Pointer.js line 405 @@ -632,7 +632,7 @@
Type:
Source:
- src/input/Pointer.js line 375 + src/input/Pointer.js line 375 @@ -709,7 +709,7 @@
Type:
Source:
- src/input/Pointer.js line 389 + src/input/Pointer.js line 389 @@ -786,7 +786,7 @@
Type:
Source:
- src/input/Pointer.js line 368 + src/input/Pointer.js line 368 @@ -863,7 +863,7 @@
Type:
Source:
- src/input/Pointer.js line 382 + src/input/Pointer.js line 382 @@ -940,7 +940,7 @@
Type:
Source:
- src/input/Pointer.js line 316 + src/input/Pointer.js line 316 @@ -1020,7 +1020,7 @@
Type:
Source:
- src/input/Pointer.js line 120 + src/input/Pointer.js line 120 @@ -1099,7 +1099,7 @@
Type:
Source:
- src/input/Pointer.js line 70 + src/input/Pointer.js line 70 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/input/Pointer.js line 344 + src/input/Pointer.js line 344 @@ -1254,7 +1254,7 @@
Type:
Source:
- src/input/Pointer.js line 181 + src/input/Pointer.js line 181 @@ -1331,7 +1331,7 @@
Type:
Source:
- src/input/Pointer.js line 186 + src/input/Pointer.js line 186 @@ -1408,7 +1408,7 @@
Type:
Source:
- src/input/Pointer.js line 322 + src/input/Pointer.js line 322 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/input/Pointer.js line 1216 + src/input/Pointer.js line 1216 @@ -1567,7 +1567,7 @@
Type:
Source:
- src/input/Pointer.js line 146 + src/input/Pointer.js line 146 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/input/Pointer.js line 38 + src/input/Pointer.js line 38 @@ -1731,7 +1731,7 @@
Type:
Source:
- src/input/Pointer.js line 133 + src/input/Pointer.js line 133 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/input/Pointer.js line 21 + src/input/Pointer.js line 21 @@ -1885,7 +1885,7 @@
Type:
Source:
- src/input/Pointer.js line 26 + src/input/Pointer.js line 26 @@ -1962,7 +1962,7 @@
Type:
Source:
- src/input/Pointer.js line 44 + src/input/Pointer.js line 44 @@ -2050,7 +2050,7 @@
Type:
Source:
- src/input/Pointer.js line 310 + src/input/Pointer.js line 310 @@ -2128,7 +2128,7 @@
Type:
Source:
- src/input/Pointer.js line 255 + src/input/Pointer.js line 255 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/input/Pointer.js line 247 + src/input/Pointer.js line 247 @@ -2290,7 +2290,7 @@
Type:
Source:
- src/input/Pointer.js line 263 + src/input/Pointer.js line 263 @@ -2369,7 +2369,7 @@
Type:
Source:
- src/input/Pointer.js line 81 + src/input/Pointer.js line 81 @@ -2449,7 +2449,7 @@
Type:
Source:
- src/input/Pointer.js line 94 + src/input/Pointer.js line 94 @@ -2526,7 +2526,7 @@
Type:
Source:
- src/input/Pointer.js line 224 + src/input/Pointer.js line 224 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/input/Pointer.js line 230 + src/input/Pointer.js line 230 @@ -2680,7 +2680,7 @@
Type:
Source:
- src/input/Pointer.js line 293 + src/input/Pointer.js line 293 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/input/Pointer.js line 191 + src/input/Pointer.js line 191 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/input/Pointer.js line 196 + src/input/Pointer.js line 196 @@ -2911,7 +2911,7 @@
Type:
Source:
- src/input/Pointer.js line 50 + src/input/Pointer.js line 50 @@ -2988,7 +2988,7 @@
Type:
Source:
- src/input/Pointer.js line 55 + src/input/Pointer.js line 55 @@ -3065,7 +3065,7 @@
Type:
Source:
- src/input/Pointer.js line 327 + src/input/Pointer.js line 327 @@ -3142,7 +3142,7 @@
Type:
Source:
- src/input/Pointer.js line 332 + src/input/Pointer.js line 332 @@ -3219,7 +3219,7 @@
Type:
Source:
- src/input/Pointer.js line 337 + src/input/Pointer.js line 337 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/input/Pointer.js line 281 + src/input/Pointer.js line 281 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/input/Pointer.js line 212 + src/input/Pointer.js line 212 @@ -3450,7 +3450,7 @@
Type:
Source:
- src/input/Pointer.js line 218 + src/input/Pointer.js line 218 @@ -3530,7 +3530,7 @@
Type:
Source:
- src/input/Pointer.js line 107 + src/input/Pointer.js line 107 @@ -3607,7 +3607,7 @@
Type:
Source:
- src/input/Pointer.js line 201 + src/input/Pointer.js line 201 @@ -3684,7 +3684,7 @@
Type:
Source:
- src/input/Pointer.js line 206 + src/input/Pointer.js line 206 @@ -3761,7 +3761,7 @@
Type:
Source:
- src/input/Pointer.js line 61 + src/input/Pointer.js line 61 @@ -3838,7 +3838,7 @@
Type:
Source:
- src/input/Pointer.js line 299 + src/input/Pointer.js line 299 @@ -3915,7 +3915,7 @@
Type:
Source:
- src/input/Pointer.js line 269 + src/input/Pointer.js line 269 @@ -3992,7 +3992,7 @@
Type:
Source:
- src/input/Pointer.js line 275 + src/input/Pointer.js line 275 @@ -4069,7 +4069,7 @@
Type:
Source:
- src/input/Pointer.js line 287 + src/input/Pointer.js line 287 @@ -4146,7 +4146,7 @@
Type:
Source:
- src/input/Pointer.js line 32 + src/input/Pointer.js line 32 @@ -4223,7 +4223,7 @@
Type:
Source:
- src/input/Pointer.js line 176 + src/input/Pointer.js line 176 @@ -4300,7 +4300,7 @@
Type:
Source:
- src/input/Pointer.js line 1240 + src/input/Pointer.js line 1240 @@ -4377,7 +4377,7 @@
Type:
Source:
- src/input/Pointer.js line 1256 + src/input/Pointer.js line 1256 @@ -4454,7 +4454,7 @@
Type:
Source:
- src/input/Pointer.js line 236 + src/input/Pointer.js line 236 @@ -4531,7 +4531,7 @@
Type:
Source:
- src/input/Pointer.js line 242 + src/input/Pointer.js line 242 @@ -4739,7 +4739,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1097 + src/input/Pointer.js line 1097 @@ -4887,7 +4887,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1065 + src/input/Pointer.js line 1065 @@ -5059,7 +5059,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1081 + src/input/Pointer.js line 1081 @@ -5223,7 +5223,7 @@
Parameters:
Source:
- src/input/Pointer.js line 969 + src/input/Pointer.js line 969 @@ -5419,7 +5419,7 @@
Parameters:
Source:
- src/input/Pointer.js line 739 + src/input/Pointer.js line 739 @@ -5573,7 +5573,7 @@
Parameters:
Source:
- src/input/Pointer.js line 830 + src/input/Pointer.js line 830 @@ -5681,7 +5681,7 @@

Source:
- src/input/Pointer.js line 1171 + src/input/Pointer.js line 1171 @@ -5765,7 +5765,7 @@

Source:
- src/input/Pointer.js line 416 + src/input/Pointer.js line 416 @@ -5849,7 +5849,7 @@

Source:
- src/input/Pointer.js line 1201 + src/input/Pointer.js line 1201 @@ -5983,7 +5983,7 @@
Parameters:
Source:
- src/input/Pointer.js line 617 + src/input/Pointer.js line 617 @@ -6123,7 +6123,7 @@
Parameters:
Source:
- src/input/Pointer.js line 982 + src/input/Pointer.js line 982 @@ -6316,7 +6316,7 @@
Parameters:
Source:
- src/input/Pointer.js line 910 + src/input/Pointer.js line 910 @@ -6400,7 +6400,7 @@

Source:
- src/input/Pointer.js line 687 + src/input/Pointer.js line 687 @@ -6535,7 +6535,7 @@
Parameters:
Source:
- src/input/Pointer.js line 593 + src/input/Pointer.js line 593 @@ -6578,9 +6578,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6597,7 +6597,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6626,7 +6626,7 @@
Parameters:
- + diff --git a/docs/Phaser.PointerMode.html b/docs/Phaser.PointerMode.html index 317a9de21..08e16a75c 100644 --- a/docs/Phaser.PointerMode.html +++ b/docs/Phaser.PointerMode.html @@ -6,7 +6,7 @@ Phaser CE Class: PointerMode - + @@ -184,7 +184,7 @@

Source:
- src/input/Pointer.js line 1282 + src/input/Pointer.js line 1282 @@ -278,7 +278,7 @@

Source:
- src/input/Pointer.js line 1297 + src/input/Pointer.js line 1297 @@ -346,7 +346,7 @@

Source:
- src/input/Pointer.js line 1291 + src/input/Pointer.js line 1291 @@ -379,9 +379,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -398,7 +398,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -427,7 +427,7 @@

- + diff --git a/docs/Phaser.Polygon.html b/docs/Phaser.Polygon.html index 526163e5d..c9b198173 100644 --- a/docs/Phaser.Polygon.html +++ b/docs/Phaser.Polygon.html @@ -6,7 +6,7 @@ Phaser CE Class: Polygon - + @@ -248,7 +248,7 @@

Parameters:
Source:
- src/geom/Polygon.js line 24 + src/geom/Polygon.js line 24 @@ -353,7 +353,7 @@
Type:
Source:
- src/geom/Polygon.js line 29 + src/geom/Polygon.js line 29 @@ -430,7 +430,7 @@
Type:
Source:
- src/geom/Polygon.js line 45 + src/geom/Polygon.js line 45 @@ -507,7 +507,7 @@
Type:
Source:
- src/geom/Polygon.js line 50 + src/geom/Polygon.js line 50 @@ -525,16 +525,16 @@
Type:

- points : Array.<Phaser.Point> - deprecated + <readonly> points : Array.<Phaser.Point> +

-

Sets and modifies the points of this polygon.

-

See setTo for the different kinds of arrays formats that can be assigned. The array of vertex points.

+

The points of this polygon.

+

You can modify these with setTo. The array of vertex points.

@@ -570,15 +570,6 @@
Type:
-
Deprecated:
- -
-
    -
  • Use `setTo`.
  • -
-
- - @@ -594,7 +585,7 @@

Type:
Source:
- src/geom/Polygon.js line 294 + src/geom/Polygon.js line 294 @@ -671,7 +662,7 @@
Type:
Source:
- src/geom/Polygon.js line 55 + src/geom/Polygon.js line 55 @@ -820,7 +811,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 109 + src/geom/Polygon.js line 109 @@ -1002,7 +993,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 134 + src/geom/Polygon.js line 134 @@ -1112,7 +1103,7 @@

Source:
- src/geom/Polygon.js line 91 + src/geom/Polygon.js line 91 @@ -1290,7 +1281,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 186 + src/geom/Polygon.js line 186 @@ -1460,7 +1451,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 61 + src/geom/Polygon.js line 61 @@ -1527,9 +1518,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1546,7 +1537,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1575,7 +1566,7 @@
Returns:
- + diff --git a/docs/Phaser.QuadTree.html b/docs/Phaser.QuadTree.html index 8c0b91db8..4e859e6a3 100644 --- a/docs/Phaser.QuadTree.html +++ b/docs/Phaser.QuadTree.html @@ -6,7 +6,7 @@ Phaser CE Class: QuadTree - + @@ -476,7 +476,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 23 + src/math/QuadTree.js line 23 @@ -581,7 +581,7 @@
Type:
Source:
- src/math/QuadTree.js line 45 + src/math/QuadTree.js line 45 @@ -658,7 +658,7 @@
Type:
Source:
- src/math/QuadTree.js line 40 + src/math/QuadTree.js line 40 @@ -742,7 +742,7 @@
Type:
Source:
- src/math/QuadTree.js line 35 + src/math/QuadTree.js line 35 @@ -826,7 +826,7 @@
Type:
Source:
- src/math/QuadTree.js line 29 + src/math/QuadTree.js line 29 @@ -903,7 +903,7 @@
Type:
Source:
- src/math/QuadTree.js line 55 + src/math/QuadTree.js line 55 @@ -980,7 +980,7 @@
Type:
Source:
- src/math/QuadTree.js line 50 + src/math/QuadTree.js line 50 @@ -1058,7 +1058,7 @@

Source:
- src/math/QuadTree.js line 295 + src/math/QuadTree.js line 295 @@ -1195,7 +1195,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 203 + src/math/QuadTree.js line 203 @@ -1356,7 +1356,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 151 + src/math/QuadTree.js line 151 @@ -1490,7 +1490,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 103 + src/math/QuadTree.js line 103 @@ -1627,7 +1627,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 115 + src/math/QuadTree.js line 115 @@ -2005,7 +2005,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 69 + src/math/QuadTree.js line 69 @@ -2142,7 +2142,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 247 + src/math/QuadTree.js line 247 @@ -2252,7 +2252,7 @@

Source:
- src/math/QuadTree.js line 130 + src/math/QuadTree.js line 130 @@ -2295,9 +2295,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2314,7 +2314,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2343,7 +2343,7 @@

- + diff --git a/docs/Phaser.RandomDataGenerator.html b/docs/Phaser.RandomDataGenerator.html index 115fac2b3..367954d8d 100644 --- a/docs/Phaser.RandomDataGenerator.html +++ b/docs/Phaser.RandomDataGenerator.html @@ -6,7 +6,7 @@ Phaser CE Class: RandomDataGenerator - + @@ -252,7 +252,7 @@

Parameters:
Source:
- src/math/RandomDataGenerator.js line 23 + src/math/RandomDataGenerator.js line 23 @@ -354,7 +354,7 @@

Source:
- src/math/RandomDataGenerator.js line 310 + src/math/RandomDataGenerator.js line 310 @@ -537,7 +537,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 198 + src/math/RandomDataGenerator.js line 198 @@ -645,7 +645,7 @@

Source:
- src/math/RandomDataGenerator.js line 160 + src/math/RandomDataGenerator.js line 160 @@ -753,7 +753,7 @@

Source:
- src/math/RandomDataGenerator.js line 148 + src/math/RandomDataGenerator.js line 148 @@ -935,7 +935,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 184 + src/math/RandomDataGenerator.js line 184 @@ -1043,7 +1043,7 @@

Source:
- src/math/RandomDataGenerator.js line 227 + src/math/RandomDataGenerator.js line 227 @@ -1201,7 +1201,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 258 + src/math/RandomDataGenerator.js line 258 @@ -1309,7 +1309,7 @@

Source:
- src/math/RandomDataGenerator.js line 172 + src/math/RandomDataGenerator.js line 172 @@ -1491,7 +1491,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 213 + src/math/RandomDataGenerator.js line 213 @@ -1599,7 +1599,7 @@

Source:
- src/math/RandomDataGenerator.js line 271 + src/math/RandomDataGenerator.js line 271 @@ -1758,7 +1758,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 83 + src/math/RandomDataGenerator.js line 83 @@ -1911,7 +1911,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 322 + src/math/RandomDataGenerator.js line 322 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 296 + src/math/RandomDataGenerator.js line 296 @@ -2201,7 +2201,7 @@

Source:
- src/math/RandomDataGenerator.js line 239 + src/math/RandomDataGenerator.js line 239 @@ -2359,7 +2359,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 283 + src/math/RandomDataGenerator.js line 283 @@ -2426,9 +2426,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2445,7 +2445,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2474,7 +2474,7 @@
Returns:
- + diff --git a/docs/Phaser.Rectangle.html b/docs/Phaser.Rectangle.html index 92e93608e..d7386e995 100644 --- a/docs/Phaser.Rectangle.html +++ b/docs/Phaser.Rectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: Rectangle - + @@ -303,7 +303,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 18 + src/geom/Rectangle.js line 18 @@ -408,7 +408,7 @@
Type:
Source:
- src/geom/Rectangle.js line 527 + src/geom/Rectangle.js line 527 @@ -485,7 +485,7 @@
Type:
Source:
- src/geom/Rectangle.js line 553 + src/geom/Rectangle.js line 553 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Rectangle.js line 571 + src/geom/Rectangle.js line 571 @@ -639,7 +639,7 @@
Type:
Source:
- src/geom/Rectangle.js line 660 + src/geom/Rectangle.js line 660 @@ -716,7 +716,7 @@
Type:
Source:
- src/geom/Rectangle.js line 677 + src/geom/Rectangle.js line 677 @@ -794,7 +794,7 @@
Type:
Source:
- src/geom/Rectangle.js line 785 + src/geom/Rectangle.js line 785 @@ -871,7 +871,7 @@
Type:
Source:
- src/geom/Rectangle.js line 514 + src/geom/Rectangle.js line 514 @@ -948,7 +948,7 @@
Type:
Source:
- src/geom/Rectangle.js line 501 + src/geom/Rectangle.js line 501 @@ -1025,7 +1025,7 @@
Type:
Source:
- src/geom/Rectangle.js line 43 + src/geom/Rectangle.js line 43 @@ -1102,7 +1102,7 @@
Type:
Source:
- src/geom/Rectangle.js line 589 + src/geom/Rectangle.js line 589 @@ -1179,7 +1179,7 @@
Type:
Source:
- src/geom/Rectangle.js line 646 + src/geom/Rectangle.js line 646 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/geom/Rectangle.js line 694 + src/geom/Rectangle.js line 694 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/geom/Rectangle.js line 710 + src/geom/Rectangle.js line 710 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/geom/Rectangle.js line 611 + src/geom/Rectangle.js line 611 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/geom/Rectangle.js line 726 + src/geom/Rectangle.js line 726 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/geom/Rectangle.js line 749 + src/geom/Rectangle.js line 749 @@ -1642,7 +1642,7 @@
Type:
Source:
- src/geom/Rectangle.js line 767 + src/geom/Rectangle.js line 767 @@ -1719,7 +1719,7 @@
Type:
Source:
- src/geom/Rectangle.js line 49 + src/geom/Rectangle.js line 49 @@ -1796,7 +1796,7 @@
Type:
Source:
- src/geom/Rectangle.js line 632 + src/geom/Rectangle.js line 632 @@ -1873,7 +1873,7 @@
Type:
Source:
- src/geom/Rectangle.js line 38 + src/geom/Rectangle.js line 38 @@ -1950,7 +1950,7 @@
Type:
Source:
- src/geom/Rectangle.js line 28 + src/geom/Rectangle.js line 28 @@ -2027,7 +2027,7 @@
Type:
Source:
- src/geom/Rectangle.js line 33 + src/geom/Rectangle.js line 33 @@ -2199,7 +2199,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 864 + src/geom/Rectangle.js line 864 @@ -2401,7 +2401,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 904 + src/geom/Rectangle.js line 904 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 940 + src/geom/Rectangle.js line 940 @@ -2861,7 +2861,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 923 + src/geom/Rectangle.js line 923 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 953 + src/geom/Rectangle.js line 953 @@ -3246,7 +3246,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 886 + src/geom/Rectangle.js line 886 @@ -3425,7 +3425,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 973 + src/geom/Rectangle.js line 973 @@ -3631,7 +3631,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 810 + src/geom/Rectangle.js line 810 @@ -3813,7 +3813,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 829 + src/geom/Rectangle.js line 829 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1000 + src/geom/Rectangle.js line 1000 @@ -4230,7 +4230,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1027 + src/geom/Rectangle.js line 1027 @@ -4484,7 +4484,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1046 + src/geom/Rectangle.js line 1046 @@ -4666,7 +4666,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 987 + src/geom/Rectangle.js line 987 @@ -4868,7 +4868,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 842 + src/geom/Rectangle.js line 842 @@ -5102,7 +5102,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1064 + src/geom/Rectangle.js line 1064 @@ -5304,7 +5304,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1083 + src/geom/Rectangle.js line 1083 @@ -5412,7 +5412,7 @@

Source:
- src/geom/Rectangle.js line 163 + src/geom/Rectangle.js line 163 @@ -5496,7 +5496,7 @@

Source:
- src/geom/Rectangle.js line 174 + src/geom/Rectangle.js line 174 @@ -5654,7 +5654,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 122 + src/geom/Rectangle.js line 122 @@ -5824,7 +5824,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 271 + src/geom/Rectangle.js line 271 @@ -6002,7 +6002,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 283 + src/geom/Rectangle.js line 283 @@ -6161,7 +6161,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 296 + src/geom/Rectangle.js line 296 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 187 + src/geom/Rectangle.js line 187 @@ -6477,7 +6477,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 199 + src/geom/Rectangle.js line 199 @@ -6635,7 +6635,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 211 + src/geom/Rectangle.js line 211 @@ -6794,7 +6794,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 309 + src/geom/Rectangle.js line 309 @@ -6902,7 +6902,7 @@

Source:
- src/geom/Rectangle.js line 139 + src/geom/Rectangle.js line 139 @@ -6986,7 +6986,7 @@

Source:
- src/geom/Rectangle.js line 150 + src/geom/Rectangle.js line 150 @@ -7172,7 +7172,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 398 + src/geom/Rectangle.js line 398 @@ -7354,7 +7354,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 228 + src/geom/Rectangle.js line 228 @@ -7536,7 +7536,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 322 + src/geom/Rectangle.js line 322 @@ -7695,7 +7695,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 335 + src/geom/Rectangle.js line 335 @@ -7949,7 +7949,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 349 + src/geom/Rectangle.js line 349 @@ -8131,7 +8131,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 55 + src/geom/Rectangle.js line 55 @@ -8289,7 +8289,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 71 + src/geom/Rectangle.js line 71 @@ -8463,7 +8463,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 379 + src/geom/Rectangle.js line 379 @@ -8646,7 +8646,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 253 + src/geom/Rectangle.js line 253 @@ -8848,7 +8848,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 103 + src/geom/Rectangle.js line 103 @@ -9078,7 +9078,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 83 + src/geom/Rectangle.js line 83 @@ -9350,7 +9350,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 451 + src/geom/Rectangle.js line 451 @@ -9522,7 +9522,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 241 + src/geom/Rectangle.js line 241 @@ -9630,7 +9630,7 @@

Source:
- src/geom/Rectangle.js line 488 + src/geom/Rectangle.js line 488 @@ -9832,7 +9832,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 366 + src/geom/Rectangle.js line 366 @@ -9899,9 +9899,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -9918,7 +9918,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -9947,7 +9947,7 @@
Returns:
- + diff --git a/docs/Phaser.RenderTexture.html b/docs/Phaser.RenderTexture.html index a1acff9e2..ec078b7e7 100644 --- a/docs/Phaser.RenderTexture.html +++ b/docs/Phaser.RenderTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: RenderTexture - + @@ -447,7 +447,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 21 + src/gameobjects/RenderTexture.js line 21 @@ -568,7 +568,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 66 + src/gameobjects/RenderTexture.js line 66 @@ -660,7 +660,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -751,7 +751,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -828,7 +828,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 34 + src/gameobjects/RenderTexture.js line 34 @@ -919,7 +919,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -1005,7 +1005,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -1082,7 +1082,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 39 + src/gameobjects/RenderTexture.js line 39 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -1248,7 +1248,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 84 + src/gameobjects/RenderTexture.js line 84 @@ -1334,7 +1334,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -1420,7 +1420,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1508,7 +1508,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 44 + src/gameobjects/RenderTexture.js line 44 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 107 + src/gameobjects/RenderTexture.js line 107 @@ -1840,7 +1840,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1918,7 +1918,7 @@

Source:
- src/gameobjects/RenderTexture.js line 258 + src/gameobjects/RenderTexture.js line 258 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -2332,7 +2332,7 @@

Source:
- src/gameobjects/RenderTexture.js line 399 + src/gameobjects/RenderTexture.js line 399 @@ -2440,7 +2440,7 @@

Source:
- src/gameobjects/RenderTexture.js line 411 + src/gameobjects/RenderTexture.js line 411 @@ -2548,7 +2548,7 @@

Source:
- src/gameobjects/RenderTexture.js line 384 + src/gameobjects/RenderTexture.js line 384 @@ -2813,7 +2813,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 178 + src/gameobjects/RenderTexture.js line 178 @@ -3089,7 +3089,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 150 + src/gameobjects/RenderTexture.js line 150 @@ -3365,7 +3365,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 118 + src/gameobjects/RenderTexture.js line 118 @@ -3547,7 +3547,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 215 + src/gameobjects/RenderTexture.js line 215 @@ -3690,7 +3690,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -3733,9 +3733,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3752,7 +3752,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3781,7 +3781,7 @@
Parameters:
- + diff --git a/docs/Phaser.RequestAnimationFrame.html b/docs/Phaser.RequestAnimationFrame.html index 0faefd250..ecd22bbf5 100644 --- a/docs/Phaser.RequestAnimationFrame.html +++ b/docs/Phaser.RequestAnimationFrame.html @@ -6,7 +6,7 @@ Phaser CE Class: RequestAnimationFrame - + @@ -286,7 +286,7 @@
Parameters:
Source:
- src/utils/RequestAnimationFrame.js line 15 + src/utils/RequestAnimationFrame.js line 15 @@ -391,7 +391,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 33 + src/utils/RequestAnimationFrame.js line 33 @@ -468,7 +468,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 22 + src/utils/RequestAnimationFrame.js line 22 @@ -545,7 +545,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 28 + src/utils/RequestAnimationFrame.js line 28 @@ -623,7 +623,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 162 + src/utils/RequestAnimationFrame.js line 162 @@ -727,7 +727,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 153 + src/utils/RequestAnimationFrame.js line 153 @@ -831,7 +831,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 70 + src/utils/RequestAnimationFrame.js line 70 @@ -915,7 +915,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 134 + src/utils/RequestAnimationFrame.js line 134 @@ -999,7 +999,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 103 + src/utils/RequestAnimationFrame.js line 103 @@ -1083,7 +1083,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 119 + src/utils/RequestAnimationFrame.js line 119 @@ -1126,9 +1126,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1145,7 +1145,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1174,7 +1174,7 @@

- + diff --git a/docs/Phaser.RetroFont.html b/docs/Phaser.RetroFont.html index 89bd4c095..b1fb0fdef 100644 --- a/docs/Phaser.RetroFont.html +++ b/docs/Phaser.RetroFont.html @@ -6,7 +6,7 @@ Phaser CE Class: RetroFont - + @@ -589,7 +589,7 @@

Parameters:
Source:
- src/gameobjects/RetroFont.js line 25 + src/gameobjects/RetroFont.js line 25 @@ -705,7 +705,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 196 + src/gameobjects/RetroFont.js line 196 @@ -782,7 +782,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 182 + src/gameobjects/RetroFont.js line 182 @@ -859,7 +859,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 189 + src/gameobjects/RetroFont.js line 189 @@ -936,7 +936,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 203 + src/gameobjects/RetroFont.js line 203 @@ -1013,7 +1013,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 210 + src/gameobjects/RetroFont.js line 210 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 217 + src/gameobjects/RetroFont.js line 217 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 224 + src/gameobjects/RetroFont.js line 224 @@ -1244,7 +1244,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 231 + src/gameobjects/RetroFont.js line 231 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 238 + src/gameobjects/RetroFont.js line 238 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 245 + src/gameobjects/RetroFont.js line 245 @@ -1475,7 +1475,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 252 + src/gameobjects/RetroFont.js line 252 @@ -1552,7 +1552,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 259 + src/gameobjects/RetroFont.js line 259 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 266 + src/gameobjects/RetroFont.js line 266 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 273 + src/gameobjects/RetroFont.js line 273 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 77 + src/gameobjects/RetroFont.js line 77 @@ -1867,7 +1867,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 89 + src/gameobjects/RetroFont.js line 89 @@ -1953,7 +1953,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 66 + src/gameobjects/RenderTexture.js line 66 @@ -2030,7 +2030,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 45 + src/gameobjects/RetroFont.js line 45 @@ -2107,7 +2107,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 60 + src/gameobjects/RetroFont.js line 60 @@ -2184,7 +2184,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 50 + src/gameobjects/RetroFont.js line 50 @@ -2261,7 +2261,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 55 + src/gameobjects/RetroFont.js line 55 @@ -2338,7 +2338,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 40 + src/gameobjects/RetroFont.js line 40 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -2502,7 +2502,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 95 + src/gameobjects/RetroFont.js line 95 @@ -2579,7 +2579,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 101 + src/gameobjects/RetroFont.js line 101 @@ -2657,7 +2657,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 108 + src/gameobjects/RetroFont.js line 108 @@ -2734,7 +2734,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 113 + src/gameobjects/RetroFont.js line 113 @@ -2820,7 +2820,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -2897,7 +2897,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 130 + src/gameobjects/RetroFont.js line 130 @@ -2983,7 +2983,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 34 + src/gameobjects/RenderTexture.js line 34 @@ -3069,7 +3069,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -3155,7 +3155,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -3241,7 +3241,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 39 + src/gameobjects/RenderTexture.js line 39 @@ -3318,7 +3318,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 83 + src/gameobjects/RetroFont.js line 83 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -3481,7 +3481,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 66 + src/gameobjects/RetroFont.js line 66 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 72 + src/gameobjects/RetroFont.js line 72 @@ -3647,7 +3647,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 84 + src/gameobjects/RenderTexture.js line 84 @@ -3738,7 +3738,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -3824,7 +3824,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -3912,7 +3912,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -3989,7 +3989,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 585 + src/gameobjects/RetroFont.js line 585 @@ -4066,7 +4066,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 163 + src/gameobjects/RetroFont.js line 163 @@ -4143,7 +4143,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 547 + src/gameobjects/RetroFont.js line 547 @@ -4229,7 +4229,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 170 + src/gameobjects/RetroFont.js line 170 @@ -4393,7 +4393,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 107 + src/gameobjects/RenderTexture.js line 107 @@ -4479,7 +4479,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -4557,7 +4557,7 @@

Source:
- src/gameobjects/RetroFont.js line 328 + src/gameobjects/RetroFont.js line 328 @@ -4650,7 +4650,7 @@

Source:
- src/gameobjects/RenderTexture.js line 258 + src/gameobjects/RenderTexture.js line 258 @@ -4793,7 +4793,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 286 + src/pixi/textures/Texture.js line 286 @@ -5073,7 +5073,7 @@

Source:
- src/gameobjects/RenderTexture.js line 399 + src/gameobjects/RenderTexture.js line 399 @@ -5190,7 +5190,7 @@

Source:
- src/gameobjects/RenderTexture.js line 411 + src/gameobjects/RenderTexture.js line 411 @@ -5307,7 +5307,7 @@

Source:
- src/gameobjects/RenderTexture.js line 384 + src/gameobjects/RenderTexture.js line 384 @@ -5411,7 +5411,7 @@

Source:
- src/gameobjects/RetroFont.js line 459 + src/gameobjects/RetroFont.js line 459 @@ -5642,7 +5642,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 420 + src/gameobjects/RetroFont.js line 420 @@ -5796,7 +5796,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 486 + src/gameobjects/RetroFont.js line 486 @@ -6074,7 +6074,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 178 + src/gameobjects/RenderTexture.js line 178 @@ -6359,7 +6359,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 150 + src/gameobjects/RenderTexture.js line 150 @@ -6644,7 +6644,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 118 + src/gameobjects/RenderTexture.js line 118 @@ -6835,7 +6835,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 215 + src/gameobjects/RenderTexture.js line 215 @@ -7026,7 +7026,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 275 + src/gameobjects/RetroFont.js line 275 @@ -7169,7 +7169,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -7519,7 +7519,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 293 + src/gameobjects/RetroFont.js line 293 @@ -7715,7 +7715,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 514 + src/gameobjects/RetroFont.js line 514 @@ -7758,9 +7758,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -7777,7 +7777,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -7806,7 +7806,7 @@
Parameters:
- + diff --git a/docs/Phaser.Rope.html b/docs/Phaser.Rope.html index 574f22487..67d6b9c53 100644 --- a/docs/Phaser.Rope.html +++ b/docs/Phaser.Rope.html @@ -6,7 +6,7 @@ Phaser CE Class: Rope - + @@ -364,7 +364,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 44 + src/gameobjects/Rope.js line 44 @@ -536,7 +536,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -632,7 +632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -723,7 +723,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -810,7 +810,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -907,7 +907,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1010,7 +1010,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1097,7 +1097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1277,7 +1277,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 101 + src/gameobjects/Rope.js line 101 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1620,7 +1620,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1792,7 +1792,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1880,7 +1880,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1976,7 +1976,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2062,7 +2062,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2149,7 +2149,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2236,7 +2236,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2409,7 +2409,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2486,7 +2486,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 93 + src/gameobjects/Rope.js line 93 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 306 + src/gameobjects/components/Core.js line 306 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2848,7 +2848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2941,7 +2941,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3032,7 +3032,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3123,7 +3123,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3210,7 +3210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3392,7 +3392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3480,7 +3480,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3567,7 +3567,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3653,7 +3653,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -3755,7 +3755,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -3932,7 +3932,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4021,7 +4021,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4108,7 +4108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4196,7 +4196,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4284,7 +4284,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4370,7 +4370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4457,7 +4457,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4546,7 +4546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4635,7 +4635,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4722,7 +4722,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4810,7 +4810,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4896,7 +4896,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -4982,7 +4982,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5069,7 +5069,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5156,7 +5156,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5243,7 +5243,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5332,7 +5332,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5421,7 +5421,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5509,7 +5509,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5597,7 +5597,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5716,7 +5716,7 @@
Properties:
Source:
- src/gameobjects/Rope.js line 803 + src/gameobjects/Rope.js line 803 @@ -5804,7 +5804,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5891,7 +5891,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -5977,7 +5977,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6140,7 +6140,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 58 + src/gameobjects/Rope.js line 58 @@ -6217,7 +6217,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 772 + src/gameobjects/Rope.js line 772 @@ -6315,7 +6315,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -6403,7 +6403,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -6495,7 +6495,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -6586,7 +6586,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -6677,7 +6677,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -6768,7 +6768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -6859,7 +6859,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -6945,7 +6945,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7037,7 +7037,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7129,7 +7129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7218,7 +7218,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7355,7 +7355,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7546,7 +7546,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7889,7 +7889,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8233,7 +8233,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8353,7 +8353,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8520,7 +8520,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -8746,7 +8746,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8846,7 +8846,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9091,7 +9091,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -9280,7 +9280,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -9447,7 +9447,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -9614,7 +9614,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -9731,7 +9731,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -9852,7 +9852,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -10137,7 +10137,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10233,7 +10233,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -10353,7 +10353,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -10536,7 +10536,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10842,7 +10842,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10959,7 +10959,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -11048,7 +11048,7 @@

Source:
- src/gameobjects/Rope.js line 142 + src/gameobjects/Rope.js line 142 @@ -11141,7 +11141,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -11284,7 +11284,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -11451,7 +11451,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -11642,7 +11642,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -11807,7 +11807,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 174 + src/gameobjects/Rope.js line 174 @@ -11924,7 +11924,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -12117,7 +12117,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -12282,7 +12282,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -12402,7 +12402,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -12593,7 +12593,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -12737,7 +12737,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -12974,7 +12974,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -13141,7 +13141,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -13284,7 +13284,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -13497,7 +13497,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -13612,7 +13612,7 @@

Source:
- src/gameobjects/Rope.js line 159 + src/gameobjects/Rope.js line 159 @@ -13705,7 +13705,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -13825,7 +13825,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -13993,7 +13993,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -14062,9 +14062,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -14081,7 +14081,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -14110,7 +14110,7 @@
Returns:
- + diff --git a/docs/Phaser.RoundedRectangle.html b/docs/Phaser.RoundedRectangle.html index 2c89e3b7f..ea8230ed9 100644 --- a/docs/Phaser.RoundedRectangle.html +++ b/docs/Phaser.RoundedRectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: RoundedRectangle - + @@ -411,7 +411,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 20 + src/geom/RoundedRectangle.js line 20 @@ -516,7 +516,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 46 + src/geom/RoundedRectangle.js line 46 @@ -593,7 +593,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 51 + src/geom/RoundedRectangle.js line 51 @@ -670,7 +670,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 57 + src/geom/RoundedRectangle.js line 57 @@ -747,7 +747,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 41 + src/geom/RoundedRectangle.js line 41 @@ -824,7 +824,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 31 + src/geom/RoundedRectangle.js line 31 @@ -901,7 +901,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 36 + src/geom/RoundedRectangle.js line 36 @@ -980,7 +980,7 @@

Source:
- src/geom/RoundedRectangle.js line 62 + src/geom/RoundedRectangle.js line 62 @@ -1158,7 +1158,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 75 + src/geom/RoundedRectangle.js line 75 @@ -1225,9 +1225,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1244,7 +1244,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1273,7 +1273,7 @@
Returns:
- + diff --git a/docs/Phaser.ScaleManager.html b/docs/Phaser.ScaleManager.html index a3add82ca..930955ac5 100644 --- a/docs/Phaser.ScaleManager.html +++ b/docs/Phaser.ScaleManager.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleManager - + @@ -321,7 +321,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 68 + src/core/ScaleManager.js line 68 @@ -426,7 +426,84 @@
Type:
Source:
- src/core/ScaleManager.js line 635 + src/core/ScaleManager.js line 635 + + + + + + + +

+ + + +
+ + + +
+

+ <static, constant> MODES : Array.<string> + +

+ +
+
+ +
+

Names of the scale modes, indexed by value.

+
+ + + +
Type:
+
    +
  • + +Array.<string> + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/core/ScaleManager.js line 675 @@ -503,7 +580,7 @@
Type:
Source:
- src/core/ScaleManager.js line 643 + src/core/ScaleManager.js line 643 @@ -580,7 +657,7 @@
Type:
Source:
- src/core/ScaleManager.js line 659 + src/core/ScaleManager.js line 659 @@ -657,7 +734,7 @@
Type:
Source:
- src/core/ScaleManager.js line 651 + src/core/ScaleManager.js line 651 @@ -734,7 +811,7 @@
Type:
Source:
- src/core/ScaleManager.js line 667 + src/core/ScaleManager.js line 667 @@ -811,7 +888,7 @@
Type:
Source:
- src/core/ScaleManager.js line 371 + src/core/ScaleManager.js line 371 @@ -890,7 +967,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2172 + src/core/ScaleManager.js line 2194 @@ -967,7 +1044,7 @@
Type:
Source:
- src/core/ScaleManager.js line 364 + src/core/ScaleManager.js line 364 @@ -1340,7 +1417,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 432 + src/core/ScaleManager.js line 432 @@ -1418,7 +1495,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2305 + src/core/ScaleManager.js line 2327 @@ -1495,7 +1572,7 @@
Type:
Source:
- src/core/ScaleManager.js line 84 + src/core/ScaleManager.js line 84 @@ -1573,7 +1650,7 @@
Type:
Source:
- src/core/ScaleManager.js line 233 + src/core/ScaleManager.js line 233 @@ -1651,7 +1728,7 @@
Type:
Source:
- src/core/ScaleManager.js line 162 + src/core/ScaleManager.js line 162 @@ -1729,7 +1806,7 @@
Type:
Source:
- src/core/ScaleManager.js line 172 + src/core/ScaleManager.js line 172 @@ -1807,7 +1884,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2264 + src/core/ScaleManager.js line 2286 @@ -1889,7 +1966,7 @@
Type:
Source:
- src/core/ScaleManager.js line 270 + src/core/ScaleManager.js line 270 @@ -1966,7 +2043,7 @@
Type:
Source:
- src/core/ScaleManager.js line 76 + src/core/ScaleManager.js line 76 @@ -2043,7 +2120,7 @@
Type:
Source:
- src/core/ScaleManager.js line 91 + src/core/ScaleManager.js line 91 @@ -2123,7 +2200,7 @@
Type:
Source:
- src/core/ScaleManager.js line 255 + src/core/ScaleManager.js line 255 @@ -2200,7 +2277,7 @@
Type:
Source:
- src/core/ScaleManager.js line 105 + src/core/ScaleManager.js line 105 @@ -2278,7 +2355,7 @@
Type:
Source:
- src/core/ScaleManager.js line 183 + src/core/ScaleManager.js line 183 @@ -2355,7 +2432,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2396 + src/core/ScaleManager.js line 2418 @@ -2435,7 +2512,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2461 + src/core/ScaleManager.js line 2483 @@ -2515,7 +2592,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2443 + src/core/ScaleManager.js line 2465 @@ -2592,7 +2669,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2428 + src/core/ScaleManager.js line 2450 @@ -2669,7 +2746,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2413 + src/core/ScaleManager.js line 2435 @@ -2747,7 +2824,7 @@
Type:
Source:
- src/core/ScaleManager.js line 243 + src/core/ScaleManager.js line 243 @@ -2824,7 +2901,7 @@
Type:
Source:
- src/core/ScaleManager.js line 357 + src/core/ScaleManager.js line 357 @@ -2903,7 +2980,7 @@
Type:
Source:
- src/core/ScaleManager.js line 143 + src/core/ScaleManager.js line 143 @@ -2982,7 +3059,7 @@
Type:
Source:
- src/core/ScaleManager.js line 124 + src/core/ScaleManager.js line 124 @@ -3060,7 +3137,7 @@
Type:
Source:
- src/core/ScaleManager.js line 133 + src/core/ScaleManager.js line 133 @@ -3138,7 +3215,7 @@
Type:
Source:
- src/core/ScaleManager.js line 114 + src/core/ScaleManager.js line 114 @@ -3216,7 +3293,7 @@
Type:
Source:
- src/core/ScaleManager.js line 152 + src/core/ScaleManager.js line 152 @@ -3295,7 +3372,7 @@
Type:
Source:
- src/core/ScaleManager.js line 312 + src/core/ScaleManager.js line 312 @@ -3374,7 +3451,7 @@
Type:
Source:
- src/core/ScaleManager.js line 323 + src/core/ScaleManager.js line 323 @@ -3463,7 +3540,7 @@
Type:
Source:
- src/core/ScaleManager.js line 301 + src/core/ScaleManager.js line 301 @@ -3554,7 +3631,7 @@
Type:
Source:
- src/core/ScaleManager.js line 223 + src/core/ScaleManager.js line 223 @@ -3638,7 +3715,7 @@
Type:
Source:
- src/core/ScaleManager.js line 513 + src/core/ScaleManager.js line 513 @@ -3725,7 +3802,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2325 + src/core/ScaleManager.js line 2347 @@ -3817,7 +3894,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2357 + src/core/ScaleManager.js line 2379 @@ -3896,7 +3973,7 @@
Type:
Source:
- src/core/ScaleManager.js line 465 + src/core/ScaleManager.js line 465 @@ -3976,7 +4053,7 @@
Type:
Source:
- src/core/ScaleManager.js line 477 + src/core/ScaleManager.js line 477 @@ -4053,7 +4130,7 @@
Type:
Source:
- src/core/ScaleManager.js line 484 + src/core/ScaleManager.js line 484 @@ -4130,7 +4207,7 @@
Type:
Source:
- src/core/ScaleManager.js line 340 + src/core/ScaleManager.js line 340 @@ -4207,7 +4284,7 @@
Type:
Source:
- src/core/ScaleManager.js line 348 + src/core/ScaleManager.js line 348 @@ -4314,7 +4391,7 @@
Type:
Source:
- src/core/ScaleManager.js line 2200 + src/core/ScaleManager.js line 2222 @@ -4392,7 +4469,7 @@
Type:
Source:
- src/core/ScaleManager.js line 333 + src/core/ScaleManager.js line 333 @@ -4469,7 +4546,7 @@
Type:
Source:
- src/core/ScaleManager.js line 378 + src/core/ScaleManager.js line 378 @@ -4554,7 +4631,7 @@
Type:
Source:
- src/core/ScaleManager.js line 495 + src/core/ScaleManager.js line 495 @@ -4638,7 +4715,7 @@
Type:
Source:
- src/core/ScaleManager.js line 98 + src/core/ScaleManager.js line 98 @@ -4794,7 +4871,7 @@
Properties:
Source:
- src/core/ScaleManager.js line 401 + src/core/ScaleManager.js line 401 @@ -4968,7 +5045,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1516 + src/core/ScaleManager.js line 1538 @@ -5052,7 +5129,7 @@

Source:
- src/core/ScaleManager.js line 671 + src/core/ScaleManager.js line 685 @@ -5138,7 +5215,7 @@

Source:
- src/core/ScaleManager.js line 1799 + src/core/ScaleManager.js line 1821 @@ -5223,7 +5300,7 @@

Source:
- src/core/ScaleManager.js line 2139 + src/core/ScaleManager.js line 2161 @@ -5417,7 +5494,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1206 + src/core/ScaleManager.js line 1228 @@ -5576,7 +5653,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1457 + src/core/ScaleManager.js line 1479 @@ -5734,7 +5811,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 774 + src/core/ScaleManager.js line 788 @@ -5818,7 +5895,7 @@

Source:
- src/core/ScaleManager.js line 1071 + src/core/ScaleManager.js line 1093 @@ -5914,7 +5991,7 @@

Source:
- src/core/ScaleManager.js line 1350 + src/core/ScaleManager.js line 1372 @@ -6187,7 +6264,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 2069 + src/core/ScaleManager.js line 2091 @@ -6380,7 +6457,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 907 + src/core/ScaleManager.js line 929 @@ -6629,7 +6706,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1039 + src/core/ScaleManager.js line 1061 @@ -6809,7 +6886,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 968 + src/core/ScaleManager.js line 990 @@ -6974,7 +7051,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 807 + src/core/ScaleManager.js line 829 @@ -7323,7 +7400,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 935 + src/core/ScaleManager.js line 957 @@ -7515,7 +7592,7 @@
Parameters:
Source:
- src/core/ScaleManager.js line 1820 + src/core/ScaleManager.js line 1842 @@ -7623,7 +7700,7 @@

Source:
- src/core/ScaleManager.js line 1923 + src/core/ScaleManager.js line 1945 @@ -7690,9 +7767,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -7709,7 +7786,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -7738,7 +7815,7 @@
Returns:
- + diff --git a/docs/Phaser.Signal.html b/docs/Phaser.Signal.html index 6bcd85777..0a2817f77 100644 --- a/docs/Phaser.Signal.html +++ b/docs/Phaser.Signal.html @@ -6,7 +6,7 @@ Phaser CE Class: Signal - + @@ -210,7 +210,7 @@

Source:
- src/core/Signal.js line 64 + src/core/Signal.js line 64 @@ -323,7 +323,7 @@
Type:
Source:
- src/core/Signal.js line 104 + src/core/Signal.js line 104 @@ -402,7 +402,7 @@
Type:
Source:
- src/core/Signal.js line 88 + src/core/Signal.js line 88 @@ -673,7 +673,7 @@
Parameters:
Source:
- src/core/Signal.js line 236 + src/core/Signal.js line 236 @@ -967,7 +967,7 @@
Parameters:
Source:
- src/core/Signal.js line 280 + src/core/Signal.js line 280 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/core/Signal.js line 401 + src/core/Signal.js line 401 @@ -1224,7 +1224,7 @@

Source:
- src/core/Signal.js line 457 + src/core/Signal.js line 457 @@ -1308,7 +1308,7 @@

Source:
- src/core/Signal.js line 443 + src/core/Signal.js line 443 @@ -1392,7 +1392,7 @@

Source:
- src/core/Signal.js line 375 + src/core/Signal.js line 375 @@ -1502,7 +1502,7 @@

Source:
- src/core/Signal.js line 387 + src/core/Signal.js line 387 @@ -1680,7 +1680,7 @@
Parameters:
Source:
- src/core/Signal.js line 222 + src/core/Signal.js line 222 @@ -1894,7 +1894,7 @@
Parameters:
Source:
- src/core/Signal.js line 311 + src/core/Signal.js line 311 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/core/Signal.js line 335 + src/core/Signal.js line 335 @@ -2156,7 +2156,7 @@

Source:
- src/core/Signal.js line 477 + src/core/Signal.js line 477 @@ -2223,9 +2223,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2242,7 +2242,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2271,7 +2271,7 @@
Returns:
- + diff --git a/docs/Phaser.SignalBinding.html b/docs/Phaser.SignalBinding.html index ae63f456a..7a3e6c0ed 100644 --- a/docs/Phaser.SignalBinding.html +++ b/docs/Phaser.SignalBinding.html @@ -6,7 +6,7 @@ Phaser CE Class: SignalBinding - + @@ -440,7 +440,7 @@
Parameters:
Source:
- src/core/SignalBinding.js line 22 + src/core/SignalBinding.js line 22 @@ -552,7 +552,7 @@
Type:
Source:
- src/core/SignalBinding.js line 93 + src/core/SignalBinding.js line 93 @@ -629,7 +629,7 @@
Type:
Source:
- src/core/SignalBinding.js line 86 + src/core/SignalBinding.js line 86 @@ -706,7 +706,7 @@
Type:
Source:
- src/core/SignalBinding.js line 63 + src/core/SignalBinding.js line 63 @@ -786,7 +786,7 @@
Type:
Source:
- src/core/SignalBinding.js line 100 + src/core/SignalBinding.js line 100 @@ -865,7 +865,7 @@

Source:
- src/core/SignalBinding.js line 136 + src/core/SignalBinding.js line 136 @@ -1039,7 +1039,7 @@
Parameters:
Source:
- src/core/SignalBinding.js line 102 + src/core/SignalBinding.js line 102 @@ -1143,7 +1143,7 @@

Source:
- src/core/SignalBinding.js line 162 + src/core/SignalBinding.js line 162 @@ -1247,7 +1247,7 @@

Source:
- src/core/SignalBinding.js line 170 + src/core/SignalBinding.js line 170 @@ -1351,7 +1351,7 @@

Source:
- src/core/SignalBinding.js line 146 + src/core/SignalBinding.js line 146 @@ -1455,7 +1455,7 @@

Source:
- src/core/SignalBinding.js line 154 + src/core/SignalBinding.js line 154 @@ -1559,7 +1559,7 @@

Source:
- src/core/SignalBinding.js line 189 + src/core/SignalBinding.js line 189 @@ -1626,9 +1626,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1645,7 +1645,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1674,7 +1674,7 @@
Returns:
- + diff --git a/docs/Phaser.SinglePad.html b/docs/Phaser.SinglePad.html index f6b3c3e41..e39993ce4 100644 --- a/docs/Phaser.SinglePad.html +++ b/docs/Phaser.SinglePad.html @@ -6,7 +6,7 @@ Phaser CE Class: SinglePad - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 16 + src/input/SinglePad.js line 16 @@ -359,7 +359,7 @@
Type:
Source:
- src/input/SinglePad.js line 38 + src/input/SinglePad.js line 38 @@ -436,7 +436,7 @@
Type:
Source:
- src/input/SinglePad.js line 33 + src/input/SinglePad.js line 33 @@ -513,7 +513,7 @@
Type:
Source:
- src/input/SinglePad.js line 73 + src/input/SinglePad.js line 73 @@ -590,7 +590,7 @@
Type:
Source:
- src/input/SinglePad.js line 21 + src/input/SinglePad.js line 21 @@ -667,7 +667,7 @@
Type:
Source:
- src/input/SinglePad.js line 27 + src/input/SinglePad.js line 27 @@ -744,7 +744,7 @@
Type:
Source:
- src/input/SinglePad.js line 63 + src/input/SinglePad.js line 63 @@ -821,7 +821,7 @@
Type:
Source:
- src/input/SinglePad.js line 43 + src/input/SinglePad.js line 43 @@ -898,7 +898,7 @@
Type:
Source:
- src/input/SinglePad.js line 48 + src/input/SinglePad.js line 48 @@ -975,7 +975,7 @@
Type:
Source:
- src/input/SinglePad.js line 53 + src/input/SinglePad.js line 53 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/input/SinglePad.js line 68 + src/input/SinglePad.js line 68 @@ -1129,7 +1129,7 @@
Type:
Source:
- src/input/SinglePad.js line 58 + src/input/SinglePad.js line 58 @@ -1282,7 +1282,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 121 + src/input/SinglePad.js line 121 @@ -1416,7 +1416,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 432 + src/input/SinglePad.js line 432 @@ -1575,7 +1575,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 520 + src/input/SinglePad.js line 520 @@ -1733,7 +1733,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 216 + src/input/SinglePad.js line 216 @@ -1817,7 +1817,7 @@

Source:
- src/input/SinglePad.js line 298 + src/input/SinglePad.js line 298 @@ -1901,7 +1901,7 @@

Source:
- src/input/SinglePad.js line 260 + src/input/SinglePad.js line 260 @@ -2036,7 +2036,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 144 + src/input/SinglePad.js line 144 @@ -2194,7 +2194,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 450 + src/input/SinglePad.js line 450 @@ -2352,7 +2352,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 468 + src/input/SinglePad.js line 468 @@ -2566,7 +2566,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 503 + src/input/SinglePad.js line 503 @@ -2780,7 +2780,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 486 + src/input/SinglePad.js line 486 @@ -2888,7 +2888,7 @@

Source:
- src/input/SinglePad.js line 165 + src/input/SinglePad.js line 165 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 327 + src/input/SinglePad.js line 327 @@ -3180,7 +3180,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 354 + src/input/SinglePad.js line 354 @@ -3338,7 +3338,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 406 + src/input/SinglePad.js line 406 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/input/SinglePad.js line 380 + src/input/SinglePad.js line 380 @@ -3580,7 +3580,7 @@

Source:
- src/input/SinglePad.js line 539 + src/input/SinglePad.js line 539 @@ -3623,9 +3623,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3642,7 +3642,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3671,7 +3671,7 @@

- + diff --git a/docs/Phaser.Sound.html b/docs/Phaser.Sound.html index 50c1396da..5da3497e8 100644 --- a/docs/Phaser.Sound.html +++ b/docs/Phaser.Sound.html @@ -6,7 +6,7 @@ Phaser CE Class: Sound - + @@ -362,7 +362,7 @@

Parameters:
Source:
- src/sound/Sound.js line 17 + src/sound/Sound.js line 17 @@ -467,7 +467,7 @@
Type:
Source:
- src/sound/Sound.js line 144 + src/sound/Sound.js line 144 @@ -544,7 +544,7 @@
Type:
Source:
- src/sound/Sound.js line 57 + src/sound/Sound.js line 57 @@ -621,7 +621,7 @@
Type:
Source:
- src/sound/Sound.js line 52 + src/sound/Sound.js line 52 @@ -698,7 +698,7 @@
Type:
Source:
- src/sound/Sound.js line 121 + src/sound/Sound.js line 121 @@ -775,7 +775,7 @@
Type:
Source:
- src/sound/Sound.js line 73 + src/sound/Sound.js line 73 @@ -852,7 +852,7 @@
Type:
Source:
- src/sound/Sound.js line 78 + src/sound/Sound.js line 78 @@ -929,7 +929,7 @@
Type:
Source:
- src/sound/Sound.js line 83 + src/sound/Sound.js line 83 @@ -1006,7 +1006,7 @@
Type:
Source:
- src/sound/Sound.js line 160 + src/sound/Sound.js line 160 @@ -1083,7 +1083,7 @@
Type:
Source:
- src/sound/Sound.js line 126 + src/sound/Sound.js line 126 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/sound/Sound.js line 170 + src/sound/Sound.js line 170 @@ -1237,7 +1237,7 @@
Type:
Source:
- src/sound/Sound.js line 27 + src/sound/Sound.js line 27 @@ -1314,7 +1314,7 @@
Type:
Source:
- src/sound/Sound.js line 1142 + src/sound/Sound.js line 1142 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/sound/Sound.js line 1129 + src/sound/Sound.js line 1129 @@ -1468,7 +1468,7 @@
Type:
Source:
- src/sound/Sound.js line 115 + src/sound/Sound.js line 115 @@ -1545,7 +1545,7 @@
Type:
Source:
- src/sound/Sound.js line 37 + src/sound/Sound.js line 37 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/sound/Sound.js line 42 + src/sound/Sound.js line 42 @@ -1699,7 +1699,7 @@
Type:
Source:
- src/sound/Sound.js line 47 + src/sound/Sound.js line 47 @@ -1776,7 +1776,7 @@
Type:
Source:
- src/sound/Sound.js line 165 + src/sound/Sound.js line 165 @@ -1853,7 +1853,7 @@
Type:
Source:
- src/sound/Sound.js line 1155 + src/sound/Sound.js line 1155 @@ -1930,7 +1930,7 @@
Type:
Source:
- src/sound/Sound.js line 32 + src/sound/Sound.js line 32 @@ -1956,7 +1956,7 @@

-

The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files)

+

The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files). It passes one argument, this sound.

@@ -2007,7 +2007,7 @@
Type:
Source:
- src/sound/Sound.js line 240 + src/sound/Sound.js line 240 @@ -2033,7 +2033,7 @@

-

The onFadeComplete event is dispatched when this sound finishes fading either in or out.

+

The onFadeComplete event is dispatched when this sound finishes fading either in or out. It passes two arguments: this sound and its current volume.

@@ -2084,7 +2084,7 @@
Type:
Source:
- src/sound/Sound.js line 280 + src/sound/Sound.js line 280 @@ -2110,7 +2110,7 @@

-

The onLoop event is dispatched when this sound loops during playback.

+

The onLoop event is dispatched when this sound loops during playback. It passes one argument, this sound.

@@ -2161,7 +2161,7 @@
Type:
Source:
- src/sound/Sound.js line 260 + src/sound/Sound.js line 260 @@ -2187,7 +2187,7 @@

-

The onMarkerComplete event is dispatched when a marker within this sound completes playback.

+

The onMarkerComplete event is dispatched when a marker within this sound completes playback. It passes two arguments: the currentMarker and this sound.

@@ -2238,7 +2238,7 @@
Type:
Source:
- src/sound/Sound.js line 275 + src/sound/Sound.js line 275 @@ -2264,7 +2264,7 @@

-

The onMute event is dispatched when this sound is muted.

+

The onMute event is dispatched when this sound is muted. It passes one argument, this sound.

@@ -2315,7 +2315,7 @@
Type:
Source:
- src/sound/Sound.js line 270 + src/sound/Sound.js line 270 @@ -2341,7 +2341,7 @@

-

The onPause event is dispatched when this sound is paused.

+

The onPause event is dispatched when this sound is paused. It passes one argument, this sound.

@@ -2392,7 +2392,7 @@
Type:
Source:
- src/sound/Sound.js line 250 + src/sound/Sound.js line 250 @@ -2418,7 +2418,7 @@

-

The onPlay event is dispatched each time this sound is played.

+

The onPlay event is dispatched each time this sound is played or a looping marker is restarted. It passes one argument, this sound.

@@ -2469,7 +2469,7 @@
Type:
Source:
- src/sound/Sound.js line 245 + src/sound/Sound.js line 245 @@ -2495,7 +2495,7 @@

-

The onResume event is dispatched when this sound is resumed from a paused state.

+

The onResume event is dispatched when this sound is resumed from a paused state. It passes one argument, this sound.

@@ -2546,7 +2546,7 @@
Type:
Source:
- src/sound/Sound.js line 255 + src/sound/Sound.js line 255 @@ -2572,7 +2572,7 @@

-

The onStop event is dispatched when this sound stops playback.

+

The onStop event is dispatched when this sound stops playback or when a non-looping marker completes. It passes two arguments: this sound and any marker that was playing.

@@ -2623,7 +2623,7 @@
Type:
Source:
- src/sound/Sound.js line 265 + src/sound/Sound.js line 265 @@ -2700,7 +2700,7 @@
Type:
Source:
- src/sound/Sound.js line 138 + src/sound/Sound.js line 138 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/sound/Sound.js line 99 + src/sound/Sound.js line 99 @@ -2854,7 +2854,7 @@
Type:
Source:
- src/sound/Sound.js line 104 + src/sound/Sound.js line 104 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/sound/Sound.js line 109 + src/sound/Sound.js line 109 @@ -3008,7 +3008,7 @@
Type:
Source:
- src/sound/Sound.js line 132 + src/sound/Sound.js line 132 @@ -3085,7 +3085,7 @@
Type:
Source:
- src/sound/Sound.js line 88 + src/sound/Sound.js line 88 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/sound/Sound.js line 68 + src/sound/Sound.js line 68 @@ -3239,7 +3239,7 @@
Type:
Source:
- src/sound/Sound.js line 93 + src/sound/Sound.js line 93 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/sound/Sound.js line 62 + src/sound/Sound.js line 62 @@ -3393,7 +3393,7 @@
Type:
Source:
- src/sound/Sound.js line 155 + src/sound/Sound.js line 155 @@ -3470,7 +3470,7 @@
Type:
Source:
- src/sound/Sound.js line 150 + src/sound/Sound.js line 150 @@ -3547,7 +3547,7 @@
Type:
Source:
- src/sound/Sound.js line 1210 + src/sound/Sound.js line 1210 @@ -3848,7 +3848,7 @@
Parameters:
Source:
- src/sound/Sound.js line 368 + src/sound/Sound.js line 368 @@ -4002,7 +4002,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1089 + src/sound/Sound.js line 1089 @@ -4239,7 +4239,7 @@
Parameters:
Source:
- src/sound/Sound.js line 977 + src/sound/Sound.js line 977 @@ -4395,7 +4395,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1005 + src/sound/Sound.js line 1005 @@ -4589,7 +4589,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1019 + src/sound/Sound.js line 1019 @@ -4743,7 +4743,7 @@
Parameters:
Source:
- src/sound/Sound.js line 544 + src/sound/Sound.js line 544 @@ -4852,7 +4852,7 @@

Source:
- src/sound/Sound.js line 408 + src/sound/Sound.js line 408 @@ -4936,7 +4936,7 @@

Source:
- src/sound/Sound.js line 815 + src/sound/Sound.js line 815 @@ -5250,7 +5250,7 @@
Parameters:
Source:
- src/sound/Sound.js line 557 + src/sound/Sound.js line 557 @@ -5408,7 +5408,7 @@
Parameters:
Source:
- src/sound/Sound.js line 397 + src/sound/Sound.js line 397 @@ -5682,7 +5682,7 @@
Parameters:
Source:
- src/sound/Sound.js line 795 + src/sound/Sound.js line 795 @@ -5766,7 +5766,7 @@

Source:
- src/sound/Sound.js line 834 + src/sound/Sound.js line 834 @@ -5900,7 +5900,7 @@
Parameters:
Source:
- src/sound/Sound.js line 352 + src/sound/Sound.js line 352 @@ -5984,7 +5984,7 @@

Source:
- src/sound/Sound.js line 910 + src/sound/Sound.js line 910 @@ -6068,7 +6068,7 @@

Source:
- src/sound/Sound.js line 456 + src/sound/Sound.js line 456 @@ -6204,7 +6204,7 @@
Parameters:
Source:
- src/sound/Sound.js line 1066 + src/sound/Sound.js line 1066 @@ -6247,9 +6247,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6266,7 +6266,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6295,7 +6295,7 @@
Parameters:
- + diff --git a/docs/Phaser.SoundManager.html b/docs/Phaser.SoundManager.html index c0d6a71ad..6d12ef89a 100644 --- a/docs/Phaser.SoundManager.html +++ b/docs/Phaser.SoundManager.html @@ -6,7 +6,7 @@ Phaser CE Class: SoundManager - + @@ -240,7 +240,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 26 + src/sound/SoundManager.js line 26 @@ -352,7 +352,7 @@
Type:
Source:
- src/sound/SoundManager.js line 96 + src/sound/SoundManager.js line 103 @@ -436,7 +436,7 @@
Type:
Source:
- src/sound/SoundManager.js line 84 + src/sound/SoundManager.js line 91 @@ -513,7 +513,7 @@
Type:
Source:
- src/sound/SoundManager.js line 60 + src/sound/SoundManager.js line 67 @@ -590,7 +590,7 @@
Type:
Source:
- src/sound/SoundManager.js line 31 + src/sound/SoundManager.js line 31 @@ -667,7 +667,7 @@
Type:
Source:
- src/sound/SoundManager.js line 770 + src/sound/SoundManager.js line 803 @@ -753,7 +753,7 @@
Type:
Source:
- src/sound/SoundManager.js line 105 + src/sound/SoundManager.js line 112 @@ -830,7 +830,7 @@
Type:
Source:
- src/sound/SoundManager.js line 78 + src/sound/SoundManager.js line 85 @@ -907,7 +907,7 @@
Type:
Source:
- src/sound/SoundManager.js line 48 + src/sound/SoundManager.js line 48 @@ -984,7 +984,85 @@
Type:
Source:
- src/sound/SoundManager.js line 36 + src/sound/SoundManager.js line 36 + + + + + + + +

+ + + +
+ + + +
+

+ onTouchUnlock : Phaser.Signal + +

+ +
+
+ +
+

This signal is dispatched when the SoundManager is touch-unlocked. +If the device doesn't need touch-unlocking, the signal won't be dispatched.

+
+ + + +
Type:
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/sound/SoundManager.js line 61 @@ -1061,7 +1139,7 @@
Type:
Source:
- src/sound/SoundManager.js line 54 + src/sound/SoundManager.js line 54 @@ -1138,7 +1216,7 @@
Type:
Source:
- src/sound/SoundManager.js line 42 + src/sound/SoundManager.js line 42 @@ -1215,7 +1293,7 @@
Type:
Source:
- src/sound/SoundManager.js line 90 + src/sound/SoundManager.js line 97 @@ -1292,7 +1370,7 @@
Type:
Source:
- src/sound/SoundManager.js line 72 + src/sound/SoundManager.js line 79 @@ -1369,7 +1447,7 @@
Type:
Source:
- src/sound/SoundManager.js line 66 + src/sound/SoundManager.js line 73 @@ -1446,7 +1524,7 @@
Type:
Source:
- src/sound/SoundManager.js line 810 + src/sound/SoundManager.js line 843 @@ -1710,7 +1788,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 539 + src/sound/SoundManager.js line 566 @@ -1868,7 +1946,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 563 + src/sound/SoundManager.js line 590 @@ -1976,7 +2054,7 @@

Source:
- src/sound/SoundManager.js line 170 + src/sound/SoundManager.js line 177 @@ -2154,7 +2232,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 405 + src/sound/SoundManager.js line 433 @@ -2238,7 +2316,7 @@

Source:
- src/sound/SoundManager.js line 721 + src/sound/SoundManager.js line 770 @@ -2322,7 +2400,7 @@

Source:
- src/sound/SoundManager.js line 361 + src/sound/SoundManager.js line 389 @@ -2552,7 +2630,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 630 + src/sound/SoundManager.js line 679 @@ -2710,7 +2788,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 578 + src/sound/SoundManager.js line 605 @@ -2758,6 +2836,91 @@
Returns:
+
+ + + +
+

+ removeAll() + +

+ +
+
+ + +
+

Removes all Sounds from the SoundManager. +The removed Sounds are destroyed before removal.

+
+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/sound/SoundManager.js line 630 + + + + + + + +
+ + + + + + + + + + + + + + +
@@ -2869,7 +3032,7 @@

Parameters:
Source:
- src/sound/SoundManager.js line 603 + src/sound/SoundManager.js line 652 @@ -2977,7 +3140,7 @@

Source:
- src/sound/SoundManager.js line 383 + src/sound/SoundManager.js line 411 @@ -3165,7 +3328,7 @@
Parameters:
Source:
- src/sound/SoundManager.js line 442 + src/sound/SoundManager.js line 470 @@ -3250,7 +3413,7 @@

Source:
- src/sound/SoundManager.js line 271 + src/sound/SoundManager.js line 286 @@ -3334,7 +3497,7 @@

Source:
- src/sound/SoundManager.js line 339 + src/sound/SoundManager.js line 367 @@ -3418,7 +3581,7 @@

Source:
- src/sound/SoundManager.js line 290 + src/sound/SoundManager.js line 319 @@ -3526,7 +3689,7 @@

Source:
- src/sound/SoundManager.js line 492 + src/sound/SoundManager.js line 520 @@ -3569,9 +3732,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3588,7 +3751,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3617,7 +3780,7 @@

- + diff --git a/docs/Phaser.Sprite.html b/docs/Phaser.Sprite.html index edb215b03..30915f0d8 100644 --- a/docs/Phaser.Sprite.html +++ b/docs/Phaser.Sprite.html @@ -6,7 +6,7 @@ Phaser CE Class: Sprite - + @@ -341,7 +341,7 @@

Parameters:
Source:
- src/gameobjects/Sprite.js line 44 + src/gameobjects/Sprite.js line 44 @@ -519,7 +519,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -615,7 +615,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -705,7 +705,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -796,7 +796,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -883,7 +883,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -980,7 +980,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1074,7 +1074,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1264,7 +1264,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1531,7 +1531,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1618,7 +1618,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1710,7 +1710,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1796,7 +1796,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1882,7 +1882,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1970,7 +1970,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2152,7 +2152,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2239,7 +2239,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2326,7 +2326,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2412,7 +2412,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2499,7 +2499,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2586,7 +2586,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2691,7 +2691,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2961,7 +2961,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3052,7 +3052,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3143,7 +3143,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3230,7 +3230,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3316,7 +3316,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3410,7 +3410,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3506,7 +3506,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3594,7 +3594,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3686,7 +3686,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3777,7 +3777,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3870,7 +3870,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3956,7 +3956,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4058,7 +4058,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4145,7 +4145,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4235,7 +4235,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4324,7 +4324,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4418,7 +4418,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4593,7 +4593,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4681,7 +4681,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4767,7 +4767,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4854,7 +4854,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4943,7 +4943,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5032,7 +5032,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5109,7 +5109,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 61 + src/gameobjects/Sprite.js line 61 @@ -5196,7 +5196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5284,7 +5284,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5370,7 +5370,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5543,7 +5543,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5630,7 +5630,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5717,7 +5717,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5806,7 +5806,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5895,7 +5895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5983,7 +5983,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6071,7 +6071,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6165,7 +6165,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6253,7 +6253,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6339,7 +6339,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6365,7 +6365,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -6432,7 +6432,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6525,7 +6525,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6612,7 +6612,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6698,7 +6698,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6784,7 +6784,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6861,7 +6861,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 55 + src/gameobjects/Sprite.js line 55 @@ -6959,7 +6959,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7047,7 +7047,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7139,7 +7139,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7230,7 +7230,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7321,7 +7321,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7412,7 +7412,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7503,7 +7503,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7589,7 +7589,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7681,7 +7681,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7773,7 +7773,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7862,7 +7862,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -7999,7 +7999,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8190,7 +8190,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8533,7 +8533,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8877,7 +8877,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -8997,7 +8997,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9164,7 +9164,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9390,7 +9390,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9534,7 +9534,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9658,7 +9658,7 @@

Source:
- src/pixi/display/DisplayObject.js line 252 + src/pixi/display/DisplayObject.js line 252 @@ -9903,7 +9903,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10079,7 +10079,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -10246,7 +10246,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10413,7 +10413,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10530,7 +10530,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10697,7 +10697,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -10818,7 +10818,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -11103,7 +11103,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11199,7 +11199,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11319,7 +11319,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11502,7 +11502,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11808,7 +11808,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11925,7 +11925,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12014,7 +12014,7 @@

Source:
- src/gameobjects/Sprite.js line 107 + src/gameobjects/Sprite.js line 107 @@ -12131,7 +12131,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12274,7 +12274,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12441,7 +12441,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12632,7 +12632,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12871,7 +12871,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -12988,7 +12988,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13181,7 +13181,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13346,7 +13346,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -13466,7 +13466,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13657,7 +13657,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13801,7 +13801,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -13945,7 +13945,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14206,7 +14206,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -14406,7 +14406,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -14573,7 +14573,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14716,7 +14716,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14929,7 +14929,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -15050,7 +15050,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -15143,7 +15143,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15263,7 +15263,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -15426,7 +15426,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15495,9 +15495,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -15514,7 +15514,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -15543,7 +15543,7 @@
Returns:
- + diff --git a/docs/Phaser.SpriteBatch.html b/docs/Phaser.SpriteBatch.html index cdf4a92b3..b030c52d3 100644 --- a/docs/Phaser.SpriteBatch.html +++ b/docs/Phaser.SpriteBatch.html @@ -6,7 +6,7 @@ Phaser CE Class: SpriteBatch - + @@ -372,7 +372,7 @@
Parameters:
Source:
- src/gameobjects/SpriteBatch.js line 23 + src/gameobjects/SpriteBatch.js line 23 @@ -504,7 +504,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -679,7 +679,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -767,7 +767,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -947,7 +947,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/core/Group.js line 2910 + src/core/Group.js line 2910 @@ -1123,7 +1123,7 @@
Type:
Source:
- src/core/Group.js line 2938 + src/core/Group.js line 2938 @@ -1209,7 +1209,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1303,7 +1303,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1390,7 +1390,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -1744,7 +1744,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -1830,7 +1830,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1921,7 +1921,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2009,7 +2009,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2095,7 +2095,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2185,7 +2185,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2281,7 +2281,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2369,7 +2369,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2455,7 +2455,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2543,7 +2543,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -2631,7 +2631,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -2717,7 +2717,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -2806,7 +2806,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -2892,7 +2892,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -2982,7 +2982,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3072,7 +3072,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3162,7 +3162,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3253,7 +3253,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3339,7 +3339,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3428,7 +3428,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3518,7 +3518,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3605,7 +3605,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -3698,7 +3698,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -3784,7 +3784,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -3871,7 +3871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -3959,7 +3959,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4046,7 +4046,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4134,7 +4134,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4222,7 +4222,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4399,7 +4399,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -4485,7 +4485,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -4567,7 +4567,7 @@
Type:
Source:
- src/gameobjects/SpriteBatch.js line 33 + src/gameobjects/SpriteBatch.js line 33 @@ -4653,7 +4653,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -4739,7 +4739,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -4831,7 +4831,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -4922,7 +4922,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5013,7 +5013,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5104,7 +5104,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5195,7 +5195,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5281,7 +5281,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5369,7 +5369,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -5457,7 +5457,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -5544,7 +5544,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -5782,7 +5782,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6060,7 +6060,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6302,7 +6302,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6469,7 +6469,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -6660,7 +6660,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7062,7 +7062,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -7457,7 +7457,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -7800,7 +7800,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8144,7 +8144,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8335,7 +8335,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -8478,7 +8478,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -8741,7 +8741,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -8961,7 +8961,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9152,7 +9152,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -9468,7 +9468,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -9770,7 +9770,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10067,7 +10067,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10234,7 +10234,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10421,7 +10421,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -10538,7 +10538,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -10655,7 +10655,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11049,7 +11049,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -11456,7 +11456,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -11669,7 +11669,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -11836,7 +11836,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12040,7 +12040,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12256,7 +12256,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -12460,7 +12460,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -12764,7 +12764,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13002,7 +13002,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13240,7 +13240,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -13478,7 +13478,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -13723,7 +13723,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14031,7 +14031,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14200,7 +14200,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -14321,7 +14321,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -14503,7 +14503,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -14672,7 +14672,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -14839,7 +14839,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15006,7 +15006,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15257,7 +15257,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -15448,7 +15448,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -15807,7 +15807,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16166,7 +16166,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -16564,7 +16564,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -16815,7 +16815,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -16982,7 +16982,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17099,7 +17099,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -17326,7 +17326,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -17554,7 +17554,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -17672,7 +17672,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -17864,7 +17864,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18251,7 +18251,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -18368,7 +18368,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -18461,7 +18461,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -18660,7 +18660,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -18827,7 +18827,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -18994,7 +18994,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19234,7 +19234,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -19328,7 +19328,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -19445,7 +19445,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -19538,7 +19538,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -19632,7 +19632,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -19897,7 +19897,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20167,7 +20167,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -20444,7 +20444,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -20587,7 +20587,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -20754,7 +20754,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -20945,7 +20945,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21089,7 +21089,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -21282,7 +21282,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -21636,7 +21636,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -21942,7 +21942,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22130,7 +22130,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -22248,7 +22248,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -22341,7 +22341,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -22434,7 +22434,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -22637,7 +22637,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -22780,7 +22780,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -23196,7 +23196,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -23578,7 +23578,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -23936,7 +23936,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -24103,7 +24103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -24422,7 +24422,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -24540,7 +24540,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -24747,7 +24747,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -24963,7 +24963,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -25131,7 +25131,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -25298,7 +25298,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -25441,7 +25441,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -25654,7 +25654,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -25774,7 +25774,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -25867,7 +25867,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -26056,7 +26056,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -26176,7 +26176,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -26367,7 +26367,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -26410,9 +26410,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -26429,7 +26429,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -26458,7 +26458,7 @@
Parameters:
- + diff --git a/docs/Phaser.Stage.html b/docs/Phaser.Stage.html index 2091e9e1a..a1b7620f4 100644 --- a/docs/Phaser.Stage.html +++ b/docs/Phaser.Stage.html @@ -6,7 +6,7 @@ Phaser CE Class: Stage - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/core/Stage.js line 16 + src/core/Stage.js line 16 @@ -366,7 +366,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -446,7 +446,7 @@
Type:
Source:
- src/core/Stage.js line 434 + src/core/Stage.js line 434 @@ -546,7 +546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -632,7 +632,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -709,7 +709,7 @@
Type:
Source:
- src/core/Stage.js line 65 + src/core/Stage.js line 65 @@ -790,7 +790,7 @@
Type:
Source:
- src/core/Stage.js line 40 + src/core/Stage.js line 40 @@ -874,7 +874,7 @@
Type:
Source:
- src/core/Stage.js line 46 + src/core/Stage.js line 46 @@ -960,7 +960,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/core/Stage.js line 21 + src/core/Stage.js line 21 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -1312,7 +1312,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -1401,7 +1401,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -1485,7 +1485,7 @@
Type:
Source:
- src/core/Stage.js line 29 + src/core/Stage.js line 29 @@ -1574,7 +1574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -1661,7 +1661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -1836,7 +1836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -1925,7 +1925,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -2014,7 +2014,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -2091,7 +2091,7 @@
Type:
Source:
- src/core/Stage.js line 455 + src/core/Stage.js line 455 @@ -2189,7 +2189,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -2286,7 +2286,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -2377,7 +2377,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -2468,7 +2468,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -2559,7 +2559,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -2645,7 +2645,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -2732,7 +2732,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -2819,7 +2819,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -3029,7 +3029,7 @@
Parameters:
Source:
- src/core/Stage.js line 394 + src/core/Stage.js line 394 @@ -3196,7 +3196,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -3387,7 +3387,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -3496,7 +3496,7 @@

Source:
- src/core/Stage.js line 230 + src/core/Stage.js line 230 @@ -3639,7 +3639,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -3748,7 +3748,7 @@

Source:
- src/core/Stage.js line 372 + src/core/Stage.js line 372 @@ -3993,7 +3993,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -4177,7 +4177,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -4344,7 +4344,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -4511,7 +4511,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -4628,7 +4628,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -4786,7 +4786,7 @@
Parameters:
Source:
- src/core/Stage.js line 101 + src/core/Stage.js line 101 @@ -4872,7 +4872,7 @@

Source:
- src/core/Stage.js line 182 + src/core/Stage.js line 182 @@ -4962,7 +4962,7 @@

Source:
- src/core/Stage.js line 138 + src/core/Stage.js line 138 @@ -5105,7 +5105,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -5272,7 +5272,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -5463,7 +5463,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -5604,7 +5604,7 @@
Parameters:
Source:
- src/core/Stage.js line 343 + src/core/Stage.js line 343 @@ -5771,7 +5771,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -5938,7 +5938,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -6081,7 +6081,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -6294,7 +6294,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -6404,7 +6404,7 @@

Source:
- src/core/Stage.js line 165 + src/core/Stage.js line 165 @@ -6497,7 +6497,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -6613,7 +6613,7 @@

Source:
- src/core/Stage.js line 213 + src/core/Stage.js line 213 @@ -6753,7 +6753,7 @@
Parameters:
Source:
- src/core/Stage.js line 299 + src/core/Stage.js line 299 @@ -6796,9 +6796,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6815,7 +6815,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6844,7 +6844,7 @@
Parameters:
- + diff --git a/docs/Phaser.State.html b/docs/Phaser.State.html index 8db331b41..3d0f1c964 100644 --- a/docs/Phaser.State.html +++ b/docs/Phaser.State.html @@ -6,7 +6,7 @@ Phaser CE Class: State - + @@ -245,7 +245,7 @@

Callbacks

Source:
- src/core/State.js line 30 + src/core/State.js line 30 @@ -350,7 +350,7 @@
Type:
Source:
- src/core/State.js line 45 + src/core/State.js line 45 @@ -427,7 +427,7 @@
Type:
Source:
- src/core/State.js line 60 + src/core/State.js line 60 @@ -504,7 +504,7 @@
Type:
Source:
- src/core/State.js line 55 + src/core/State.js line 55 @@ -581,7 +581,7 @@
Type:
Source:
- src/core/State.js line 35 + src/core/State.js line 35 @@ -658,7 +658,7 @@
Type:
Source:
- src/core/State.js line 65 + src/core/State.js line 65 @@ -735,7 +735,7 @@
Type:
Source:
- src/core/State.js line 40 + src/core/State.js line 40 @@ -812,7 +812,7 @@
Type:
Source:
- src/core/State.js line 70 + src/core/State.js line 70 @@ -889,7 +889,7 @@
Type:
Source:
- src/core/State.js line 50 + src/core/State.js line 50 @@ -966,7 +966,7 @@
Type:
Source:
- src/core/State.js line 75 + src/core/State.js line 75 @@ -1043,7 +1043,7 @@
Type:
Source:
- src/core/State.js line 115 + src/core/State.js line 115 @@ -1120,7 +1120,7 @@
Type:
Source:
- src/core/State.js line 120 + src/core/State.js line 120 @@ -1197,7 +1197,7 @@
Type:
Source:
- src/core/State.js line 125 + src/core/State.js line 125 @@ -1274,7 +1274,7 @@
Type:
Source:
- src/core/State.js line 85 + src/core/State.js line 85 @@ -1351,7 +1351,7 @@
Type:
Source:
- src/core/State.js line 80 + src/core/State.js line 80 @@ -1428,7 +1428,7 @@
Type:
Source:
- src/core/State.js line 90 + src/core/State.js line 90 @@ -1543,7 +1543,7 @@
Properties:
Source:
- src/core/State.js line 95 + src/core/State.js line 95 @@ -1620,7 +1620,7 @@
Type:
Source:
- src/core/State.js line 100 + src/core/State.js line 100 @@ -1697,7 +1697,7 @@
Type:
Source:
- src/core/State.js line 105 + src/core/State.js line 105 @@ -1774,7 +1774,7 @@
Type:
Source:
- src/core/State.js line 110 + src/core/State.js line 110 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/core/State.js line 172 + src/core/State.js line 172 @@ -2051,7 +2051,7 @@
Parameters:
Source:
- src/core/State.js line 131 + src/core/State.js line 131 @@ -2186,7 +2186,7 @@
Parameters:
Source:
- src/core/State.js line 162 + src/core/State.js line 162 @@ -2320,7 +2320,7 @@
Parameters:
Source:
- src/core/State.js line 153 + src/core/State.js line 153 @@ -2454,7 +2454,7 @@
Parameters:
Source:
- src/core/State.js line 224 + src/core/State.js line 224 @@ -2588,7 +2588,7 @@
Parameters:
Source:
- src/core/State.js line 242 + src/core/State.js line 242 @@ -2724,7 +2724,7 @@
Parameters:
Source:
- src/core/State.js line 142 + src/core/State.js line 142 @@ -2882,7 +2882,7 @@
Parameters:
Source:
- src/core/State.js line 193 + src/core/State.js line 193 @@ -3018,7 +3018,7 @@
Parameters:
Source:
- src/core/State.js line 203 + src/core/State.js line 203 @@ -3176,7 +3176,7 @@
Parameters:
Source:
- src/core/State.js line 214 + src/core/State.js line 214 @@ -3310,7 +3310,7 @@
Parameters:
Source:
- src/core/State.js line 233 + src/core/State.js line 233 @@ -3444,7 +3444,7 @@
Parameters:
Source:
- src/core/State.js line 251 + src/core/State.js line 251 @@ -3580,7 +3580,7 @@
Parameters:
Source:
- src/core/State.js line 182 + src/core/State.js line 182 @@ -3623,9 +3623,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3642,7 +3642,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3671,7 +3671,7 @@
Parameters:
- + diff --git a/docs/Phaser.StateManager.html b/docs/Phaser.StateManager.html index fd23706e5..fa64ddf91 100644 --- a/docs/Phaser.StateManager.html +++ b/docs/Phaser.StateManager.html @@ -6,7 +6,7 @@ Phaser CE Class: StateManager - + @@ -289,7 +289,7 @@
Parameters:
Source:
- src/core/StateManager.js line 17 + src/core/StateManager.js line 17 @@ -394,7 +394,7 @@
Type:
Source:
- src/core/StateManager.js line 783 + src/core/StateManager.js line 789 @@ -471,7 +471,7 @@
Type:
Source:
- src/core/StateManager.js line 68 + src/core/StateManager.js line 68 @@ -548,7 +548,7 @@
Type:
Source:
- src/core/StateManager.js line 22 + src/core/StateManager.js line 22 @@ -625,7 +625,7 @@
Type:
Source:
- src/core/StateManager.js line 100 + src/core/StateManager.js line 100 @@ -702,7 +702,7 @@
Type:
Source:
- src/core/StateManager.js line 88 + src/core/StateManager.js line 88 @@ -779,7 +779,7 @@
Type:
Source:
- src/core/StateManager.js line 136 + src/core/StateManager.js line 136 @@ -856,7 +856,7 @@
Type:
Source:
- src/core/StateManager.js line 130 + src/core/StateManager.js line 130 @@ -933,7 +933,7 @@
Type:
Source:
- src/core/StateManager.js line 142 + src/core/StateManager.js line 142 @@ -1010,7 +1010,7 @@
Type:
Source:
- src/core/StateManager.js line 154 + src/core/StateManager.js line 154 @@ -1087,7 +1087,7 @@
Type:
Source:
- src/core/StateManager.js line 94 + src/core/StateManager.js line 94 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/core/StateManager.js line 124 + src/core/StateManager.js line 124 @@ -1241,7 +1241,7 @@
Type:
Source:
- src/core/StateManager.js line 112 + src/core/StateManager.js line 112 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/core/StateManager.js line 118 + src/core/StateManager.js line 118 @@ -1395,7 +1395,7 @@
Type:
Source:
- src/core/StateManager.js line 148 + src/core/StateManager.js line 148 @@ -1472,7 +1472,7 @@
Type:
Source:
- src/core/StateManager.js line 160 + src/core/StateManager.js line 160 @@ -1502,7 +1502,7 @@

It is dispatched only when the new state is started, which isn't usually at the same time as StateManager.start is called because state swapping is done in sync with the game loop. It is dispatched before any of the new states methods (such as preload and create) are called, and after the previous states shutdown method has been run.

-

The callback you specify is sent two parameters: the string based key of the new state, +

The callback you specify is sent two parameters: the string based key of the new state, and the second parameter is the string based key of the old / previous state.

@@ -1554,7 +1554,7 @@

Type:
Source:
- src/core/StateManager.js line 82 + src/core/StateManager.js line 82 @@ -1631,7 +1631,7 @@
Type:
Source:
- src/core/StateManager.js line 106 + src/core/StateManager.js line 106 @@ -1708,7 +1708,7 @@
Type:
Source:
- src/core/StateManager.js line 27 + src/core/StateManager.js line 27 @@ -1942,7 +1942,7 @@
Parameters:
Source:
- src/core/StateManager.js line 183 + src/core/StateManager.js line 183 @@ -2076,7 +2076,7 @@
Parameters:
Source:
- src/core/StateManager.js line 430 + src/core/StateManager.js line 430 @@ -2185,7 +2185,7 @@

Source:
- src/core/StateManager.js line 385 + src/core/StateManager.js line 385 @@ -2270,7 +2270,7 @@

Source:
- src/core/StateManager.js line 745 + src/core/StateManager.js line 751 @@ -2354,7 +2354,7 @@

Source:
- src/core/StateManager.js line 578 + src/core/StateManager.js line 584 @@ -2508,7 +2508,7 @@
Parameters:
Source:
- src/core/StateManager.js line 461 + src/core/StateManager.js line 461 @@ -2588,7 +2588,7 @@

Source:
- src/core/StateManager.js line 589 + src/core/StateManager.js line 595 @@ -2668,7 +2668,7 @@

Source:
- src/core/StateManager.js line 613 + src/core/StateManager.js line 619 @@ -2748,7 +2748,7 @@

Source:
- src/core/StateManager.js line 662 + src/core/StateManager.js line 668 @@ -2878,7 +2878,7 @@
Parameters:
Source:
- src/core/StateManager.js line 685 + src/core/StateManager.js line 691 @@ -2962,7 +2962,7 @@

Source:
- src/core/StateManager.js line 331 + src/core/StateManager.js line 331 @@ -3096,7 +3096,7 @@
Parameters:
Source:
- src/core/StateManager.js line 238 + src/core/StateManager.js line 238 @@ -3176,7 +3176,7 @@

Source:
- src/core/StateManager.js line 712 + src/core/StateManager.js line 718 @@ -3256,7 +3256,7 @@

Source:
- src/core/StateManager.js line 699 + src/core/StateManager.js line 705 @@ -3488,7 +3488,7 @@
Parameters:
Source:
- src/core/StateManager.js line 298 + src/core/StateManager.js line 298 @@ -3568,7 +3568,7 @@

Source:
- src/core/StateManager.js line 626 + src/core/StateManager.js line 632 @@ -3836,7 +3836,7 @@
Parameters:
Source:
- src/core/StateManager.js line 269 + src/core/StateManager.js line 269 @@ -3970,7 +3970,7 @@
Parameters:
Source:
- src/core/StateManager.js line 492 + src/core/StateManager.js line 494 @@ -4050,7 +4050,7 @@

Source:
- src/core/StateManager.js line 639 + src/core/StateManager.js line 645 @@ -4093,9 +4093,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -4112,7 +4112,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -4141,7 +4141,7 @@

- + diff --git a/docs/Phaser.Text.html b/docs/Phaser.Text.html index fc977547a..6c57ea14a 100644 --- a/docs/Phaser.Text.html +++ b/docs/Phaser.Text.html @@ -6,7 +6,7 @@ Phaser CE Class: Text - + @@ -1046,7 +1046,7 @@

Properties
Source:
- src/gameobjects/Text.js line 40 + src/gameobjects/Text.js line 40 @@ -1164,7 +1164,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1914 + src/gameobjects/Text.js line 1914 @@ -1261,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -1447,7 +1447,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -1538,7 +1538,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1625,7 +1625,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1800,7 +1800,7 @@
Type:
Source:
- src/gameobjects/Text.js line 117 + src/gameobjects/Text.js line 117 @@ -1894,7 +1894,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1997,7 +1997,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -2084,7 +2084,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1991 + src/gameobjects/Text.js line 1991 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2015 + src/gameobjects/Text.js line 2015 @@ -2331,7 +2331,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -2418,7 +2418,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -2495,7 +2495,7 @@
Type:
Source:
- src/gameobjects/Text.js line 84 + src/gameobjects/Text.js line 84 @@ -2582,7 +2582,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -2746,7 +2746,7 @@
Type:
Source:
- src/gameobjects/Text.js line 144 + src/gameobjects/Text.js line 144 @@ -2824,7 +2824,7 @@
Type:
Source:
- src/gameobjects/Text.js line 150 + src/gameobjects/Text.js line 150 @@ -2916,7 +2916,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -3002,7 +3002,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -3079,7 +3079,7 @@
Type:
Source:
- src/gameobjects/Text.js line 94 + src/gameobjects/Text.js line 94 @@ -3165,7 +3165,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -3242,7 +3242,7 @@
Type:
Source:
- src/gameobjects/Text.js line 89 + src/gameobjects/Text.js line 89 @@ -3330,7 +3330,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -3410,7 +3410,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1726 + src/gameobjects/Text.js line 1726 @@ -3506,7 +3506,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -3592,7 +3592,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -3679,7 +3679,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -3766,7 +3766,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -3852,7 +3852,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -3939,7 +3939,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -4026,7 +4026,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -4126,7 +4126,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -4203,7 +4203,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1892 + src/gameobjects/Text.js line 1892 @@ -4289,7 +4289,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -4380,7 +4380,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -4473,7 +4473,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -4553,7 +4553,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1752 + src/gameobjects/Text.js line 1752 @@ -4635,7 +4635,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1787 + src/gameobjects/Text.js line 1787 @@ -4712,7 +4712,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1850 + src/gameobjects/Text.js line 1850 @@ -4789,7 +4789,7 @@
Type:
Source:
- src/gameobjects/Text.js line 104 + src/gameobjects/Text.js line 104 @@ -4866,7 +4866,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1871 + src/gameobjects/Text.js line 1871 @@ -4943,7 +4943,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1829 + src/gameobjects/Text.js line 1829 @@ -5020,7 +5020,7 @@
Type:
Source:
- src/gameobjects/Text.js line 109 + src/gameobjects/Text.js line 109 @@ -5111,7 +5111,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -5202,7 +5202,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -5289,7 +5289,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -5375,7 +5375,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -5469,7 +5469,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -5546,7 +5546,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2312 + src/gameobjects/Text.js line 2312 @@ -5642,7 +5642,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -5730,7 +5730,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -5817,7 +5817,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -5908,7 +5908,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -6001,7 +6001,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -6087,7 +6087,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -6189,7 +6189,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -6276,7 +6276,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -6366,7 +6366,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -6443,7 +6443,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2127 + src/gameobjects/Text.js line 2127 @@ -6532,7 +6532,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -6626,7 +6626,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -6713,7 +6713,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -6801,7 +6801,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -6889,7 +6889,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -6975,7 +6975,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -7062,7 +7062,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -7140,7 +7140,7 @@
Type:
Source:
- src/gameobjects/Text.js line 71 + src/gameobjects/Text.js line 71 @@ -7229,7 +7229,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -7318,7 +7318,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -7400,7 +7400,7 @@
Type:
Source:
- src/gameobjects/Text.js line 64 + src/gameobjects/Text.js line 64 @@ -7487,7 +7487,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -7575,7 +7575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -7661,7 +7661,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -7747,7 +7747,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -7839,7 +7839,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -7926,7 +7926,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -8004,7 +8004,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1940 + src/gameobjects/Text.js line 1940 @@ -8091,7 +8091,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -8180,7 +8180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -8269,7 +8269,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -8357,7 +8357,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -8445,7 +8445,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -8539,7 +8539,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -8616,7 +8616,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2220 + src/gameobjects/Text.js line 2220 @@ -8693,7 +8693,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2198 + src/gameobjects/Text.js line 2198 @@ -8770,7 +8770,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2264 + src/gameobjects/Text.js line 2264 @@ -8847,7 +8847,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2154 + src/gameobjects/Text.js line 2154 @@ -8924,7 +8924,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2176 + src/gameobjects/Text.js line 2176 @@ -9001,7 +9001,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2242 + src/gameobjects/Text.js line 2242 @@ -9089,7 +9089,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -9168,7 +9168,7 @@
Type:
Source:
- src/gameobjects/Text.js line 138 + src/gameobjects/Text.js line 138 @@ -9245,7 +9245,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2039 + src/gameobjects/Text.js line 2039 @@ -9322,7 +9322,7 @@
Type:
Source:
- src/gameobjects/Text.js line 99 + src/gameobjects/Text.js line 99 @@ -9399,7 +9399,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2061 + src/gameobjects/Text.js line 2061 @@ -9482,7 +9482,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1964 + src/gameobjects/Text.js line 1964 @@ -9561,7 +9561,7 @@
Type:
Source:
- src/gameobjects/Text.js line 1695 + src/gameobjects/Text.js line 1695 @@ -9639,7 +9639,7 @@
Type:
Source:
- src/gameobjects/Text.js line 79 + src/gameobjects/Text.js line 79 @@ -9725,7 +9725,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -9751,7 +9751,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -9818,7 +9818,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -9911,7 +9911,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -9998,7 +9998,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -10084,7 +10084,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -10170,7 +10170,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -10252,7 +10252,7 @@
Type:
Source:
- src/gameobjects/Text.js line 58 + src/gameobjects/Text.js line 58 @@ -10333,7 +10333,7 @@
Type:
Source:
- src/gameobjects/Text.js line 130 + src/gameobjects/Text.js line 130 @@ -10431,7 +10431,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -10508,7 +10508,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2286 + src/gameobjects/Text.js line 2286 @@ -10585,7 +10585,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2083 + src/gameobjects/Text.js line 2083 @@ -10662,7 +10662,7 @@
Type:
Source:
- src/gameobjects/Text.js line 2105 + src/gameobjects/Text.js line 2105 @@ -10750,7 +10750,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -10842,7 +10842,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -10933,7 +10933,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -11024,7 +11024,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -11115,7 +11115,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -11206,7 +11206,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -11292,7 +11292,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -11379,7 +11379,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -11466,7 +11466,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -11555,7 +11555,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -11692,7 +11692,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -11883,7 +11883,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -12070,7 +12070,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 857 + src/gameobjects/Text.js line 857 @@ -12257,7 +12257,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 907 + src/gameobjects/Text.js line 907 @@ -12444,7 +12444,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 931 + src/gameobjects/Text.js line 931 @@ -12632,7 +12632,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 881 + src/gameobjects/Text.js line 881 @@ -12975,7 +12975,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -13319,7 +13319,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -13439,7 +13439,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -13547,7 +13547,7 @@

Source:
- src/gameobjects/Text.js line 825 + src/gameobjects/Text.js line 825 @@ -13655,7 +13655,7 @@

Source:
- src/gameobjects/Text.js line 841 + src/gameobjects/Text.js line 841 @@ -13822,7 +13822,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -14048,7 +14048,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -14192,7 +14192,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -14375,7 +14375,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 241 + src/gameobjects/Text.js line 241 @@ -14620,7 +14620,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14786,7 +14786,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1659 + src/gameobjects/Text.js line 1659 @@ -14953,7 +14953,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15120,7 +15120,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15237,7 +15237,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -15404,7 +15404,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -15525,7 +15525,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -15810,7 +15810,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -15906,7 +15906,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -16026,7 +16026,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -16209,7 +16209,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -16376,7 +16376,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1314 + src/gameobjects/Text.js line 1314 @@ -16682,7 +16682,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -16799,7 +16799,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -16936,7 +16936,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 955 + src/gameobjects/Text.js line 955 @@ -17049,7 +17049,7 @@

Source:
- src/gameobjects/Text.js line 214 + src/gameobjects/Text.js line 214 @@ -17142,7 +17142,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -17285,7 +17285,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -17452,7 +17452,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -17643,7 +17643,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -17882,7 +17882,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -17999,7 +17999,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -18192,7 +18192,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -18357,7 +18357,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -18477,7 +18477,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -18682,7 +18682,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1679 + src/gameobjects/Text.js line 1679 @@ -18849,7 +18849,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -18993,7 +18993,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -19137,7 +19137,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -19398,7 +19398,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -19755,7 +19755,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 255 + src/gameobjects/Text.js line 255 @@ -20647,7 +20647,7 @@
Properties
Source:
- src/gameobjects/Text.js line 291 + src/gameobjects/Text.js line 291 @@ -20868,7 +20868,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1280 + src/gameobjects/Text.js line 1280 @@ -21155,7 +21155,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 1375 + src/gameobjects/Text.js line 1375 @@ -21379,7 +21379,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -21546,7 +21546,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -21689,7 +21689,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -21902,7 +21902,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -22017,7 +22017,7 @@

Source:
- src/gameobjects/Text.js line 231 + src/gameobjects/Text.js line 231 @@ -22110,7 +22110,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -22230,7 +22230,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -22365,7 +22365,7 @@
Parameters:
Source:
- src/gameobjects/Text.js line 680 + src/gameobjects/Text.js line 680 @@ -22528,7 +22528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -22597,9 +22597,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -22616,7 +22616,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -22645,7 +22645,7 @@
Returns:
- + diff --git a/docs/Phaser.Tile.html b/docs/Phaser.Tile.html index d8b58065e..fff0b3bdc 100644 --- a/docs/Phaser.Tile.html +++ b/docs/Phaser.Tile.html @@ -6,7 +6,7 @@ Phaser CE Class: Tile - + @@ -350,7 +350,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 19 + src/tilemap/Tile.js line 19 @@ -455,7 +455,7 @@
Type:
Source:
- src/tilemap/Tile.js line 84 + src/tilemap/Tile.js line 84 @@ -532,7 +532,7 @@
Type:
Source:
- src/tilemap/Tile.js line 396 + src/tilemap/Tile.js line 402 @@ -609,7 +609,7 @@
Type:
Source:
- src/tilemap/Tile.js line 344 + src/tilemap/Tile.js line 350 @@ -724,7 +724,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 74 + src/tilemap/Tile.js line 74 @@ -839,7 +839,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 79 + src/tilemap/Tile.js line 79 @@ -916,7 +916,7 @@
Type:
Source:
- src/tilemap/Tile.js line 138 + src/tilemap/Tile.js line 138 @@ -993,7 +993,7 @@
Type:
Source:
- src/tilemap/Tile.js line 120 + src/tilemap/Tile.js line 120 @@ -1070,7 +1070,7 @@
Type:
Source:
- src/tilemap/Tile.js line 126 + src/tilemap/Tile.js line 126 @@ -1147,7 +1147,7 @@
Type:
Source:
- src/tilemap/Tile.js line 331 + src/tilemap/Tile.js line 337 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/tilemap/Tile.js line 132 + src/tilemap/Tile.js line 132 @@ -1301,7 +1301,7 @@
Type:
Source:
- src/tilemap/Tile.js line 144 + src/tilemap/Tile.js line 144 @@ -1378,7 +1378,80 @@
Type:
Source:
- src/tilemap/Tile.js line 150 + src/tilemap/Tile.js line 150 + + + + + + + + + + + +
+ + + +
+

+ debug : boolean + +

+ +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/tilemap/Tile.js line 156 @@ -1455,7 +1528,7 @@
Type:
Source:
- src/tilemap/Tile.js line 104 + src/tilemap/Tile.js line 104 @@ -1532,7 +1605,7 @@
Type:
Source:
- src/tilemap/Tile.js line 109 + src/tilemap/Tile.js line 109 @@ -1609,7 +1682,7 @@
Type:
Source:
- src/tilemap/Tile.js line 114 + src/tilemap/Tile.js line 114 @@ -1686,7 +1759,7 @@
Type:
Source:
- src/tilemap/Tile.js line 99 + src/tilemap/Tile.js line 99 @@ -1763,7 +1836,7 @@
Type:
Source:
- src/tilemap/Tile.js line 49 + src/tilemap/Tile.js line 49 @@ -1840,7 +1913,7 @@
Type:
Source:
- src/tilemap/Tile.js line 69 + src/tilemap/Tile.js line 69 @@ -1917,7 +1990,7 @@
Type:
Source:
- src/tilemap/Tile.js line 29 + src/tilemap/Tile.js line 29 @@ -1994,7 +2067,7 @@
Type:
Source:
- src/tilemap/Tile.js line 24 + src/tilemap/Tile.js line 24 @@ -2071,7 +2144,7 @@
Type:
Source:
- src/tilemap/Tile.js line 357 + src/tilemap/Tile.js line 363 @@ -2148,7 +2221,7 @@
Type:
Source:
- src/tilemap/Tile.js line 89 + src/tilemap/Tile.js line 89 @@ -2225,7 +2298,7 @@
Type:
Source:
- src/tilemap/Tile.js line 370 + src/tilemap/Tile.js line 376 @@ -2302,7 +2375,7 @@
Type:
Source:
- src/tilemap/Tile.js line 44 + src/tilemap/Tile.js line 44 @@ -2379,7 +2452,7 @@
Type:
Source:
- src/tilemap/Tile.js line 94 + src/tilemap/Tile.js line 94 @@ -2456,7 +2529,7 @@
Type:
Source:
- src/tilemap/Tile.js line 383 + src/tilemap/Tile.js line 389 @@ -2533,7 +2606,7 @@
Type:
Source:
- src/tilemap/Tile.js line 64 + src/tilemap/Tile.js line 64 @@ -2648,7 +2721,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 54 + src/tilemap/Tile.js line 54 @@ -2763,7 +2836,7 @@
Properties:
Source:
- src/tilemap/Tile.js line 59 + src/tilemap/Tile.js line 59 @@ -2840,7 +2913,7 @@
Type:
Source:
- src/tilemap/Tile.js line 34 + src/tilemap/Tile.js line 34 @@ -2917,7 +2990,7 @@
Type:
Source:
- src/tilemap/Tile.js line 39 + src/tilemap/Tile.js line 39 @@ -3069,7 +3142,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 156 + src/tilemap/Tile.js line 162 @@ -3227,7 +3300,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 305 + src/tilemap/Tile.js line 311 @@ -3311,7 +3384,7 @@

Source:
- src/tilemap/Tile.js line 220 + src/tilemap/Tile.js line 226 @@ -3517,7 +3590,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 170 + src/tilemap/Tile.js line 176 @@ -3675,7 +3748,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 275 + src/tilemap/Tile.js line 281 @@ -3783,7 +3856,7 @@

Source:
- src/tilemap/Tile.js line 256 + src/tilemap/Tile.js line 262 @@ -3989,7 +4062,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 233 + src/tilemap/Tile.js line 239 @@ -4148,7 +4221,7 @@
Parameters:
Source:
- src/tilemap/Tile.js line 205 + src/tilemap/Tile.js line 211 @@ -4191,9 +4264,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -4210,7 +4283,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -4239,7 +4312,7 @@
Parameters:
- + diff --git a/docs/Phaser.TileSprite.html b/docs/Phaser.TileSprite.html index 4e89ebfe3..901bbfa2f 100644 --- a/docs/Phaser.TileSprite.html +++ b/docs/Phaser.TileSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: TileSprite - + @@ -502,7 +502,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 59 + src/gameobjects/TileSprite.js line 59 @@ -674,7 +674,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -770,7 +770,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -860,7 +860,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -951,7 +951,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1038,7 +1038,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -1135,7 +1135,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1229,7 +1229,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1332,7 +1332,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1419,7 +1419,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1512,7 +1512,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1599,7 +1599,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1676,7 +1676,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 116 + src/gameobjects/TileSprite.js line 116 @@ -1763,7 +1763,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1850,7 +1850,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1942,7 +1942,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -2028,7 +2028,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -2114,7 +2114,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -2210,7 +2210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2296,7 +2296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 240 + src/gameobjects/components/Core.js line 240 @@ -2383,7 +2383,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2470,7 +2470,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 112 + src/pixi/display/Sprite.js line 112 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2752,7 +2752,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -2936,7 +2936,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3027,7 +3027,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3114,7 +3114,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3200,7 +3200,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3294,7 +3294,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3390,7 +3390,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3478,7 +3478,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -3570,7 +3570,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3661,7 +3661,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3754,7 +3754,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3840,7 +3840,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -3942,7 +3942,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4029,7 +4029,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4119,7 +4119,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4208,7 +4208,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -4302,7 +4302,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4389,7 +4389,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -4477,7 +4477,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4565,7 +4565,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -4651,7 +4651,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -4738,7 +4738,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -4827,7 +4827,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -4916,7 +4916,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -4993,7 +4993,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 80 + src/gameobjects/TileSprite.js line 80 @@ -5080,7 +5080,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5168,7 +5168,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5254,7 +5254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -5418,7 +5418,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 138 + src/gameobjects/TileSprite.js line 138 @@ -5505,7 +5505,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -5592,7 +5592,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -5679,7 +5679,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -5768,7 +5768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -5857,7 +5857,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -5951,7 +5951,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -6039,7 +6039,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6130,7 +6130,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -6208,7 +6208,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 109 + src/gameobjects/TileSprite.js line 109 @@ -6285,7 +6285,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 130 + src/gameobjects/TileSprite.js line 130 @@ -6362,7 +6362,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 101 + src/gameobjects/TileSprite.js line 101 @@ -6439,7 +6439,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 91 + src/gameobjects/TileSprite.js line 91 @@ -6516,7 +6516,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 96 + src/gameobjects/TileSprite.js line 96 @@ -6593,7 +6593,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 123 + src/gameobjects/TileSprite.js line 123 @@ -6619,7 +6619,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -6686,7 +6686,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -6784,7 +6784,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -6871,7 +6871,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -6948,7 +6948,7 @@
Type:
Source:
- src/gameobjects/TileSprite.js line 74 + src/gameobjects/TileSprite.js line 74 @@ -7046,7 +7046,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -7134,7 +7134,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -7226,7 +7226,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -7317,7 +7317,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -7408,7 +7408,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -7499,7 +7499,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -7590,7 +7590,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -7676,7 +7676,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -7768,7 +7768,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -7860,7 +7860,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -7949,7 +7949,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -8086,7 +8086,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -8277,7 +8277,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -8620,7 +8620,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -8964,7 +8964,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -9149,7 +9149,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 206 + src/gameobjects/TileSprite.js line 206 @@ -9269,7 +9269,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9436,7 +9436,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -9600,7 +9600,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9784,7 +9784,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 241 + src/gameobjects/TileSprite.js line 241 @@ -10029,7 +10029,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -10189,7 +10189,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 525 + src/gameobjects/TileSprite.js line 525 @@ -10278,7 +10278,7 @@

Source:
- src/gameobjects/TileSprite.js line 614 + src/gameobjects/TileSprite.js line 614 @@ -10445,7 +10445,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -10612,7 +10612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -10729,7 +10729,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -10896,7 +10896,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -11017,7 +11017,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -11302,7 +11302,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11398,7 +11398,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -11518,7 +11518,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -11701,7 +11701,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12007,7 +12007,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12124,7 +12124,7 @@

Source:
- src/gameobjects/components/Core.js line 385 + src/gameobjects/components/Core.js line 385 @@ -12213,7 +12213,7 @@

Source:
- src/gameobjects/TileSprite.js line 178 + src/gameobjects/TileSprite.js line 178 @@ -12326,7 +12326,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -12469,7 +12469,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -12636,7 +12636,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -12827,7 +12827,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -12992,7 +12992,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 273 + src/gameobjects/TileSprite.js line 273 @@ -13109,7 +13109,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -13302,7 +13302,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -13467,7 +13467,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -13587,7 +13587,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -13778,7 +13778,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -13922,7 +13922,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -14066,7 +14066,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -14230,7 +14230,7 @@
Parameters:
Source:
- src/gameobjects/TileSprite.js line 295 + src/gameobjects/TileSprite.js line 295 @@ -14338,7 +14338,7 @@

Source:
- src/gameobjects/TileSprite.js line 226 + src/gameobjects/TileSprite.js line 226 @@ -14529,7 +14529,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -14672,7 +14672,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -14885,7 +14885,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -15006,7 +15006,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -15099,7 +15099,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -15288,7 +15288,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -15357,9 +15357,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -15376,7 +15376,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -15405,7 +15405,7 @@
Returns:
- + diff --git a/docs/Phaser.Tilemap.html b/docs/Phaser.Tilemap.html index 1f24217ab..3cd6c9789 100644 --- a/docs/Phaser.Tilemap.html +++ b/docs/Phaser.Tilemap.html @@ -6,7 +6,7 @@ Phaser CE Class: Tilemap - + @@ -451,7 +451,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 28 + src/tilemap/Tilemap.js line 28 @@ -552,7 +552,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 176 + src/tilemap/Tilemap.js line 176 @@ -625,7 +625,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 194 + src/tilemap/Tilemap.js line 194 @@ -698,7 +698,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 188 + src/tilemap/Tilemap.js line 188 @@ -771,7 +771,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 200 + src/tilemap/Tilemap.js line 200 @@ -844,7 +844,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 182 + src/tilemap/Tilemap.js line 182 @@ -917,7 +917,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 206 + src/tilemap/Tilemap.js line 206 @@ -994,7 +994,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 125 + src/tilemap/Tilemap.js line 125 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 130 + src/tilemap/Tilemap.js line 130 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 145 + src/tilemap/Tilemap.js line 145 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 150 + src/tilemap/Tilemap.js line 150 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 140 + src/tilemap/Tilemap.js line 140 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 75 + src/tilemap/Tilemap.js line 75 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 33 + src/tilemap/Tilemap.js line 33 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 55 + src/tilemap/Tilemap.js line 55 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 95 + src/tilemap/Tilemap.js line 95 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 110 + src/tilemap/Tilemap.js line 110 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 135 + src/tilemap/Tilemap.js line 135 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 38 + src/tilemap/Tilemap.js line 38 @@ -1924,7 +1924,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 1990 + src/tilemap/Tilemap.js line 1990 @@ -2001,7 +2001,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 100 + src/tilemap/Tilemap.js line 100 @@ -2078,7 +2078,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 120 + src/tilemap/Tilemap.js line 120 @@ -2155,7 +2155,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 70 + src/tilemap/Tilemap.js line 70 @@ -2232,7 +2232,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 85 + src/tilemap/Tilemap.js line 85 @@ -2309,7 +2309,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 65 + src/tilemap/Tilemap.js line 65 @@ -2386,7 +2386,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 115 + src/tilemap/Tilemap.js line 115 @@ -2463,7 +2463,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 105 + src/tilemap/Tilemap.js line 105 @@ -2540,7 +2540,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 60 + src/tilemap/Tilemap.js line 60 @@ -2617,7 +2617,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 80 + src/tilemap/Tilemap.js line 80 @@ -2694,7 +2694,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 50 + src/tilemap/Tilemap.js line 50 @@ -2771,7 +2771,7 @@
Type:
Source:
- src/tilemap/Tilemap.js line 90 + src/tilemap/Tilemap.js line 90 @@ -3159,7 +3159,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 253 + src/tilemap/Tilemap.js line 253 @@ -3317,7 +3317,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1116 + src/tilemap/Tilemap.js line 1116 @@ -3597,7 +3597,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1586 + src/tilemap/Tilemap.js line 1586 @@ -3927,7 +3927,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 210 + src/tilemap/Tilemap.js line 210 @@ -4257,7 +4257,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 649 + src/tilemap/Tilemap.js line 649 @@ -4796,7 +4796,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 379 + src/tilemap/Tilemap.js line 379 @@ -5149,7 +5149,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 480 + src/tilemap/Tilemap.js line 480 @@ -5425,7 +5425,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 574 + src/tilemap/Tilemap.js line 574 @@ -5534,7 +5534,7 @@

Source:
- src/tilemap/Tilemap.js line 1972 + src/tilemap/Tilemap.js line 1972 @@ -5618,7 +5618,7 @@

Source:
- src/tilemap/Tilemap.js line 1931 + src/tilemap/Tilemap.js line 1931 @@ -5930,7 +5930,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1888 + src/tilemap/Tilemap.js line 1888 @@ -6274,7 +6274,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1737 + src/tilemap/Tilemap.js line 1737 @@ -6408,7 +6408,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 780 + src/tilemap/Tilemap.js line 780 @@ -6590,7 +6590,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 731 + src/tilemap/Tilemap.js line 731 @@ -6754,7 +6754,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1053 + src/tilemap/Tilemap.js line 1053 @@ -6912,7 +6912,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 754 + src/tilemap/Tilemap.js line 754 @@ -7206,7 +7206,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1519 + src/tilemap/Tilemap.js line 1519 @@ -7413,7 +7413,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1186 + src/tilemap/Tilemap.js line 1186 @@ -7596,7 +7596,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1206 + src/tilemap/Tilemap.js line 1206 @@ -7779,7 +7779,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1226 + src/tilemap/Tilemap.js line 1226 @@ -7962,7 +7962,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1246 + src/tilemap/Tilemap.js line 1246 @@ -8096,7 +8096,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 767 + src/tilemap/Tilemap.js line 767 @@ -8466,7 +8466,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1560 + src/tilemap/Tilemap.js line 1560 @@ -8678,7 +8678,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1283 + src/tilemap/Tilemap.js line 1283 @@ -8950,7 +8950,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1648 + src/tilemap/Tilemap.js line 1648 @@ -9205,7 +9205,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1358 + src/tilemap/Tilemap.js line 1358 @@ -9544,7 +9544,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1429 + src/tilemap/Tilemap.js line 1429 @@ -9848,7 +9848,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1801 + src/tilemap/Tilemap.js line 1801 @@ -9932,7 +9932,7 @@

Source:
- src/tilemap/Tilemap.js line 1919 + src/tilemap/Tilemap.js line 1919 @@ -10148,7 +10148,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1305 + src/tilemap/Tilemap.js line 1305 @@ -10452,7 +10452,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1336 + src/tilemap/Tilemap.js line 1336 @@ -10820,7 +10820,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1766 + src/tilemap/Tilemap.js line 1766 @@ -11097,7 +11097,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1452 + src/tilemap/Tilemap.js line 1452 @@ -11401,7 +11401,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 874 + src/tilemap/Tilemap.js line 874 @@ -11713,7 +11713,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 916 + src/tilemap/Tilemap.js line 916 @@ -11988,7 +11988,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 953 + src/tilemap/Tilemap.js line 953 @@ -12257,7 +12257,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 987 + src/tilemap/Tilemap.js line 987 @@ -12397,7 +12397,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1266 + src/tilemap/Tilemap.js line 1266 @@ -12532,7 +12532,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1087 + src/tilemap/Tilemap.js line 1087 @@ -12786,7 +12786,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 793 + src/tilemap/Tilemap.js line 793 @@ -13133,7 +13133,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 840 + src/tilemap/Tilemap.js line 840 @@ -13291,7 +13291,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 237 + src/tilemap/Tilemap.js line 237 @@ -13571,7 +13571,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1846 + src/tilemap/Tilemap.js line 1846 @@ -13915,7 +13915,7 @@
Parameters:
Source:
- src/tilemap/Tilemap.js line 1683 + src/tilemap/Tilemap.js line 1683 @@ -13958,9 +13958,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -13977,7 +13977,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -14006,7 +14006,7 @@
Parameters:
- + diff --git a/docs/Phaser.TilemapLayer.html b/docs/Phaser.TilemapLayer.html index 96157d6c5..51d8e6173 100644 --- a/docs/Phaser.TilemapLayer.html +++ b/docs/Phaser.TilemapLayer.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapLayer - + @@ -328,7 +328,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 23 + src/tilemap/TilemapLayer.js line 23 @@ -464,7 +464,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 56 + src/gameobjects/components/LifeSpan.js line 56 @@ -560,7 +560,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 73 + src/pixi/display/DisplayObject.js line 73 @@ -650,7 +650,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 28 + src/pixi/display/Sprite.js line 28 @@ -741,7 +741,7 @@
Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -828,7 +828,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 215 + src/gameobjects/components/Core.js line 215 @@ -925,7 +925,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1019,7 +1019,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 93 + src/pixi/display/Sprite.js line 93 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 99 + src/gameobjects/components/PhysicsBody.js line 99 @@ -1209,7 +1209,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 168 + src/gameobjects/components/Bounds.js line 168 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1389,7 +1389,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 85 + src/gameobjects/components/FixedToCamera.js line 85 @@ -1466,7 +1466,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 59 + src/tilemap/TilemapLayer.js line 59 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 58 + src/gameobjects/components/Bounds.js line 58 @@ -1640,7 +1640,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 80 + src/gameobjects/components/Bounds.js line 80 @@ -1732,7 +1732,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 104 + src/gameobjects/components/InWorld.js line 104 @@ -1818,7 +1818,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1904,7 +1904,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 189 + src/gameobjects/components/Core.js line 189 @@ -1992,7 +1992,7 @@
Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2088,7 +2088,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 182 + src/gameobjects/components/Core.js line 182 @@ -2170,7 +2170,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 110 + src/tilemap/TilemapLayer.js line 110 @@ -2455,7 +2455,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 133 + src/tilemap/TilemapLayer.js line 133 @@ -2542,7 +2542,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2629,7 +2629,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 42 + src/gameobjects/components/Delta.js line 42 @@ -2715,7 +2715,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 58 + src/gameobjects/components/Delta.js line 58 @@ -2802,7 +2802,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2879,7 +2879,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 167 + src/tilemap/TilemapLayer.js line 167 @@ -2966,7 +2966,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 207 + src/gameobjects/components/Core.js line 207 @@ -3055,7 +3055,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 115 + src/tilemap/TilemapLayer.js line 115 @@ -3141,7 +3141,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -3232,7 +3232,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -3330,7 +3330,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 55 + src/gameobjects/components/FixedToCamera.js line 55 @@ -3421,7 +3421,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 259 + src/gameobjects/components/LoadTexture.js line 259 @@ -3512,7 +3512,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 284 + src/gameobjects/components/LoadTexture.js line 284 @@ -3599,7 +3599,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 270 + src/gameobjects/components/Core.js line 270 @@ -3685,7 +3685,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 164 + src/gameobjects/components/Core.js line 164 @@ -3779,7 +3779,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3875,7 +3875,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -3963,7 +3963,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -4050,7 +4050,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -4127,7 +4127,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 44 + src/tilemap/TilemapLayer.js line 44 @@ -4218,7 +4218,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4397,7 +4397,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 135 + src/gameobjects/components/InWorld.js line 135 @@ -4499,7 +4499,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 225 + src/gameobjects/components/Core.js line 225 @@ -4576,7 +4576,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 52 + src/tilemap/TilemapLayer.js line 52 @@ -4663,7 +4663,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 102 + src/gameobjects/components/Bounds.js line 102 @@ -4753,7 +4753,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 71 + src/gameobjects/components/LifeSpan.js line 71 @@ -4830,7 +4830,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 36 + src/tilemap/TilemapLayer.js line 36 @@ -4919,7 +4919,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -5013,7 +5013,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -5100,7 +5100,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 172 + src/gameobjects/components/Core.js line 172 @@ -5188,7 +5188,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -5276,7 +5276,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 42 + src/gameobjects/components/Bounds.js line 42 @@ -5362,7 +5362,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 112 + src/gameobjects/components/InWorld.js line 112 @@ -5449,7 +5449,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 121 + src/gameobjects/components/InWorld.js line 121 @@ -5538,7 +5538,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -5627,7 +5627,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 281 + src/gameobjects/components/Core.js line 281 @@ -5709,7 +5709,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 83 + src/tilemap/TilemapLayer.js line 83 @@ -5796,7 +5796,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -5884,7 +5884,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -5970,7 +5970,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 247 + src/gameobjects/components/Core.js line 247 @@ -6056,7 +6056,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 254 + src/gameobjects/components/Core.js line 254 @@ -6140,7 +6140,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 174 + src/tilemap/TilemapLayer.js line 174 @@ -6227,7 +6227,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -6314,7 +6314,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 262 + src/gameobjects/components/Core.js line 262 @@ -6502,7 +6502,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 98 + src/tilemap/TilemapLayer.js line 98 @@ -6589,7 +6589,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 124 + src/gameobjects/components/Bounds.js line 124 @@ -6678,7 +6678,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 61 + src/pixi/display/DisplayObject.js line 61 @@ -6767,7 +6767,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -6855,7 +6855,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6943,7 +6943,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -7027,7 +7027,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 152 + src/tilemap/TilemapLayer.js line 152 @@ -7111,7 +7111,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 160 + src/tilemap/TilemapLayer.js line 160 @@ -7205,7 +7205,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 103 + src/pixi/display/Sprite.js line 103 @@ -7293,7 +7293,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -7379,7 +7379,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 36 + src/pixi/display/Sprite.js line 36 @@ -7494,7 +7494,7 @@
Properties:
Source:
- src/tilemap/TilemapLayer.js line 228 + src/tilemap/TilemapLayer.js line 228 @@ -7520,7 +7520,7 @@

-

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect.

+

The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect.

@@ -7587,7 +7587,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 63 + src/pixi/display/Sprite.js line 63 @@ -7680,7 +7680,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 82 + src/pixi/display/Sprite.js line 82 @@ -7767,7 +7767,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 146 + src/gameobjects/components/Bounds.js line 146 @@ -7853,7 +7853,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7939,7 +7939,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -8028,7 +8028,7 @@
Type:
Source:
- src/tilemap/TilemapLayer.js line 77 + src/tilemap/TilemapLayer.js line 77 @@ -8126,7 +8126,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 87 + src/pixi/display/DisplayObject.js line 87 @@ -8214,7 +8214,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 233 + src/gameobjects/components/Core.js line 233 @@ -8306,7 +8306,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -8397,7 +8397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -8488,7 +8488,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -8579,7 +8579,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -8670,7 +8670,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -8756,7 +8756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -8843,7 +8843,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 619 + src/pixi/display/DisplayObject.js line 619 @@ -8930,7 +8930,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 641 + src/pixi/display/DisplayObject.js line 641 @@ -9019,7 +9019,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 199 + src/gameobjects/components/Core.js line 199 @@ -9156,7 +9156,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -9347,7 +9347,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -9690,7 +9690,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 223 + src/gameobjects/components/Bounds.js line 223 @@ -10034,7 +10034,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 321 + src/gameobjects/components/Bounds.js line 321 @@ -10154,7 +10154,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -10321,7 +10321,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -10547,7 +10547,7 @@
Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10691,7 +10691,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -10804,7 +10804,7 @@

Source:
- src/tilemap/TilemapLayer.js line 357 + src/tilemap/TilemapLayer.js line 357 @@ -10889,7 +10889,7 @@

Source:
- src/tilemap/TilemapLayer.js line 259 + src/tilemap/TilemapLayer.js line 259 @@ -11134,7 +11134,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -11310,7 +11310,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 208 + src/pixi/display/Sprite.js line 208 @@ -11477,7 +11477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -11644,7 +11644,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -11752,7 +11752,7 @@

Source:
- src/tilemap/TilemapLayer.js line 420 + src/tilemap/TilemapLayer.js line 420 @@ -11865,7 +11865,7 @@

Source:
- src/pixi/display/Sprite.js line 324 + src/pixi/display/Sprite.js line 324 @@ -12159,7 +12159,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 583 + src/tilemap/TilemapLayer.js line 583 @@ -12267,7 +12267,7 @@

Source:
- src/tilemap/TilemapLayer.js line 433 + src/tilemap/TilemapLayer.js line 433 @@ -12625,7 +12625,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 630 + src/tilemap/TilemapLayer.js line 630 @@ -12783,7 +12783,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 534 + src/tilemap/TilemapLayer.js line 534 @@ -12992,7 +12992,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 564 + src/tilemap/TilemapLayer.js line 564 @@ -13153,7 +13153,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 549 + src/tilemap/TilemapLayer.js line 549 @@ -13320,7 +13320,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 90 + src/gameobjects/components/Health.js line 90 @@ -13441,7 +13441,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 119 + src/gameobjects/components/LifeSpan.js line 119 @@ -13726,7 +13726,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -13822,7 +13822,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 87 + src/gameobjects/components/BringToTop.js line 87 @@ -13942,7 +13942,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 66 + src/gameobjects/components/BringToTop.js line 66 @@ -14125,7 +14125,7 @@
Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -14431,7 +14431,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -14544,7 +14544,7 @@

Source:
- src/tilemap/TilemapLayer.js line 290 + src/tilemap/TilemapLayer.js line 290 @@ -14633,7 +14633,7 @@

Source:
- src/tilemap/TilemapLayer.js line 279 + src/tilemap/TilemapLayer.js line 279 @@ -14726,7 +14726,7 @@

Source:
- src/gameobjects/components/Core.js line 349 + src/gameobjects/components/Core.js line 349 @@ -14869,7 +14869,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -15036,7 +15036,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -15227,7 +15227,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -15311,7 +15311,7 @@

Source:
- src/tilemap/TilemapLayer.js line 1077 + src/tilemap/TilemapLayer.js line 1077 @@ -15550,7 +15550,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -15667,7 +15667,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 237 + src/gameobjects/components/LoadTexture.js line 237 @@ -15752,7 +15752,7 @@

Source:
- src/tilemap/TilemapLayer.js line 725 + src/tilemap/TilemapLayer.js line 725 @@ -15914,7 +15914,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 370 + src/tilemap/TilemapLayer.js line 370 @@ -16107,7 +16107,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 225 + src/gameobjects/components/LoadTexture.js line 225 @@ -16191,7 +16191,7 @@

Source:
- src/tilemap/TilemapLayer.js line 408 + src/tilemap/TilemapLayer.js line 408 @@ -16356,7 +16356,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 84 + src/gameobjects/components/LifeSpan.js line 84 @@ -16476,7 +16476,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 45 + src/gameobjects/components/BringToTop.js line 45 @@ -16667,7 +16667,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -16811,7 +16811,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 155 + src/gameobjects/components/LoadTexture.js line 155 @@ -16955,7 +16955,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 70 + src/gameobjects/components/Health.js line 70 @@ -17171,7 +17171,7 @@
Parameters:
Source:
- src/tilemap/TilemapLayer.js line 744 + src/tilemap/TilemapLayer.js line 744 @@ -17408,7 +17408,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 110 + src/gameobjects/components/ScaleMinMax.js line 110 @@ -17608,7 +17608,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 172 + src/pixi/display/Sprite.js line 172 @@ -17775,7 +17775,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -17918,7 +17918,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -18131,7 +18131,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -18252,7 +18252,7 @@

Source:
- src/gameobjects/components/Core.js line 375 + src/gameobjects/components/Core.js line 375 @@ -18345,7 +18345,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -18465,7 +18465,7 @@

Source:
- src/gameobjects/components/Crop.js line 86 + src/gameobjects/components/Crop.js line 86 @@ -18628,7 +18628,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -18697,9 +18697,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -18716,7 +18716,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -18745,7 +18745,7 @@
Returns:
- + diff --git a/docs/Phaser.TilemapParser.html b/docs/Phaser.TilemapParser.html index 395cc6079..c6edbadda 100644 --- a/docs/Phaser.TilemapParser.html +++ b/docs/Phaser.TilemapParser.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapParser - + @@ -180,7 +180,7 @@

Source:
- src/tilemap/TilemapParser.js line 13 + src/tilemap/TilemapParser.js line 13 @@ -290,7 +290,7 @@
Type:
Source:
- src/tilemap/TilemapParser.js line 26 + src/tilemap/TilemapParser.js line 26 @@ -368,7 +368,7 @@

Source:
- src/tilemap/TilemapParser.js line 135 + src/tilemap/TilemapParser.js line 135 @@ -738,7 +738,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 28 + src/tilemap/TilemapParser.js line 28 @@ -1028,7 +1028,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 77 + src/tilemap/TilemapParser.js line 77 @@ -1354,7 +1354,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 196 + src/tilemap/TilemapParser.js line 196 @@ -1512,7 +1512,7 @@
Parameters:
Source:
- src/tilemap/TilemapParser.js line 328 + src/tilemap/TilemapParser.js line 328 @@ -1579,9 +1579,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1598,7 +1598,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1627,7 +1627,7 @@
Returns:
- + diff --git a/docs/Phaser.Tileset.html b/docs/Phaser.Tileset.html index 5f4acda73..db8d6969f 100644 --- a/docs/Phaser.Tileset.html +++ b/docs/Phaser.Tileset.html @@ -6,7 +6,7 @@ Phaser CE Class: Tileset - + @@ -483,7 +483,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 22 + src/tilemap/Tileset.js line 22 @@ -588,7 +588,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 101 + src/tilemap/Tileset.js line 101 @@ -666,7 +666,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 40 + src/tilemap/Tileset.js line 40 @@ -743,7 +743,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 85 + src/tilemap/Tileset.js line 85 @@ -820,7 +820,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 33 + src/tilemap/Tileset.js line 33 @@ -897,7 +897,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 77 + src/tilemap/Tileset.js line 77 @@ -1012,7 +1012,7 @@
Properties:
Source:
- src/tilemap/Tileset.js line 93 + src/tilemap/Tileset.js line 93 @@ -1089,7 +1089,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 54 + src/tilemap/Tileset.js line 54 @@ -1209,7 +1209,7 @@
Properties:
Source:
- src/tilemap/Tileset.js line 63 + src/tilemap/Tileset.js line 63 @@ -1287,7 +1287,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 71 + src/tilemap/Tileset.js line 71 @@ -1364,7 +1364,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 47 + src/tilemap/Tileset.js line 47 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/tilemap/Tileset.js line 109 + src/tilemap/Tileset.js line 109 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 155 + src/tilemap/Tileset.js line 155 @@ -1799,7 +1799,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 123 + src/tilemap/Tileset.js line 123 @@ -1933,7 +1933,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 172 + src/tilemap/Tileset.js line 172 @@ -2127,7 +2127,7 @@
Parameters:
Source:
- src/tilemap/Tileset.js line 186 + src/tilemap/Tileset.js line 186 @@ -2170,9 +2170,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2189,7 +2189,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2218,7 +2218,7 @@
Parameters:
- + diff --git a/docs/Phaser.Time.html b/docs/Phaser.Time.html index 48f87665a..fbebab1ba 100644 --- a/docs/Phaser.Time.html +++ b/docs/Phaser.Time.html @@ -6,7 +6,7 @@ Phaser CE Class: Time - + @@ -248,7 +248,7 @@
Parameters:
Source:
- src/time/Time.js line 38 + src/time/Time.js line 38 @@ -353,7 +353,7 @@
Type:
Source:
- src/time/Time.js line 170 + src/time/Time.js line 172 @@ -379,8 +379,9 @@

-

The desired frame rate of the game.

-

This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. The desired frame rate of the game. Defaults to 60.

+

The number of logic updates per second.

+

This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates.

+

The render rate is unaffected unless you also turn off Phaser.Game#forceSingleRender.

@@ -423,6 +424,13 @@
Type:
+ +
Default Value:
+
+
    +
  • 60
  • +
+
@@ -431,7 +439,7 @@

Type:
Source:
- src/time/Time.js line 601 + src/time/Time.js line 674 @@ -508,7 +516,7 @@
Type:
Source:
- src/time/Time.js line 126 + src/time/Time.js line 128 @@ -536,6 +544,7 @@

Elapsed time since the last time update, in milliseconds, based on now.

This value may include time that the game is paused/inactive.

+

While the game is active, this will be similar to (1000 / fps).

Note: This is updated only once per game loop - even if multiple logic update steps are done. Use physicsTime as a basis of game/logic calculations instead.

@@ -588,7 +597,7 @@

Type:
Source:
- src/time/Time.js line 86 + src/time/Time.js line 88 @@ -675,7 +684,7 @@
Type:
Source:
- src/time/Time.js line 99 + src/time/Time.js line 101 @@ -752,7 +761,7 @@
Type:
Source:
- src/time/Time.js line 250 + src/time/Time.js line 288 @@ -830,7 +839,7 @@
Type:
Source:
- src/time/Time.js line 188 + src/time/Time.js line 208 @@ -909,7 +918,7 @@
Type:
Source:
- src/time/Time.js line 206 + src/time/Time.js line 244 @@ -988,7 +997,7 @@
Type:
Source:
- src/time/Time.js line 197 + src/time/Time.js line 235 @@ -1014,7 +1023,7 @@

-

Advanced timing result: The number of render frames record in the last second.

+

Advanced timing result: The number of animation frames received from the browser in the last second.

Only calculated if advancedTiming is enabled.

@@ -1066,7 +1075,7 @@
Type:
Source:
- src/time/Time.js line 179 + src/time/Time.js line 181 @@ -1143,7 +1152,7 @@
Type:
Source:
- src/time/Time.js line 44 + src/time/Time.js line 44 @@ -1222,7 +1231,7 @@
Type:
Source:
- src/time/Time.js line 225 + src/time/Time.js line 263 @@ -1308,7 +1317,7 @@
Type:
Source:
- src/time/Time.js line 216 + src/time/Time.js line 254 @@ -1389,7 +1398,7 @@
Type:
Source:
- src/time/Time.js line 72 + src/time/Time.js line 72 @@ -1467,7 +1476,7 @@
Type:
Source:
- src/time/Time.js line 232 + src/time/Time.js line 270 @@ -1548,7 +1557,7 @@
Type:
Source:
- src/time/Time.js line 112 + src/time/Time.js line 114 @@ -1625,7 +1634,7 @@
Type:
Source:
- src/time/Time.js line 119 + src/time/Time.js line 121 @@ -1702,7 +1711,163 @@
Type:
Source:
- src/time/Time.js line 58 + src/time/Time.js line 58 + + + + + + + +

+ + + +
+ + + +
+

+ <readonly> renders : integer + +

+ +
+
+ +
+

Advanced timing result: The number of renders made in the last second.

+

Only calculated if advancedTiming is enabled.

+
+ + + +
Type:
+
    +
  • + +integer + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/time/Time.js line 199 + + + + + + + +
+ + + +
+ + + +
+

+ <readonly> rps : number + +

+ +
+
+ +
+

Advanced timing result: Renders per second.

+

Only calculated if advancedTiming is enabled.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/time/Time.js line 226 @@ -1792,7 +1957,7 @@
Type:
Source:
- src/time/Time.js line 163 + src/time/Time.js line 165 @@ -1872,7 +2037,7 @@
Type:
Source:
- src/time/Time.js line 149 + src/time/Time.js line 151 @@ -1949,7 +2114,7 @@
Type:
Source:
- src/time/Time.js line 51 + src/time/Time.js line 51 @@ -2026,7 +2191,7 @@
Type:
Source:
- src/time/Time.js line 244 + src/time/Time.js line 282 @@ -2103,7 +2268,163 @@
Type:
Source:
- src/time/Time.js line 238 + src/time/Time.js line 276 + + + + + + + +
+ + + +
+ + + +
+

+ <readonly> updates : integer + +

+ +
+
+ +
+

Advanced timing result: The number of logic updates made in the last second.

+

Only calculated if advancedTiming is enabled.

+
+ + + +
Type:
+
    +
  • + +integer + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/time/Time.js line 190 + + + + + + + +
+ + + +
+ + + +
+

+ <readonly> ups : number + +

+ +
+
+ +
+

Advanced timing result: Logic updates per second.

+

Only calculated if advancedTiming is enabled.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/time/Time.js line 217 @@ -2231,7 +2552,7 @@
Parameters:
Source:
- src/time/Time.js line 313 + src/time/Time.js line 351 @@ -2339,7 +2660,7 @@

Source:
- src/time/Time.js line 298 + src/time/Time.js line 336 @@ -2493,7 +2814,7 @@
Parameters:
Source:
- src/time/Time.js line 328 + src/time/Time.js line 366 @@ -2651,7 +2972,7 @@
Parameters:
Source:
- src/time/Time.js line 576 + src/time/Time.js line 649 @@ -2809,7 +3130,7 @@
Parameters:
Source:
- src/time/Time.js line 565 + src/time/Time.js line 638 @@ -2917,7 +3238,7 @@

Source:
- src/time/Time.js line 365 + src/time/Time.js line 403 @@ -3001,7 +3322,7 @@

Source:
- src/time/Time.js line 347 + src/time/Time.js line 385 @@ -3085,7 +3406,7 @@

Source:
- src/time/Time.js line 587 + src/time/Time.js line 660 @@ -3169,7 +3490,7 @@

Source:
- src/time/Time.js line 555 + src/time/Time.js line 628 @@ -3327,7 +3648,7 @@
Parameters:
Source:
- src/time/Time.js line 383 + src/time/Time.js line 421 @@ -3370,9 +3691,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3389,7 +3710,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3418,7 +3739,7 @@
Parameters:
- + diff --git a/docs/Phaser.Timer.html b/docs/Phaser.Timer.html index 9ee014ab7..0330d5245 100644 --- a/docs/Phaser.Timer.html +++ b/docs/Phaser.Timer.html @@ -6,7 +6,7 @@ Phaser CE Class: Timer - + @@ -290,7 +290,7 @@
Parameters:
Source:
- src/time/Timer.js line 21 + src/time/Timer.js line 21 @@ -395,7 +395,7 @@
Type:
Source:
- src/time/Timer.js line 175 + src/time/Timer.js line 175 @@ -472,7 +472,7 @@
Type:
Source:
- src/time/Timer.js line 161 + src/time/Timer.js line 161 @@ -549,7 +549,7 @@
Type:
Source:
- src/time/Timer.js line 182 + src/time/Timer.js line 182 @@ -626,7 +626,7 @@
Type:
Source:
- src/time/Timer.js line 168 + src/time/Timer.js line 168 @@ -703,7 +703,7 @@
Type:
Source:
- src/time/Timer.js line 45 + src/time/Timer.js line 45 @@ -780,7 +780,7 @@
Type:
Source:
- src/time/Timer.js line 680 + src/time/Timer.js line 680 @@ -857,7 +857,7 @@
Type:
Source:
- src/time/Timer.js line 58 + src/time/Timer.js line 58 @@ -934,7 +934,7 @@
Type:
Source:
- src/time/Timer.js line 63 + src/time/Timer.js line 63 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/time/Timer.js line 52 + src/time/Timer.js line 52 @@ -1088,7 +1088,7 @@
Type:
Source:
- src/time/Timer.js line 29 + src/time/Timer.js line 29 @@ -1165,7 +1165,7 @@
Type:
Source:
- src/time/Timer.js line 702 + src/time/Timer.js line 702 @@ -1242,7 +1242,7 @@
Type:
Source:
- src/time/Timer.js line 715 + src/time/Timer.js line 715 @@ -1319,7 +1319,7 @@
Type:
Source:
- src/time/Timer.js line 667 + src/time/Timer.js line 667 @@ -1396,7 +1396,7 @@
Type:
Source:
- src/time/Timer.js line 79 + src/time/Timer.js line 79 @@ -1474,7 +1474,7 @@
Type:
Source:
- src/time/Timer.js line 72 + src/time/Timer.js line 72 @@ -1551,7 +1551,7 @@
Type:
Source:
- src/time/Timer.js line 91 + src/time/Timer.js line 91 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/time/Timer.js line 39 + src/time/Timer.js line 39 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/time/Timer.js line 737 + src/time/Timer.js line 737 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/time/Timer.js line 84 + src/time/Timer.js line 84 @@ -2022,7 +2022,7 @@
Parameters:
Source:
- src/time/Timer.js line 228 + src/time/Timer.js line 228 @@ -2130,7 +2130,7 @@

Source:
- src/time/Timer.js line 554 + src/time/Timer.js line 554 @@ -2214,7 +2214,7 @@

Source:
- src/time/Timer.js line 392 + src/time/Timer.js line 392 @@ -2299,7 +2299,7 @@

Source:
- src/time/Timer.js line 648 + src/time/Timer.js line 648 @@ -2544,7 +2544,7 @@
Parameters:
Source:
- src/time/Timer.js line 272 + src/time/Timer.js line 272 @@ -2653,7 +2653,7 @@

Source:
- src/time/Timer.js line 354 + src/time/Timer.js line 354 @@ -2737,7 +2737,7 @@

Source:
- src/time/Timer.js line 512 + src/time/Timer.js line 512 @@ -2871,7 +2871,7 @@
Parameters:
Source:
- src/time/Timer.js line 334 + src/time/Timer.js line 334 @@ -2956,7 +2956,7 @@

Source:
- src/time/Timer.js line 633 + src/time/Timer.js line 633 @@ -3234,7 +3234,7 @@
Parameters:
Source:
- src/time/Timer.js line 249 + src/time/Timer.js line 249 @@ -3342,7 +3342,7 @@

Source:
- src/time/Timer.js line 592 + src/time/Timer.js line 592 @@ -3496,7 +3496,7 @@
Parameters:
Source:
- src/time/Timer.js line 293 + src/time/Timer.js line 293 @@ -3650,7 +3650,7 @@
Parameters:
Source:
- src/time/Timer.js line 316 + src/time/Timer.js line 316 @@ -3784,7 +3784,7 @@
Parameters:
Source:
- src/time/Timer.js line 415 + src/time/Timer.js line 415 @@ -3851,9 +3851,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3870,7 +3870,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3899,7 +3899,7 @@
Returns:
- + diff --git a/docs/Phaser.TimerEvent.html b/docs/Phaser.TimerEvent.html index fcd52ab2a..2bd1f209c 100644 --- a/docs/Phaser.TimerEvent.html +++ b/docs/Phaser.TimerEvent.html @@ -6,7 +6,7 @@ Phaser CE Class: TimerEvent - + @@ -402,7 +402,7 @@
Parameters:
Source:
- src/time/TimerEvent.js line 28 + src/time/TimerEvent.js line 28 @@ -545,7 +545,7 @@
Properties:
Source:
- src/time/TimerEvent.js line 70 + src/time/TimerEvent.js line 70 @@ -622,7 +622,7 @@
Type:
Source:
- src/time/TimerEvent.js line 60 + src/time/TimerEvent.js line 60 @@ -699,7 +699,7 @@
Type:
Source:
- src/time/TimerEvent.js line 65 + src/time/TimerEvent.js line 65 @@ -776,7 +776,7 @@
Type:
Source:
- src/time/TimerEvent.js line 40 + src/time/TimerEvent.js line 40 @@ -853,7 +853,7 @@
Type:
Source:
- src/time/TimerEvent.js line 55 + src/time/TimerEvent.js line 55 @@ -930,7 +930,7 @@
Type:
Source:
- src/time/TimerEvent.js line 76 + src/time/TimerEvent.js line 76 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/time/TimerEvent.js line 50 + src/time/TimerEvent.js line 50 @@ -1084,7 +1084,7 @@
Type:
Source:
- src/time/TimerEvent.js line 45 + src/time/TimerEvent.js line 45 @@ -1161,7 +1161,7 @@
Type:
Source:
- src/time/TimerEvent.js line 35 + src/time/TimerEvent.js line 35 @@ -1194,9 +1194,9 @@
Type:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1213,7 +1213,7 @@
Type:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1242,7 +1242,7 @@
Type:
- + diff --git a/docs/Phaser.Touch.html b/docs/Phaser.Touch.html index 3698643b4..52d1422c8 100644 --- a/docs/Phaser.Touch.html +++ b/docs/Phaser.Touch.html @@ -6,7 +6,7 @@ Phaser CE Class: Touch - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/input/Touch.js line 16 + src/input/Touch.js line 16 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Touch.js line 33 + src/input/Touch.js line 33 @@ -420,7 +420,7 @@
Type:
Source:
- src/input/Touch.js line 28 + src/input/Touch.js line 28 @@ -497,7 +497,7 @@
Type:
Source:
- src/input/Touch.js line 75 + src/input/Touch.js line 75 @@ -574,7 +574,7 @@
Type:
Source:
- src/input/Touch.js line 21 + src/input/Touch.js line 21 @@ -658,7 +658,7 @@
Type:
Source:
- src/input/Touch.js line 69 + src/input/Touch.js line 69 @@ -735,7 +735,7 @@
Type:
Source:
- src/input/Touch.js line 63 + src/input/Touch.js line 63 @@ -812,7 +812,7 @@
Type:
Source:
- src/input/Touch.js line 48 + src/input/Touch.js line 48 @@ -889,7 +889,7 @@
Type:
Source:
- src/input/Touch.js line 53 + src/input/Touch.js line 53 @@ -966,7 +966,7 @@
Type:
Source:
- src/input/Touch.js line 58 + src/input/Touch.js line 58 @@ -1043,7 +1043,7 @@
Type:
Source:
- src/input/Touch.js line 43 + src/input/Touch.js line 43 @@ -1120,7 +1120,7 @@
Type:
Source:
- src/input/Touch.js line 38 + src/input/Touch.js line 38 @@ -1142,99 +1142,6 @@

Methods

-
-

- addTouchLockCallback() - deprecated -

- -
-
- - -
-

Adds a callback that is fired when a browser touchstart or touchend event is received.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
Deprecated:
- -
- -
- - - - - - - - - - - - - - -
Source:
-
- - src/input/Touch.js line 175 - - - - - - - -
- - - - - - - - - - - - - - - -
- - -

consumeTouchMove() @@ -1291,7 +1198,7 @@

Source:
- src/input/Touch.js line 193 + src/input/Touch.js line 177 @@ -1426,7 +1333,7 @@
Parameters:
Source:
- src/input/Touch.js line 243 + src/input/Touch.js line 227 @@ -1560,7 +1467,7 @@
Parameters:
Source:
- src/input/Touch.js line 352 + src/input/Touch.js line 336 @@ -1695,7 +1602,7 @@
Parameters:
Source:
- src/input/Touch.js line 277 + src/input/Touch.js line 261 @@ -1830,7 +1737,7 @@
Parameters:
Source:
- src/input/Touch.js line 304 + src/input/Touch.js line 288 @@ -1964,7 +1871,7 @@
Parameters:
Source:
- src/input/Touch.js line 326 + src/input/Touch.js line 310 @@ -2098,100 +2005,7 @@
Parameters:
Source:
- src/input/Touch.js line 207 - - - - - - - -

- - - - - - - - - - - - - - - -
- - - -
-

- removeTouchLockCallback() - deprecated -

- -
-
- - -
-

Removes the callback at the defined index from the touchLockCallbacks array.

-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
Deprecated:
- -
- -
- - - - - - - - - - - - - - -
Source:
-
- - src/input/Touch.js line 183 + src/input/Touch.js line 191 @@ -2275,7 +2089,7 @@

Source:
- src/input/Touch.js line 123 + src/input/Touch.js line 123 @@ -2359,7 +2173,7 @@

Source:
- src/input/Touch.js line 383 + src/input/Touch.js line 367 @@ -2402,9 +2216,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2421,7 +2235,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2450,7 +2264,7 @@

- + diff --git a/docs/Phaser.Tween.html b/docs/Phaser.Tween.html index 6c14397ee..1b85a45f9 100644 --- a/docs/Phaser.Tween.html +++ b/docs/Phaser.Tween.html @@ -6,7 +6,7 @@ Phaser CE Class: Tween - + @@ -282,7 +282,7 @@

Parameters:
Source:
- src/tween/Tween.js line 20 + src/tween/Tween.js line 20 @@ -387,7 +387,7 @@
Type:
Source:
- src/tween/Tween.js line 130 + src/tween/Tween.js line 130 @@ -464,7 +464,7 @@
Type:
Source:
- src/tween/Tween.js line 120 + src/tween/Tween.js line 120 @@ -547,7 +547,7 @@
Type:
Source:
- src/tween/Tween.js line 152 + src/tween/Tween.js line 152 @@ -624,7 +624,7 @@
Type:
Source:
- src/tween/Tween.js line 25 + src/tween/Tween.js line 25 @@ -701,7 +701,7 @@
Type:
Source:
- src/tween/Tween.js line 136 + src/tween/Tween.js line 136 @@ -778,7 +778,7 @@
Type:
Source:
- src/tween/Tween.js line 113 + src/tween/Tween.js line 113 @@ -855,7 +855,7 @@
Type:
Source:
- src/tween/Tween.js line 35 + src/tween/Tween.js line 35 @@ -934,7 +934,7 @@
Type:
Source:
- src/tween/Tween.js line 100 + src/tween/Tween.js line 100 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/tween/Tween.js line 107 + src/tween/Tween.js line 107 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/tween/Tween.js line 85 + src/tween/Tween.js line 85 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/tween/Tween.js line 92 + src/tween/Tween.js line 92 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/tween/Tween.js line 77 + src/tween/Tween.js line 77 @@ -1323,7 +1323,7 @@
Type:
Source:
- src/tween/Tween.js line 70 + src/tween/Tween.js line 70 @@ -1400,7 +1400,7 @@
Type:
Source:
- src/tween/Tween.js line 125 + src/tween/Tween.js line 125 @@ -1477,7 +1477,7 @@
Type:
Source:
- src/tween/Tween.js line 63 + src/tween/Tween.js line 63 @@ -1556,7 +1556,7 @@
Type:
Source:
- src/tween/Tween.js line 49 + src/tween/Tween.js line 49 @@ -1633,7 +1633,7 @@
Type:
Source:
- src/tween/Tween.js line 30 + src/tween/Tween.js line 30 @@ -1710,7 +1710,7 @@
Type:
Source:
- src/tween/Tween.js line 40 + src/tween/Tween.js line 40 @@ -1795,7 +1795,7 @@
Type:
Source:
- src/tween/Tween.js line 58 + src/tween/Tween.js line 58 @@ -1872,7 +1872,7 @@
Type:
Source:
- src/tween/Tween.js line 938 + src/tween/Tween.js line 938 @@ -2010,7 +2010,7 @@
Parameters:
Source:
- src/tween/Tween.js line 188 + src/tween/Tween.js line 188 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/tween/Tween.js line 603 + src/tween/Tween.js line 603 @@ -2379,7 +2379,7 @@
Parameters:
Source:
- src/tween/Tween.js line 444 + src/tween/Tween.js line 444 @@ -2599,7 +2599,7 @@
Parameters:
Source:
- src/tween/Tween.js line 541 + src/tween/Tween.js line 541 @@ -3019,7 +3019,7 @@
Parameters:
Source:
- src/tween/Tween.js line 264 + src/tween/Tween.js line 264 @@ -3238,7 +3238,7 @@
Parameters:
Source:
- src/tween/Tween.js line 885 + src/tween/Tween.js line 885 @@ -3493,7 +3493,7 @@
Parameters:
Source:
- src/tween/Tween.js line 563 + src/tween/Tween.js line 563 @@ -3679,7 +3679,7 @@
Parameters:
Source:
- src/tween/Tween.js line 637 + src/tween/Tween.js line 637 @@ -3865,7 +3865,7 @@
Parameters:
Source:
- src/tween/Tween.js line 663 + src/tween/Tween.js line 663 @@ -3973,7 +3973,7 @@

Source:
- src/tween/Tween.js line 688 + src/tween/Tween.js line 688 @@ -4206,7 +4206,7 @@
Parameters:
Source:
- src/tween/Tween.js line 461 + src/tween/Tween.js line 461 @@ -4385,7 +4385,7 @@
Parameters:
Source:
- src/tween/Tween.js line 585 + src/tween/Tween.js line 585 @@ -4602,7 +4602,7 @@
Parameters:
Source:
- src/tween/Tween.js line 484 + src/tween/Tween.js line 484 @@ -4710,7 +4710,7 @@

Source:
- src/tween/Tween.js line 720 + src/tween/Tween.js line 720 @@ -4868,7 +4868,7 @@
Parameters:
Source:
- src/tween/Tween.js line 311 + src/tween/Tween.js line 311 @@ -5049,7 +5049,7 @@
Parameters:
Source:
- src/tween/Tween.js line 375 + src/tween/Tween.js line 375 @@ -5469,7 +5469,7 @@
Parameters:
Source:
- src/tween/Tween.js line 217 + src/tween/Tween.js line 217 @@ -5627,7 +5627,7 @@
Parameters:
Source:
- src/tween/Tween.js line 762 + src/tween/Tween.js line 762 @@ -5882,7 +5882,7 @@
Parameters:
Source:
- src/tween/Tween.js line 411 + src/tween/Tween.js line 411 @@ -6140,7 +6140,7 @@
Parameters:
Source:
- src/tween/Tween.js line 501 + src/tween/Tween.js line 501 @@ -6357,7 +6357,7 @@
Parameters:
Source:
- src/tween/Tween.js line 524 + src/tween/Tween.js line 524 @@ -6424,9 +6424,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6443,7 +6443,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6472,7 +6472,7 @@
Returns:
- + diff --git a/docs/Phaser.TweenData.html b/docs/Phaser.TweenData.html index f8b9c550a..3fc461c83 100644 --- a/docs/Phaser.TweenData.html +++ b/docs/Phaser.TweenData.html @@ -6,7 +6,7 @@ Phaser CE Class: TweenData - + @@ -232,7 +232,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 16 + src/tween/TweenData.js line 16 @@ -333,7 +333,7 @@
Type:
Source:
- src/tween/TweenData.js line 180 + src/tween/TweenData.js line 180 @@ -406,7 +406,7 @@
Type:
Source:
- src/tween/TweenData.js line 174 + src/tween/TweenData.js line 174 @@ -479,7 +479,7 @@
Type:
Source:
- src/tween/TweenData.js line 162 + src/tween/TweenData.js line 162 @@ -552,7 +552,7 @@
Type:
Source:
- src/tween/TweenData.js line 168 + src/tween/TweenData.js line 168 @@ -629,7 +629,7 @@
Type:
Source:
- src/tween/TweenData.js line 114 + src/tween/TweenData.js line 114 @@ -706,7 +706,7 @@
Type:
Source:
- src/tween/TweenData.js line 119 + src/tween/TweenData.js line 119 @@ -790,7 +790,7 @@
Type:
Source:
- src/tween/TweenData.js line 56 + src/tween/TweenData.js line 56 @@ -874,7 +874,7 @@
Type:
Source:
- src/tween/TweenData.js line 130 + src/tween/TweenData.js line 130 @@ -951,7 +951,7 @@
Type:
Source:
- src/tween/TweenData.js line 26 + src/tween/TweenData.js line 26 @@ -1028,7 +1028,7 @@
Type:
Source:
- src/tween/TweenData.js line 108 + src/tween/TweenData.js line 108 @@ -1105,7 +1105,7 @@
Type:
Source:
- src/tween/TweenData.js line 91 + src/tween/TweenData.js line 91 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/tween/TweenData.js line 142 + src/tween/TweenData.js line 142 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/tween/TweenData.js line 136 + src/tween/TweenData.js line 136 @@ -1357,7 +1357,7 @@
Type:
Source:
- src/tween/TweenData.js line 154 + src/tween/TweenData.js line 154 @@ -1434,7 +1434,7 @@
Type:
Source:
- src/tween/TweenData.js line 148 + src/tween/TweenData.js line 148 @@ -1511,7 +1511,7 @@
Type:
Source:
- src/tween/TweenData.js line 21 + src/tween/TweenData.js line 21 @@ -1588,7 +1588,7 @@
Type:
Source:
- src/tween/TweenData.js line 62 + src/tween/TweenData.js line 62 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/tween/TweenData.js line 73 + src/tween/TweenData.js line 73 @@ -1742,7 +1742,7 @@
Type:
Source:
- src/tween/TweenData.js line 78 + src/tween/TweenData.js line 78 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/tween/TweenData.js line 84 + src/tween/TweenData.js line 84 @@ -1896,7 +1896,7 @@
Type:
Source:
- src/tween/TweenData.js line 124 + src/tween/TweenData.js line 124 @@ -1973,7 +1973,7 @@
Type:
Source:
- src/tween/TweenData.js line 68 + src/tween/TweenData.js line 68 @@ -2050,7 +2050,7 @@
Type:
Source:
- src/tween/TweenData.js line 97 + src/tween/TweenData.js line 97 @@ -2127,7 +2127,7 @@
Type:
Source:
- src/tween/TweenData.js line 102 + src/tween/TweenData.js line 102 @@ -2472,7 +2472,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 212 + src/tween/TweenData.js line 212 @@ -2652,7 +2652,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 411 + src/tween/TweenData.js line 411 @@ -2760,7 +2760,7 @@

Source:
- src/tween/TweenData.js line 240 + src/tween/TweenData.js line 240 @@ -3135,7 +3135,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 184 + src/tween/TweenData.js line 184 @@ -3293,7 +3293,7 @@
Parameters:
Source:
- src/tween/TweenData.js line 340 + src/tween/TweenData.js line 340 @@ -3360,9 +3360,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -3379,7 +3379,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -3408,7 +3408,7 @@
Returns:
- + diff --git a/docs/Phaser.TweenManager.html b/docs/Phaser.TweenManager.html index f3892cf68..13672e96f 100644 --- a/docs/Phaser.TweenManager.html +++ b/docs/Phaser.TweenManager.html @@ -6,7 +6,7 @@ Phaser CE Class: TweenManager - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 20 + src/tween/TweenManager.js line 20 @@ -345,7 +345,7 @@
Type:
Source:
- src/tween/TweenManager.js line 38 + src/tween/TweenManager.js line 38 @@ -422,7 +422,7 @@
Type:
Source:
- src/tween/TweenManager.js line 25 + src/tween/TweenManager.js line 25 @@ -550,7 +550,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 189 + src/tween/TweenManager.js line 189 @@ -708,7 +708,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 203 + src/tween/TweenManager.js line 203 @@ -816,7 +816,7 @@

Source:
- src/tween/TweenManager.js line 114 + src/tween/TweenManager.js line 114 @@ -907,6 +907,8 @@
Parameters:
+

+ @@ -941,6 +943,10 @@
Parameters:
+ + @@ -975,6 +981,12 @@
Parameters:
+ + @@ -1019,7 +1031,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 285 + src/tween/TweenManager.js line 285 @@ -1127,7 +1139,7 @@

Source:
- src/tween/TweenManager.js line 335 + src/tween/TweenManager.js line 335 @@ -1261,7 +1273,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 216 + src/tween/TweenManager.js line 216 @@ -1345,7 +1357,7 @@

Source:
- src/tween/TweenManager.js line 125 + src/tween/TweenManager.js line 125 @@ -1541,7 +1553,7 @@
Parameters:
Source:
- src/tween/TweenManager.js line 140 + src/tween/TweenManager.js line 140 @@ -1625,7 +1637,7 @@

Source:
- src/tween/TweenManager.js line 349 + src/tween/TweenManager.js line 349 @@ -1709,7 +1721,7 @@

Source:
- src/tween/TweenManager.js line 242 + src/tween/TweenManager.js line 242 @@ -1776,9 +1788,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1795,7 +1807,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1824,7 +1836,7 @@
Returns:
- + diff --git a/docs/Phaser.Utils.Debug.html b/docs/Phaser.Utils.Debug.html index 6aca73fc8..d5d9d7752 100644 --- a/docs/Phaser.Utils.Debug.html +++ b/docs/Phaser.Utils.Debug.html @@ -6,7 +6,7 @@ Phaser CE Class: Debug - + @@ -237,7 +237,7 @@
Parameters:
Source:
- src/utils/Debug.js line 23 + src/utils/Debug.js line 23 @@ -342,7 +342,7 @@
Type:
Source:
- src/utils/Debug.js line 38 + src/utils/Debug.js line 38 @@ -419,7 +419,7 @@
Type:
Source:
- src/utils/Debug.js line 43 + src/utils/Debug.js line 43 @@ -503,7 +503,7 @@
Type:
Source:
- src/utils/Debug.js line 60 + src/utils/Debug.js line 60 @@ -580,7 +580,7 @@
Type:
Source:
- src/utils/Debug.js line 48 + src/utils/Debug.js line 48 @@ -664,7 +664,7 @@
Type:
Source:
- src/utils/Debug.js line 103 + src/utils/Debug.js line 103 @@ -741,7 +741,7 @@
Type:
Source:
- src/utils/Debug.js line 85 + src/utils/Debug.js line 85 @@ -818,7 +818,7 @@
Type:
Source:
- src/utils/Debug.js line 91 + src/utils/Debug.js line 91 @@ -895,7 +895,7 @@
Type:
Source:
- src/utils/Debug.js line 97 + src/utils/Debug.js line 97 @@ -972,7 +972,7 @@
Type:
Source:
- src/utils/Debug.js line 109 + src/utils/Debug.js line 109 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/utils/Debug.js line 54 + src/utils/Debug.js line 54 @@ -1133,7 +1133,7 @@
Type:
Source:
- src/utils/Debug.js line 28 + src/utils/Debug.js line 28 @@ -1210,7 +1210,7 @@
Type:
Source:
- src/utils/Debug.js line 116 + src/utils/Debug.js line 116 @@ -1294,7 +1294,7 @@
Type:
Source:
- src/utils/Debug.js line 66 + src/utils/Debug.js line 66 @@ -1378,7 +1378,7 @@
Type:
Source:
- src/utils/Debug.js line 72 + src/utils/Debug.js line 72 @@ -1462,7 +1462,7 @@
Type:
Source:
- src/utils/Debug.js line 78 + src/utils/Debug.js line 78 @@ -1539,7 +1539,7 @@
Type:
Source:
- src/utils/Debug.js line 33 + src/utils/Debug.js line 33 @@ -1765,7 +1765,7 @@
Parameters:
Source:
- src/utils/Debug.js line 835 + src/utils/Debug.js line 860 @@ -2027,7 +2027,7 @@
Parameters:
Source:
- src/utils/Debug.js line 869 + src/utils/Debug.js line 894 @@ -2111,7 +2111,7 @@

Source:
- src/utils/Debug.js line 134 + src/utils/Debug.js line 134 @@ -2302,7 +2302,7 @@
Parameters:
Source:
- src/utils/Debug.js line 916 + src/utils/Debug.js line 941 @@ -2388,7 +2388,7 @@

Source:
- src/utils/Debug.js line 898 + src/utils/Debug.js line 923 @@ -2616,7 +2616,7 @@
Parameters:
Source:
- src/utils/Debug.js line 321 + src/utils/Debug.js line 351 @@ -2878,7 +2878,7 @@
Parameters:
Source:
- src/utils/Debug.js line 350 + src/utils/Debug.js line 380 @@ -2962,7 +2962,7 @@

Source:
- src/utils/Debug.js line 1055 + src/utils/Debug.js line 1160 @@ -3110,7 +3110,7 @@
Parameters:
Source:
- src/utils/Debug.js line 932 + src/utils/Debug.js line 957 @@ -3390,7 +3390,7 @@
Parameters:
Source:
- src/utils/Debug.js line 652 + src/utils/Debug.js line 677 @@ -3616,7 +3616,7 @@
Parameters:
Source:
- src/utils/Debug.js line 505 + src/utils/Debug.js line 530 @@ -3878,7 +3878,7 @@
Parameters:
Source:
- src/utils/Debug.js line 484 + src/utils/Debug.js line 509 @@ -3962,7 +3962,7 @@

Source:
- src/utils/Debug.js line 262 + src/utils/Debug.js line 262 @@ -4224,7 +4224,272 @@
Parameters:
Source:
- src/utils/Debug.js line 613 + src/utils/Debug.js line 638 + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+

+ loader(loader, x, y [, color]) + +

+ +
+
+ + +
+

Prints the progress of a Phaser.Loader.

+

Typically you would call this within a State#loadRender callback and pass game.load (Phaser.Game#load).

+

You can enable Phaser.Loader#resetLocked to temporarily hold the loader in its 'complete' state. +Just remember to disable it before restarting the loader (such as when changing states).

+
+ + + + + + + + +
Parameters:
+ + +

DefaultDescription
+ +

The object to check for tweens against.

+ + false + +

Also check that the tween is running and is not marked for deletion.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDefaultDescription
loader + + +Phaser.Loader + + + + + + + + + + + + +

The loader. Usually game.load (Phaser.Game#load).

x + + +number + + + + + + + + + + + + +

The X value the debug info will start from.

y + + +number + + + + + + + + + + + + +

The Y value the debug info will start from.

color + + +string + + + + + + + <optional>
+ + + + + +
+ + 'rgb(255,255,255)' + +

The color the debug text will drawn in.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 1114 @@ -4450,7 +4715,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1038 + src/utils/Debug.js line 1063 @@ -4720,7 +4985,7 @@
Parameters:
Source:
- src/utils/Debug.js line 1023 + src/utils/Debug.js line 1048 @@ -4984,7 +5249,7 @@
Parameters:
Source:
- src/utils/Debug.js line 632 + src/utils/Debug.js line 657 @@ -5294,7 +5559,7 @@
Parameters:
Source:
- src/utils/Debug.js line 403 + src/utils/Debug.js line 428 @@ -5378,7 +5643,7 @@

Source:
- src/utils/Debug.js line 179 + src/utils/Debug.js line 179 @@ -5536,7 +5801,7 @@
Parameters:
Source:
- src/utils/Debug.js line 795 + src/utils/Debug.js line 820 @@ -5767,7 +6032,7 @@
Parameters:
Source:
- src/utils/Debug.js line 732 + src/utils/Debug.js line 757 @@ -6001,7 +6266,7 @@
Parameters:
Source:
- src/utils/Debug.js line 965 + src/utils/Debug.js line 990 @@ -6085,7 +6350,7 @@

Source:
- src/utils/Debug.js line 198 + src/utils/Debug.js line 198 @@ -6170,7 +6435,7 @@

Source:
- src/utils/Debug.js line 163 + src/utils/Debug.js line 163 @@ -6398,7 +6663,459 @@
Parameters:
Source:
- src/utils/Debug.js line 544 + src/utils/Debug.js line 569 + + + + + + + +

+ + + + + + + + + + + + + + + +
+ + + +
+

+ scale(x, y [, color]) + +

+ +
+
+ + +
+

Prints game/canvas dimensions and game scale settings.

+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDefaultDescription
x + + +number + + + + + + + + + + + + +

The X value the debug info will start from.

y + + +number + + + + + + + + + + + + +

The Y value the debug info will start from.

color + + +string + + + + + + + <optional>
+ + + + + +
+ + 'rgb(255,255,255)' + +

The color the debug text will drawn in.

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 1080 + + + + + + + +
+ + + + + + + + + + + + + + + +
+ + + +
+

+ sound(x, y [, color]) + +

+ +
+
+ + +
+

Render Sound Manager information, including volume, mute, audio mode, and locked status.

+
+ + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeArgumentDefaultDescription
x + + +number + + + + + + + + + + + + +

X position of the debug info to be rendered.

y + + +number + + + + + + + + + + + + +

Y position of the debug info to be rendered.

color + + +string + + + + + + + <optional>
+ + + + + +
+ + 'rgb(255,255,255)' + +

color of the debug info to be rendered. (format is css color string).

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/utils/Debug.js line 290 @@ -6660,7 +7377,7 @@
Parameters:
Source:
- src/utils/Debug.js line 290 + src/utils/Debug.js line 320 @@ -6891,7 +7608,7 @@
Parameters:
Source:
- src/utils/Debug.js line 525 + src/utils/Debug.js line 550 @@ -7156,7 +7873,7 @@
Parameters:
Source:
- src/utils/Debug.js line 587 + src/utils/Debug.js line 612 @@ -7418,7 +8135,7 @@
Parameters:
Source:
- src/utils/Debug.js line 564 + src/utils/Debug.js line 589 @@ -7683,7 +8400,7 @@
Parameters:
Source:
- src/utils/Debug.js line 463 + src/utils/Debug.js line 488 @@ -7957,7 +8674,7 @@
Parameters:
Source:
- src/utils/Debug.js line 217 + src/utils/Debug.js line 217 @@ -8041,7 +8758,7 @@

Source:
- src/utils/Debug.js line 250 + src/utils/Debug.js line 250 @@ -8317,7 +9034,7 @@
Parameters:
Source:
- src/utils/Debug.js line 764 + src/utils/Debug.js line 789 @@ -8579,7 +9296,7 @@
Parameters:
Source:
- src/utils/Debug.js line 384 + src/utils/Debug.js line 409 @@ -8622,9 +9339,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -8641,7 +9358,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -8670,7 +9387,7 @@
Parameters:
- + diff --git a/docs/Phaser.Utils.html b/docs/Phaser.Utils.html index 027f12e93..f5b0aa5d2 100644 --- a/docs/Phaser.Utils.html +++ b/docs/Phaser.Utils.html @@ -6,7 +6,7 @@ Phaser CE Class: Utils - + @@ -176,7 +176,7 @@

Source:
- src/utils/Utils.js line 11 + src/utils/Utils.js line 11 @@ -359,7 +359,7 @@
Parameters:
Source:
- src/utils/Utils.js line 359 + src/utils/Utils.js line 359 @@ -541,7 +541,7 @@
Parameters:
Source:
- src/utils/Utils.js line 27 + src/utils/Utils.js line 27 @@ -702,7 +702,7 @@
Parameters:
Source:
- src/utils/Utils.js line 323 + src/utils/Utils.js line 323 @@ -887,7 +887,7 @@
Parameters:
Source:
- src/utils/Utils.js line 491 + src/utils/Utils.js line 491 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/utils/Utils.js line 439 + src/utils/Utils.js line 439 @@ -1419,7 +1419,7 @@
Parameters:
Source:
- src/utils/Utils.js line 262 + src/utils/Utils.js line 262 @@ -1604,7 +1604,7 @@
Parameters:
Source:
- src/utils/Utils.js line 219 + src/utils/Utils.js line 219 @@ -1763,7 +1763,7 @@
Parameters:
Source:
- src/utils/Utils.js line 13 + src/utils/Utils.js line 13 @@ -1950,7 +1950,7 @@
Parameters:
Source:
- src/utils/Utils.js line 55 + src/utils/Utils.js line 55 @@ -2157,7 +2157,7 @@
Parameters:
Source:
- src/utils/Utils.js line 82 + src/utils/Utils.js line 82 @@ -2317,7 +2317,7 @@
Parameters:
Source:
- src/utils/Utils.js line 192 + src/utils/Utils.js line 192 @@ -2499,7 +2499,7 @@
Parameters:
Source:
- src/utils/Utils.js line 207 + src/utils/Utils.js line 207 @@ -2566,9 +2566,9 @@
Returns:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -2585,7 +2585,7 @@
Returns:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -2614,7 +2614,7 @@
Returns:
- + diff --git a/docs/Phaser.Video.html b/docs/Phaser.Video.html index 975691c7f..0d3da9924 100644 --- a/docs/Phaser.Video.html +++ b/docs/Phaser.Video.html @@ -6,7 +6,7 @@ Phaser CE Class: Video - + @@ -347,7 +347,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 38 + src/gameobjects/Video.js line 38 @@ -452,7 +452,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1184 + src/gameobjects/Video.js line 1202 @@ -529,7 +529,7 @@
Type:
Source:
- src/gameobjects/Video.js line 75 + src/gameobjects/Video.js line 75 @@ -606,7 +606,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1204 + src/gameobjects/Video.js line 1222 @@ -683,7 +683,7 @@
Type:
Source:
- src/gameobjects/Video.js line 46 + src/gameobjects/Video.js line 46 @@ -760,7 +760,7 @@
Type:
Source:
- src/gameobjects/Video.js line 64 + src/gameobjects/Video.js line 64 @@ -837,7 +837,7 @@
Type:
Source:
- src/gameobjects/Video.js line 140 + src/gameobjects/Video.js line 153 @@ -921,7 +921,7 @@
Type:
Source:
- src/gameobjects/Video.js line 52 + src/gameobjects/Video.js line 52 @@ -1000,7 +1000,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1377 + src/gameobjects/Video.js line 1395 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1234 + src/gameobjects/Video.js line 1252 @@ -1154,7 +1154,7 @@
Type:
Source:
- src/gameobjects/Video.js line 101 + src/gameobjects/Video.js line 101 @@ -1231,7 +1231,7 @@
Type:
Source:
- src/gameobjects/Video.js line 91 + src/gameobjects/Video.js line 91 @@ -1308,7 +1308,7 @@
Type:
Source:
- src/gameobjects/Video.js line 96 + src/gameobjects/Video.js line 96 @@ -1385,7 +1385,7 @@
Type:
Source:
- src/gameobjects/Video.js line 106 + src/gameobjects/Video.js line 106 @@ -1462,7 +1462,7 @@
Type:
Source:
- src/gameobjects/Video.js line 86 + src/gameobjects/Video.js line 86 @@ -1540,7 +1540,84 @@
Type:
Source:
- src/gameobjects/Video.js line 113 + src/gameobjects/Video.js line 113 + + + + + + + +

+ + + +
+ + + +
+

+ onTouchUnlock : Phaser.Signal + +

+ +
+
+ +
+

This signal is dispatched when the Video is unlocked.

+
+ + + +
Type:
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + src/gameobjects/Video.js line 119 @@ -1618,7 +1695,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1274 + src/gameobjects/Video.js line 1292 @@ -1695,7 +1772,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1354 + src/gameobjects/Video.js line 1372 @@ -1772,7 +1849,91 @@
Type:
Source:
- src/gameobjects/Video.js line 1408 + src/gameobjects/Video.js line 1426 + + + + + + + +
+ + + +
+ + + +
+

+ playWhenUnlocked : boolean + +

+ +
+
+ +
+

Start playing the video when it's unlocked.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
+
    +
  • true
  • +
+
+ + + + + +
Source:
+
+ + src/gameobjects/Video.js line 126 @@ -1849,7 +2010,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1219 + src/gameobjects/Video.js line 1237 @@ -1926,7 +2087,7 @@
Type:
Source:
- src/gameobjects/Video.js line 155 + src/gameobjects/Video.js line 168 @@ -2010,7 +2171,7 @@
Type:
Source:
- src/gameobjects/Video.js line 161 + src/gameobjects/Video.js line 174 @@ -2096,7 +2257,7 @@
Type:
Source:
- src/gameobjects/Video.js line 149 + src/gameobjects/Video.js line 162 @@ -2175,7 +2336,7 @@
Type:
Source:
- src/gameobjects/Video.js line 295 + src/gameobjects/Video.js line 308 @@ -2252,7 +2413,7 @@
Type:
Source:
- src/gameobjects/Video.js line 270 + src/gameobjects/Video.js line 283 @@ -2329,7 +2490,7 @@
Type:
Source:
- src/gameobjects/Video.js line 276 + src/gameobjects/Video.js line 289 @@ -2413,7 +2574,7 @@
Type:
Source:
- src/gameobjects/Video.js line 119 + src/gameobjects/Video.js line 132 @@ -2490,7 +2651,7 @@
Type:
Source:
- src/gameobjects/Video.js line 81 + src/gameobjects/Video.js line 81 @@ -2567,7 +2728,7 @@
Type:
Source:
- src/gameobjects/Video.js line 70 + src/gameobjects/Video.js line 70 @@ -2644,7 +2805,7 @@
Type:
Source:
- src/gameobjects/Video.js line 130 + src/gameobjects/Video.js line 143 @@ -2721,7 +2882,7 @@
Type:
Source:
- src/gameobjects/Video.js line 135 + src/gameobjects/Video.js line 148 @@ -2798,7 +2959,7 @@
Type:
Source:
- src/gameobjects/Video.js line 1322 + src/gameobjects/Video.js line 1340 @@ -2875,7 +3036,7 @@
Type:
Source:
- src/gameobjects/Video.js line 58 + src/gameobjects/Video.js line 58 @@ -3013,7 +3174,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 817 + src/gameobjects/Video.js line 830 @@ -3391,7 +3552,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 846 + src/gameobjects/Video.js line 859 @@ -3615,7 +3776,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 967 + src/gameobjects/Video.js line 980 @@ -3724,7 +3885,7 @@

Source:
- src/gameobjects/Video.js line 630 + src/gameobjects/Video.js line 643 @@ -3882,7 +4043,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 318 + src/gameobjects/Video.js line 331 @@ -4041,7 +4202,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 514 + src/gameobjects/Video.js line 527 @@ -4255,7 +4416,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 537 + src/gameobjects/Video.js line 550 @@ -4364,7 +4525,7 @@

Source:
- src/gameobjects/Video.js line 1158 + src/gameobjects/Video.js line 1176 @@ -4600,7 +4761,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 1092 + src/gameobjects/Video.js line 1110 @@ -4819,7 +4980,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 642 + src/gameobjects/Video.js line 655 @@ -4928,7 +5089,7 @@

Source:
- src/gameobjects/Video.js line 1128 + src/gameobjects/Video.js line 1146 @@ -5014,7 +5175,7 @@

Source:
- src/gameobjects/Video.js line 872 + src/gameobjects/Video.js line 885 @@ -5099,7 +5260,7 @@

Source:
- src/gameobjects/Video.js line 1050 + src/gameobjects/Video.js line 1063 @@ -5336,7 +5497,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 344 + src/gameobjects/Video.js line 357 @@ -5449,7 +5610,7 @@

Source:
- src/gameobjects/Video.js line 737 + src/gameobjects/Video.js line 750 @@ -5559,7 +5720,7 @@

Source:
- src/gameobjects/Video.js line 1063 + src/gameobjects/Video.js line 1076 @@ -5774,7 +5935,7 @@
Parameters:
Source:
- src/gameobjects/Video.js line 579 + src/gameobjects/Video.js line 592 @@ -5817,9 +5978,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -5836,7 +5997,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -5865,7 +6026,7 @@
Parameters:
- + diff --git a/docs/Phaser.Weapon.html b/docs/Phaser.Weapon.html index bfbb54e15..e042a0742 100644 --- a/docs/Phaser.Weapon.html +++ b/docs/Phaser.Weapon.html @@ -6,7 +6,7 @@ Phaser CE Class: Weapon - + @@ -268,7 +268,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 41 + src/plugins/weapon/WeaponPlugin.js line 41 @@ -373,7 +373,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 476 + src/plugins/weapon/WeaponPlugin.js line 476 @@ -451,7 +451,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 462 + src/plugins/weapon/WeaponPlugin.js line 462 @@ -528,7 +528,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 454 + src/plugins/weapon/WeaponPlugin.js line 454 @@ -605,7 +605,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 447 + src/plugins/weapon/WeaponPlugin.js line 447 @@ -682,7 +682,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 490 + src/plugins/weapon/WeaponPlugin.js line 490 @@ -759,7 +759,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 469 + src/plugins/weapon/WeaponPlugin.js line 469 @@ -836,7 +836,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 483 + src/plugins/weapon/WeaponPlugin.js line 483 @@ -913,7 +913,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 391 + src/plugins/weapon/WeaponPlugin.js line 391 @@ -991,7 +991,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 57 + src/plugins/weapon/WeaponPlugin.js line 57 @@ -1069,7 +1069,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 65 + src/plugins/weapon/WeaponPlugin.js line 65 @@ -1149,7 +1149,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 297 + src/plugins/weapon/WeaponPlugin.js line 297 @@ -1229,7 +1229,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 177 + src/plugins/weapon/WeaponPlugin.js line 177 @@ -1309,7 +1309,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 187 + src/plugins/weapon/WeaponPlugin.js line 187 @@ -1387,7 +1387,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 131 + src/plugins/weapon/WeaponPlugin.js line 131 @@ -1466,7 +1466,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1313 + src/plugins/weapon/WeaponPlugin.js line 1313 @@ -1543,7 +1543,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1405 + src/plugins/weapon/WeaponPlugin.js line 1405 @@ -1624,7 +1624,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 252 + src/plugins/weapon/WeaponPlugin.js line 252 @@ -1705,7 +1705,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 150 + src/plugins/weapon/WeaponPlugin.js line 150 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 139 + src/plugins/weapon/WeaponPlugin.js line 139 @@ -1860,7 +1860,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 313 + src/plugins/weapon/WeaponPlugin.js line 313 @@ -1938,7 +1938,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 227 + src/plugins/weapon/WeaponPlugin.js line 227 @@ -2015,7 +2015,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 123 + src/plugins/weapon/WeaponPlugin.js line 123 @@ -2093,7 +2093,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 244 + src/plugins/weapon/WeaponPlugin.js line 244 @@ -2171,7 +2171,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 220 + src/plugins/weapon/WeaponPlugin.js line 220 @@ -2274,7 +2274,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1342 + src/plugins/weapon/WeaponPlugin.js line 1342 @@ -2353,7 +2353,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 212 + src/plugins/weapon/WeaponPlugin.js line 212 @@ -2432,7 +2432,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 236 + src/plugins/weapon/WeaponPlugin.js line 236 @@ -2509,7 +2509,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 49 + src/plugins/weapon/WeaponPlugin.js line 49 @@ -2593,7 +2593,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 194 + src/plugins/weapon/WeaponPlugin.js line 194 @@ -2672,7 +2672,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 203 + src/plugins/weapon/WeaponPlugin.js line 203 @@ -2750,7 +2750,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 158 + src/plugins/weapon/WeaponPlugin.js line 158 @@ -2829,7 +2829,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 167 + src/plugins/weapon/WeaponPlugin.js line 167 @@ -2907,7 +2907,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 116 + src/plugins/weapon/WeaponPlugin.js line 116 @@ -2986,7 +2986,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 108 + src/plugins/weapon/WeaponPlugin.js line 108 @@ -3065,7 +3065,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 83 + src/plugins/weapon/WeaponPlugin.js line 83 @@ -3149,7 +3149,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 90 + src/plugins/weapon/WeaponPlugin.js line 90 @@ -3229,7 +3229,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 100 + src/plugins/weapon/WeaponPlugin.js line 100 @@ -3310,7 +3310,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 384 + src/plugins/weapon/WeaponPlugin.js line 384 @@ -3389,7 +3389,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 337 + src/plugins/weapon/WeaponPlugin.js line 337 @@ -3469,7 +3469,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 356 + src/plugins/weapon/WeaponPlugin.js line 356 @@ -3548,7 +3548,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 346 + src/plugins/weapon/WeaponPlugin.js line 346 @@ -3627,7 +3627,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 74 + src/plugins/weapon/WeaponPlugin.js line 74 @@ -3705,7 +3705,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 372 + src/plugins/weapon/WeaponPlugin.js line 372 @@ -3786,7 +3786,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 364 + src/plugins/weapon/WeaponPlugin.js line 364 @@ -3866,7 +3866,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 411 + src/plugins/weapon/WeaponPlugin.js line 411 @@ -3945,7 +3945,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 401 + src/plugins/weapon/WeaponPlugin.js line 401 @@ -4023,7 +4023,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1430 + src/plugins/weapon/WeaponPlugin.js line 1430 @@ -4101,7 +4101,7 @@
Type:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1452 + src/plugins/weapon/WeaponPlugin.js line 1452 @@ -4411,7 +4411,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1250 + src/plugins/weapon/WeaponPlugin.js line 1250 @@ -4718,7 +4718,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 492 + src/plugins/weapon/WeaponPlugin.js line 492 @@ -4977,7 +4977,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1288 + src/plugins/weapon/WeaponPlugin.js line 1288 @@ -5062,7 +5062,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 643 + src/plugins/weapon/WeaponPlugin.js line 643 @@ -5390,7 +5390,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 855 + src/plugins/weapon/WeaponPlugin.js line 855 @@ -5561,7 +5561,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1130 + src/plugins/weapon/WeaponPlugin.js line 1130 @@ -5732,7 +5732,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1146 + src/plugins/weapon/WeaponPlugin.js line 1146 @@ -5937,7 +5937,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1160 + src/plugins/weapon/WeaponPlugin.js line 1160 @@ -6157,7 +6157,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 774 + src/plugins/weapon/WeaponPlugin.js line 774 @@ -6384,7 +6384,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 825 + src/plugins/weapon/WeaponPlugin.js line 825 @@ -6637,7 +6637,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 554 + src/plugins/weapon/WeaponPlugin.js line 554 @@ -6746,7 +6746,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 605 + src/plugins/weapon/WeaponPlugin.js line 605 @@ -6856,7 +6856,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 573 + src/plugins/weapon/WeaponPlugin.js line 573 @@ -6964,7 +6964,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 690 + src/plugins/weapon/WeaponPlugin.js line 690 @@ -7111,7 +7111,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 622 + src/plugins/weapon/WeaponPlugin.js line 622 @@ -7221,7 +7221,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 589 + src/plugins/weapon/WeaponPlugin.js line 589 @@ -7498,7 +7498,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1175 + src/plugins/weapon/WeaponPlugin.js line 1175 @@ -7793,7 +7793,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 1216 + src/plugins/weapon/WeaponPlugin.js line 1216 @@ -8054,7 +8054,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 742 + src/plugins/weapon/WeaponPlugin.js line 742 @@ -8356,7 +8356,7 @@
Parameters:
Source:
- src/plugins/weapon/WeaponPlugin.js line 709 + src/plugins/weapon/WeaponPlugin.js line 709 @@ -8464,7 +8464,7 @@

Source:
- src/plugins/weapon/WeaponPlugin.js line 662 + src/plugins/weapon/WeaponPlugin.js line 662 @@ -8507,9 +8507,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -8526,7 +8526,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -8555,7 +8555,7 @@

- + diff --git a/docs/Phaser.World.html b/docs/Phaser.World.html index ee6411f9f..17787b419 100644 --- a/docs/Phaser.World.html +++ b/docs/Phaser.World.html @@ -6,7 +6,7 @@ Phaser CE Class: World - + @@ -233,7 +233,7 @@

Parameters:
Source:
- src/core/World.js line 19 + src/core/World.js line 19 @@ -349,7 +349,7 @@
Type:
Source:
- src/core/World.js line 41 + src/core/World.js line 41 @@ -464,7 +464,7 @@
Properties:
Source:
- src/core/World.js line 51 + src/core/World.js line 51 @@ -579,7 +579,7 @@
Properties:
Source:
- src/core/World.js line 46 + src/core/World.js line 46 @@ -672,7 +672,7 @@
Type:
Source:
- src/core/Group.js line 93 + src/core/Group.js line 93 @@ -758,7 +758,7 @@
Type:
Source:
- src/core/Group.js line 3227 + src/core/Group.js line 3227 @@ -847,7 +847,7 @@
Type:
Source:
- src/core/Group.js line 2887 + src/core/Group.js line 2887 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 3050 + src/core/Group.js line 3050 @@ -1015,7 +1015,7 @@
Type:
Source:
- src/core/World.js line 30 + src/core/World.js line 30 @@ -1108,7 +1108,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 794 + src/pixi/display/DisplayObject.js line 794 @@ -1185,7 +1185,7 @@
Type:
Source:
- src/core/World.js line 35 + src/core/World.js line 35 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/core/Group.js line 279 + src/core/Group.js line 279 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/core/World.js line 311 + src/core/World.js line 311 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/core/World.js line 324 + src/core/World.js line 324 @@ -1522,7 +1522,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 24 + src/pixi/display/DisplayObjectContainer.js line 24 @@ -1616,7 +1616,7 @@
Type:
Source:
- src/core/Group.js line 129 + src/core/Group.js line 129 @@ -1703,7 +1703,7 @@
Type:
Source:
- src/core/Group.js line 137 + src/core/Group.js line 137 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 262 + src/core/Group.js line 262 @@ -1877,7 +1877,7 @@
Type:
Source:
- src/core/Group.js line 215 + src/core/Group.js line 215 @@ -1964,7 +1964,7 @@
Type:
Source:
- src/core/Group.js line 224 + src/core/Group.js line 224 @@ -2057,7 +2057,7 @@
Type:
Source:
- src/core/Group.js line 100 + src/core/Group.js line 100 @@ -2143,7 +2143,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 202 + src/pixi/display/DisplayObject.js line 202 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 741 + src/pixi/display/DisplayObject.js line 741 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/core/Group.js line 272 + src/core/Group.js line 272 @@ -2408,7 +2408,7 @@
Type:
Source:
- src/core/Group.js line 38 + src/core/Group.js line 38 @@ -2498,7 +2498,7 @@
Type:
Source:
- src/core/Group.js line 292 + src/core/Group.js line 292 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/core/World.js line 286 + src/core/World.js line 286 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 96 + src/pixi/display/DisplayObject.js line 96 @@ -2759,7 +2759,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 35 + src/pixi/display/DisplayObjectContainer.js line 35 @@ -2845,7 +2845,7 @@
Type:
Source:
- src/core/Group.js line 107 + src/core/Group.js line 107 @@ -2933,7 +2933,7 @@
Type:
Source:
- src/core/Group.js line 148 + src/core/Group.js line 148 @@ -3021,7 +3021,7 @@
Type:
Source:
- src/core/Group.js line 2966 + src/core/Group.js line 2966 @@ -3107,7 +3107,7 @@
Type:
Source:
- src/core/Group.js line 2870 + src/core/Group.js line 2870 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 706 + src/pixi/display/DisplayObject.js line 706 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/core/Group.js line 49 + src/core/Group.js line 49 @@ -3372,7 +3372,7 @@
Type:
Source:
- src/core/Group.js line 168 + src/core/Group.js line 168 @@ -3462,7 +3462,7 @@
Type:
Source:
- src/core/Group.js line 205 + src/core/Group.js line 205 @@ -3552,7 +3552,7 @@
Type:
Source:
- src/core/Group.js line 193 + src/core/Group.js line 193 @@ -3643,7 +3643,7 @@
Type:
Source:
- src/core/Group.js line 181 + src/core/Group.js line 181 @@ -3729,7 +3729,7 @@
Type:
Source:
- src/core/Group.js line 256 + src/core/Group.js line 256 @@ -3818,7 +3818,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 117 + src/pixi/display/DisplayObject.js line 117 @@ -3908,7 +3908,7 @@
Type:
Source:
- src/core/Group.js line 119 + src/core/Group.js line 119 @@ -3995,7 +3995,7 @@
Type:
Source:
- src/core/Group.js line 232 + src/core/Group.js line 232 @@ -4088,7 +4088,7 @@
Type:
Source:
- src/core/Group.js line 250 + src/core/Group.js line 250 @@ -4174,7 +4174,7 @@
Type:
Source:
- src/core/Group.js line 86 + src/core/Group.js line 86 @@ -4261,7 +4261,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 49 + src/pixi/display/DisplayObject.js line 49 @@ -4349,7 +4349,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 29 + src/pixi/display/DisplayObject.js line 29 @@ -4426,7 +4426,7 @@
Type:
Source:
- src/core/World.js line 337 + src/core/World.js line 337 @@ -4503,7 +4503,7 @@
Type:
Source:
- src/core/World.js line 359 + src/core/World.js line 359 @@ -4590,7 +4590,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 105 + src/pixi/display/DisplayObject.js line 105 @@ -4678,7 +4678,7 @@
Type:
Source:
- src/core/Group.js line 2994 + src/core/Group.js line 2994 @@ -4766,7 +4766,7 @@
Type:
Source:
- src/core/Group.js line 3211 + src/core/Group.js line 3211 @@ -4855,7 +4855,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 41 + src/pixi/display/DisplayObject.js line 41 @@ -4943,7 +4943,7 @@
Type:
Source:
- src/core/Group.js line 3022 + src/core/Group.js line 3022 @@ -5029,7 +5029,7 @@
Type:
Source:
- src/core/Group.js line 2853 + src/core/Group.js line 2853 @@ -5115,7 +5115,7 @@
Type:
Source:
- src/core/Group.js line 80 + src/core/Group.js line 80 @@ -5201,7 +5201,7 @@
Type:
Source:
- src/core/Group.js line 156 + src/core/Group.js line 156 @@ -5287,7 +5287,7 @@
Type:
Source:
- src/core/Group.js line 3220 + src/core/Group.js line 3220 @@ -5364,7 +5364,7 @@
Type:
Source:
- src/core/World.js line 261 + src/core/World.js line 261 @@ -5456,7 +5456,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 133 + src/pixi/display/DisplayObject.js line 133 @@ -5547,7 +5547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 163 + src/pixi/display/DisplayObject.js line 163 @@ -5638,7 +5638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 193 + src/pixi/display/DisplayObject.js line 193 @@ -5729,7 +5729,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 178 + src/pixi/display/DisplayObject.js line 178 @@ -5820,7 +5820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 148 + src/pixi/display/DisplayObject.js line 148 @@ -5906,7 +5906,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 663 + src/pixi/display/DisplayObject.js line 663 @@ -5999,7 +5999,7 @@
Type:
Source:
- src/core/Group.js line 3193 + src/core/Group.js line 3193 @@ -6092,7 +6092,7 @@
Type:
Source:
- src/core/Group.js line 3202 + src/core/Group.js line 3202 @@ -6179,7 +6179,7 @@
Type:
Source:
- src/core/Group.js line 57 + src/core/Group.js line 57 @@ -6417,7 +6417,7 @@
Parameters:
Source:
- src/core/Group.js line 348 + src/core/Group.js line 348 @@ -6695,7 +6695,7 @@
Parameters:
Source:
- src/core/Group.js line 1437 + src/core/Group.js line 1437 @@ -6937,7 +6937,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -7104,7 +7104,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 42 + src/pixi/display/DisplayObjectContainer.js line 42 @@ -7295,7 +7295,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 55 + src/pixi/display/DisplayObjectContainer.js line 55 @@ -7526,7 +7526,7 @@
Parameters:
Source:
- src/core/Group.js line 496 + src/core/Group.js line 496 @@ -7697,7 +7697,7 @@
Parameters:
Source:
- src/core/Group.js line 446 + src/core/Group.js line 446 @@ -8092,7 +8092,7 @@
Parameters:
Source:
- src/core/Group.js line 695 + src/core/Group.js line 695 @@ -8435,7 +8435,7 @@
Parameters:
Source:
- src/core/Group.js line 3078 + src/core/Group.js line 3078 @@ -8779,7 +8779,7 @@
Parameters:
Source:
- src/core/Group.js line 3120 + src/core/Group.js line 3120 @@ -8970,7 +8970,7 @@
Parameters:
Source:
- src/core/Group.js line 2056 + src/core/Group.js line 2056 @@ -9054,7 +9054,7 @@

Source:
- src/core/World.js line 60 + src/core/World.js line 60 @@ -9197,7 +9197,7 @@
Parameters:
Source:
- src/core/Group.js line 920 + src/core/Group.js line 920 @@ -9460,7 +9460,7 @@
Parameters:
Source:
- src/core/Group.js line 1653 + src/core/Group.js line 1653 @@ -9680,7 +9680,7 @@
Parameters:
Source:
- src/core/Group.js line 1569 + src/core/Group.js line 1569 @@ -9871,7 +9871,7 @@
Parameters:
Source:
- src/core/Group.js line 1603 + src/core/Group.js line 1603 @@ -10187,7 +10187,7 @@
Parameters:
Source:
- src/core/Group.js line 1367 + src/core/Group.js line 1367 @@ -10489,7 +10489,7 @@
Parameters:
Source:
- src/core/Group.js line 1403 + src/core/Group.js line 1403 @@ -10786,7 +10786,7 @@
Parameters:
Source:
- src/core/Group.js line 1230 + src/core/Group.js line 1230 @@ -10953,7 +10953,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 449 + src/pixi/display/DisplayObjectContainer.js line 449 @@ -11140,7 +11140,7 @@
Parameters:
Source:
- src/core/Group.js line 2477 + src/core/Group.js line 2477 @@ -11257,7 +11257,7 @@

Source:
- src/core/Group.js line 2503 + src/core/Group.js line 2503 @@ -11374,7 +11374,7 @@

Source:
- src/core/Group.js line 2491 + src/core/Group.js line 2491 @@ -11768,7 +11768,7 @@
Parameters:
Source:
- src/core/Group.js line 551 + src/core/Group.js line 551 @@ -12175,7 +12175,7 @@
Parameters:
Source:
- src/core/Group.js line 588 + src/core/Group.js line 588 @@ -12388,7 +12388,7 @@
Parameters:
Source:
- src/core/Group.js line 2032 + src/core/Group.js line 2032 @@ -12555,7 +12555,7 @@
Parameters:
Source:
- src/core/Group.js line 2088 + src/core/Group.js line 2088 @@ -12759,7 +12759,7 @@
Parameters:
Source:
- src/core/Group.js line 2816 + src/core/Group.js line 2816 @@ -12975,7 +12975,7 @@
Parameters:
Source:
- src/core/Group.js line 1488 + src/core/Group.js line 1488 @@ -13179,7 +13179,7 @@
Parameters:
Source:
- src/core/Group.js line 1814 + src/core/Group.js line 1814 @@ -13483,7 +13483,7 @@
Parameters:
Source:
- src/core/Group.js line 1854 + src/core/Group.js line 1854 @@ -13721,7 +13721,7 @@
Parameters:
Source:
- src/core/Group.js line 1936 + src/core/Group.js line 1936 @@ -13959,7 +13959,7 @@
Parameters:
Source:
- src/core/Group.js line 1964 + src/core/Group.js line 1964 @@ -14197,7 +14197,7 @@
Parameters:
Source:
- src/core/Group.js line 1908 + src/core/Group.js line 1908 @@ -14442,7 +14442,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 441 + src/pixi/display/DisplayObject.js line 441 @@ -14750,7 +14750,7 @@
Parameters:
Source:
- src/core/Group.js line 2557 + src/core/Group.js line 2557 @@ -14919,7 +14919,7 @@
Parameters:
Source:
- src/core/Group.js line 531 + src/core/Group.js line 531 @@ -15040,7 +15040,7 @@

Source:
- src/core/Group.js line 2372 + src/core/Group.js line 2372 @@ -15222,7 +15222,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 280 + src/pixi/display/DisplayObjectContainer.js line 280 @@ -15391,7 +15391,7 @@
Parameters:
Source:
- src/core/Group.js line 1055 + src/core/Group.js line 1055 @@ -15558,7 +15558,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 153 + src/pixi/display/DisplayObjectContainer.js line 153 @@ -15725,7 +15725,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 112 + src/pixi/display/DisplayObjectContainer.js line 112 @@ -15976,7 +15976,7 @@
Parameters:
Source:
- src/core/Group.js line 2389 + src/core/Group.js line 2389 @@ -16167,7 +16167,7 @@
Parameters:
Source:
- src/core/Group.js line 2208 + src/core/Group.js line 2208 @@ -16526,7 +16526,7 @@
Parameters:
Source:
- src/core/Group.js line 2256 + src/core/Group.js line 2256 @@ -16885,7 +16885,7 @@
Parameters:
Source:
- src/core/Group.js line 2286 + src/core/Group.js line 2286 @@ -17283,7 +17283,7 @@
Parameters:
Source:
- src/core/Group.js line 2222 + src/core/Group.js line 2222 @@ -17534,7 +17534,7 @@
Parameters:
Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17701,7 +17701,7 @@
Parameters:
Source:
- src/core/Group.js line 1042 + src/core/Group.js line 1042 @@ -17818,7 +17818,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 437 + src/pixi/display/DisplayObjectContainer.js line 437 @@ -18045,7 +18045,7 @@
Parameters:
Source:
- src/core/Group.js line 2515 + src/core/Group.js line 2515 @@ -18273,7 +18273,7 @@
Parameters:
Source:
- src/core/Group.js line 2537 + src/core/Group.js line 2537 @@ -18391,7 +18391,7 @@

Source:
- src/core/Group.js line 2355 + src/core/Group.js line 2355 @@ -18583,7 +18583,7 @@
Parameters:
Source:
- src/core/Group.js line 1117 + src/core/Group.js line 1117 @@ -18970,7 +18970,7 @@
Parameters:
Source:
- src/core/Group.js line 2113 + src/core/Group.js line 2113 @@ -19087,7 +19087,7 @@

Source:
- src/core/Group.js line 1505 + src/core/Group.js line 1505 @@ -19180,7 +19180,7 @@

Source:
- src/core/Group.js line 1518 + src/core/Group.js line 1518 @@ -19379,7 +19379,7 @@
Parameters:
Source:
- src/core/Group.js line 2651 + src/core/Group.js line 2651 @@ -19546,7 +19546,7 @@
Parameters:
Source:
- src/core/Group.js line 982 + src/core/Group.js line 982 @@ -19713,7 +19713,7 @@
Parameters:
Source:
- src/core/Group.js line 958 + src/core/Group.js line 958 @@ -19953,7 +19953,7 @@
Parameters:
Source:
- src/core/Group.js line 1471 + src/core/Group.js line 1471 @@ -20047,7 +20047,7 @@

Source:
- src/core/Group.js line 846 + src/core/Group.js line 846 @@ -20164,7 +20164,7 @@

Source:
- src/core/Group.js line 1793 + src/core/Group.js line 1793 @@ -20257,7 +20257,7 @@

Source:
- src/core/Group.js line 1726 + src/core/Group.js line 1726 @@ -20351,7 +20351,7 @@

Source:
- src/core/Group.js line 875 + src/core/Group.js line 875 @@ -20616,7 +20616,7 @@
Parameters:
Source:
- src/core/Group.js line 2603 + src/core/Group.js line 2603 @@ -20886,7 +20886,7 @@
Parameters:
Source:
- src/core/Group.js line 2680 + src/core/Group.js line 2680 @@ -21163,7 +21163,7 @@
Parameters:
Source:
- src/core/Group.js line 2728 + src/core/Group.js line 2728 @@ -21306,7 +21306,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 171 + src/pixi/display/DisplayObjectContainer.js line 171 @@ -21473,7 +21473,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 191 + src/pixi/display/DisplayObjectContainer.js line 191 @@ -21664,7 +21664,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 213 + src/pixi/display/DisplayObjectContainer.js line 213 @@ -21808,7 +21808,7 @@
Parameters:
Source:
- src/core/Group.js line 471 + src/core/Group.js line 471 @@ -22001,7 +22001,7 @@
Parameters:
Source:
- src/core/Group.js line 1078 + src/core/Group.js line 1078 @@ -22355,7 +22355,7 @@
Parameters:
Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -22661,7 +22661,7 @@
Parameters:
Source:
- src/core/Group.js line 2316 + src/core/Group.js line 2316 @@ -22849,7 +22849,7 @@
Parameters:
Source:
- src/core/Group.js line 819 + src/core/Group.js line 819 @@ -23033,7 +23033,7 @@
Parameters:
Source:
- src/core/World.js line 125 + src/core/World.js line 125 @@ -23127,7 +23127,7 @@

Source:
- src/core/Group.js line 1028 + src/core/Group.js line 1028 @@ -23220,7 +23220,7 @@

Source:
- src/core/Group.js line 1529 + src/core/Group.js line 1529 @@ -23313,7 +23313,7 @@

Source:
- src/core/Group.js line 1542 + src/core/Group.js line 1542 @@ -23516,7 +23516,7 @@
Parameters:
Source:
- src/core/Group.js line 2783 + src/core/Group.js line 2783 @@ -23659,7 +23659,7 @@
Parameters:
Source:
- src/core/Group.js line 939 + src/core/Group.js line 939 @@ -24075,7 +24075,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -24457,7 +24457,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24815,7 +24815,7 @@
Parameters:
Source:
- src/core/Group.js line 1326 + src/core/Group.js line 1326 @@ -25022,7 +25022,7 @@
Parameters:
Source:
- src/core/World.js line 94 + src/core/World.js line 94 @@ -25189,7 +25189,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 132 + src/pixi/display/DisplayObjectContainer.js line 132 @@ -25508,7 +25508,7 @@
Parameters:
Source:
- src/core/Group.js line 1152 + src/core/Group.js line 1152 @@ -25626,7 +25626,7 @@

Source:
- src/core/Group.js line 2802 + src/core/Group.js line 2802 @@ -25710,7 +25710,7 @@

Source:
- src/core/World.js line 161 + src/core/World.js line 161 @@ -25917,7 +25917,7 @@
Parameters:
Source:
- src/core/Group.js line 1992 + src/core/Group.js line 1992 @@ -26003,7 +26003,7 @@

Source:
- src/core/World.js line 76 + src/core/World.js line 76 @@ -26219,7 +26219,7 @@
Parameters:
Source:
- src/core/Group.js line 1454 + src/core/Group.js line 1454 @@ -26387,7 +26387,7 @@
Parameters:
Source:
- src/core/Group.js line 904 + src/core/Group.js line 904 @@ -26554,7 +26554,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 85 + src/pixi/display/DisplayObjectContainer.js line 85 @@ -26697,7 +26697,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 483 + src/pixi/display/DisplayObject.js line 483 @@ -26910,7 +26910,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 498 + src/pixi/display/DisplayObject.js line 498 @@ -27030,7 +27030,7 @@

Source:
- src/core/Group.js line 1765 + src/core/Group.js line 1765 @@ -27123,7 +27123,7 @@

Source:
- src/pixi/display/DisplayObject.js line 469 + src/pixi/display/DisplayObject.js line 469 @@ -27312,7 +27312,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 289 + src/pixi/display/DisplayObject.js line 289 @@ -27432,7 +27432,7 @@

Source:
- src/core/Group.js line 676 + src/core/Group.js line 676 @@ -27755,7 +27755,7 @@
Parameters:
Source:
- src/core/World.js line 173 + src/core/World.js line 173 @@ -28101,7 +28101,7 @@
Parameters:
Source:
- src/core/World.js line 246 + src/core/World.js line 246 @@ -28292,7 +28292,7 @@
Parameters:
Source:
- src/core/Group.js line 1006 + src/core/Group.js line 1006 @@ -28335,9 +28335,9 @@
Parameters:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -28354,7 +28354,7 @@
Parameters:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -28383,7 +28383,7 @@
Parameters:
- + diff --git a/docs/Phaser.html b/docs/Phaser.html index 239d2454d..81217d315 100644 --- a/docs/Phaser.html +++ b/docs/Phaser.html @@ -6,7 +6,7 @@ Phaser CE Namespace: Phaser - + @@ -157,7 +157,7 @@

Source:
- src/Phaser.js line 7 + src/Phaser.js line 7 @@ -555,7 +555,7 @@
Type:
Source:
- src/Phaser.js line 341 + src/Phaser.js line 341 @@ -632,7 +632,7 @@
Type:
Source:
- src/Phaser.js line 348 + src/Phaser.js line 348 @@ -709,7 +709,7 @@
Type:
Source:
- src/Phaser.js line 362 + src/Phaser.js line 362 @@ -786,7 +786,7 @@
Type:
Source:
- src/Phaser.js line 369 + src/Phaser.js line 369 @@ -863,7 +863,7 @@
Type:
Source:
- src/Phaser.js line 355 + src/Phaser.js line 355 @@ -940,7 +940,7 @@
Type:
Source:
- src/Phaser.js line 376 + src/Phaser.js line 376 @@ -1017,7 +1017,7 @@
Type:
Source:
- src/Phaser.js line 383 + src/Phaser.js line 383 @@ -1094,7 +1094,7 @@
Type:
Source:
- src/Phaser.js line 334 + src/Phaser.js line 334 @@ -1171,7 +1171,7 @@
Type:
Source:
- src/Phaser.js line 26 + src/Phaser.js line 26 @@ -1248,7 +1248,7 @@
Type:
Source:
- src/Phaser.js line 187 + src/Phaser.js line 187 @@ -1325,7 +1325,7 @@
Type:
Source:
- src/Phaser.js line 138 + src/Phaser.js line 138 @@ -1840,7 +1840,7 @@
Properties:
Source:
- src/Phaser.js line 481 + src/Phaser.js line 481 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/Phaser.js line 467 + src/Phaser.js line 467 @@ -1994,7 +1994,7 @@
Type:
Source:
- src/Phaser.js line 460 + src/Phaser.js line 460 @@ -2071,7 +2071,7 @@
Type:
Source:
- src/Phaser.js line 474 + src/Phaser.js line 474 @@ -2148,7 +2148,7 @@
Type:
Source:
- src/Phaser.js line 103 + src/Phaser.js line 103 @@ -2225,7 +2225,7 @@
Type:
Source:
- src/Phaser.js line 33 + src/Phaser.js line 33 @@ -2302,7 +2302,7 @@
Type:
Source:
- src/Phaser.js line 194 + src/Phaser.js line 194 @@ -2379,7 +2379,7 @@
Type:
Source:
- src/Phaser.js line 432 + src/Phaser.js line 432 @@ -2456,7 +2456,7 @@
Type:
Source:
- src/Phaser.js line 243 + src/Phaser.js line 243 @@ -2533,7 +2533,7 @@
Type:
Source:
- src/Phaser.js line 285 + src/Phaser.js line 285 @@ -2610,7 +2610,7 @@
Type:
Source:
- src/Phaser.js line 89 + src/Phaser.js line 89 @@ -2687,7 +2687,7 @@
Type:
Source:
- src/Phaser.js line 208 + src/Phaser.js line 208 @@ -2764,7 +2764,7 @@
Type:
Source:
- src/Phaser.js line 173 + src/Phaser.js line 173 @@ -2841,7 +2841,7 @@
Type:
Source:
- src/Phaser.js line 19 + src/Phaser.js line 19 @@ -2918,7 +2918,7 @@
Type:
Source:
- src/Phaser.js line 117 + src/Phaser.js line 117 @@ -2995,7 +2995,7 @@
Type:
Source:
- src/Phaser.js line 145 + src/Phaser.js line 145 @@ -3072,7 +3072,7 @@
Type:
Source:
- src/Phaser.js line 47 + src/Phaser.js line 47 @@ -3149,7 +3149,7 @@
Type:
Source:
- src/Phaser.js line 306 + src/Phaser.js line 306 @@ -3226,7 +3226,7 @@
Type:
Source:
- src/Phaser.js line 110 + src/Phaser.js line 110 @@ -3303,7 +3303,7 @@
Type:
Source:
- src/Phaser.js line 320 + src/Phaser.js line 320 @@ -3380,7 +3380,7 @@
Type:
Source:
- src/Phaser.js line 68 + src/Phaser.js line 68 @@ -3457,7 +3457,7 @@
Type:
Source:
- src/Phaser.js line 425 + src/Phaser.js line 425 @@ -3534,7 +3534,7 @@
Type:
Source:
- src/Phaser.js line 418 + src/Phaser.js line 418 @@ -3611,7 +3611,7 @@
Type:
Source:
- src/Phaser.js line 257 + src/Phaser.js line 257 @@ -3688,7 +3688,7 @@
Type:
Source:
- src/Phaser.js line 264 + src/Phaser.js line 264 @@ -3765,7 +3765,7 @@
Type:
Source:
- src/Phaser.js line 61 + src/Phaser.js line 61 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/Phaser.js line 299 + src/Phaser.js line 299 @@ -3919,7 +3919,7 @@
Type:
Source:
- src/Phaser.js line 271 + src/Phaser.js line 271 @@ -3996,7 +3996,7 @@
Type:
Source:
- src/Phaser.js line 229 + src/Phaser.js line 229 @@ -4073,7 +4073,7 @@
Type:
Source:
- src/Phaser.js line 180 + src/Phaser.js line 180 @@ -4150,7 +4150,7 @@
Type:
Source:
- src/Phaser.js line 327 + src/Phaser.js line 327 @@ -4227,7 +4227,7 @@
Type:
Source:
- src/Phaser.js line 250 + src/Phaser.js line 250 @@ -4304,7 +4304,7 @@
Type:
Source:
- src/Phaser.js line 152 + src/Phaser.js line 152 @@ -4381,7 +4381,7 @@
Type:
Source:
- src/Phaser.js line 222 + src/Phaser.js line 222 @@ -4458,7 +4458,7 @@
Type:
Source:
- src/Phaser.js line 75 + src/Phaser.js line 75 @@ -4535,7 +4535,7 @@
Type:
Source:
- src/Phaser.js line 453 + src/Phaser.js line 453 @@ -4612,7 +4612,7 @@
Type:
Source:
- src/Phaser.js line 446 + src/Phaser.js line 446 @@ -4689,7 +4689,7 @@
Type:
Source:
- src/Phaser.js line 439 + src/Phaser.js line 439 @@ -4766,7 +4766,7 @@
Type:
Source:
- src/Phaser.js line 236 + src/Phaser.js line 236 @@ -4843,7 +4843,7 @@
Type:
Source:
- src/Phaser.js line 278 + src/Phaser.js line 278 @@ -5039,7 +5039,7 @@
Properties:
Source:
- src/Phaser.js line 526 + src/Phaser.js line 526 @@ -5116,7 +5116,7 @@
Type:
Source:
- src/Phaser.js line 96 + src/Phaser.js line 96 @@ -5193,7 +5193,7 @@
Type:
Source:
- src/Phaser.js line 215 + src/Phaser.js line 215 @@ -5270,7 +5270,7 @@
Type:
Source:
- src/Phaser.js line 124 + src/Phaser.js line 124 @@ -5347,7 +5347,7 @@
Type:
Source:
- src/Phaser.js line 159 + src/Phaser.js line 159 @@ -5424,7 +5424,7 @@
Type:
Source:
- src/Phaser.js line 166 + src/Phaser.js line 166 @@ -5501,7 +5501,7 @@
Type:
Source:
- src/Phaser.js line 131 + src/Phaser.js line 131 @@ -5578,7 +5578,7 @@
Type:
Source:
- src/Phaser.js line 397 + src/Phaser.js line 397 @@ -5655,7 +5655,7 @@
Type:
Source:
- src/Phaser.js line 390 + src/Phaser.js line 390 @@ -5732,7 +5732,7 @@
Type:
Source:
- src/Phaser.js line 404 + src/Phaser.js line 404 @@ -5809,7 +5809,7 @@
Type:
Source:
- src/Phaser.js line 82 + src/Phaser.js line 82 @@ -5886,7 +5886,7 @@
Type:
Source:
- src/Phaser.js line 12 + src/Phaser.js line 12 @@ -5963,7 +5963,7 @@
Type:
Source:
- src/Phaser.js line 313 + src/Phaser.js line 313 @@ -6040,7 +6040,7 @@
Type:
Source:
- src/Phaser.js line 292 + src/Phaser.js line 292 @@ -6117,7 +6117,7 @@
Type:
Source:
- src/Phaser.js line 40 + src/Phaser.js line 40 @@ -6194,7 +6194,7 @@
Type:
Source:
- src/Phaser.js line 201 + src/Phaser.js line 201 @@ -6271,7 +6271,7 @@
Type:
Source:
- src/Phaser.js line 54 + src/Phaser.js line 54 @@ -6366,7 +6366,7 @@

Source:
- src/gameobjects/components/Component.js line 7 + src/gameobjects/components/Component.js line 7 @@ -6409,9 +6409,9 @@

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -6428,7 +6428,7 @@

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -6457,7 +6457,7 @@

- + diff --git a/docs/PhaserGlobal.html b/docs/PhaserGlobal.html index 4837ce363..15e397a04 100644 --- a/docs/PhaserGlobal.html +++ b/docs/PhaserGlobal.html @@ -6,7 +6,7 @@ Phaser CE Namespace: PhaserGlobal - + @@ -388,7 +388,7 @@

Properties:
Source:
- src/PhaserGlobal.js line 1 + src/PhaserGlobal.js line 1 @@ -431,9 +431,9 @@
Properties:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -450,7 +450,7 @@
Properties:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -479,7 +479,7 @@
Properties:
- + diff --git a/docs/classes.list.html b/docs/classes.list.html index 90ce4e653..3b9a9bf74 100644 --- a/docs/classes.list.html +++ b/docs/classes.list.html @@ -6,7 +6,7 @@ Phaser CE Classes - + @@ -770,9 +770,9 @@

Namespaces

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -789,7 +789,7 @@

Namespaces

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -818,7 +818,7 @@

Namespaces

- + diff --git a/docs/global.html b/docs/global.html index 09dcf3ae4..fcd1e2cb7 100644 --- a/docs/global.html +++ b/docs/global.html @@ -6,7 +6,7 @@ Phaser CE Global - + @@ -283,7 +283,7 @@
Type:
Source:
- src/core/Group.js line 3163 + src/core/Group.js line 3163 @@ -358,6 +358,82 @@
Properties:
+ + + GameConfig.alignH + + + + + +boolean + + + + + + + + + + <optional>
+ + + + + + + + + + false + + + + +

Sets Phaser.ScaleManager#pageAlignHorizontally.

+ + + + + + + GameConfig.alignV + + + + + +boolean + + + + + + + + + + <optional>
+ + + + + + + + + + false + + + + +

Sets Phaser.ScaleManager#pageAlignVertically.

+ + + + GameConfig.antialias @@ -407,6 +483,9 @@
Properties:
+number +| + string @@ -545,6 +624,44 @@
Properties:
+ + + GameConfig.crisp + + + + + +boolean + + + + + + + + + + <optional>
+ + + + + + + + + + false + + + + +

Sets the canvas's image-rendering property to pixelated or crisp-edges. See Phaser.Canvas.setImageRenderingCrisp.

+ + + + GameConfig.disableVisibilityChange @@ -583,6 +700,44 @@
Properties:
+ + + GameConfig.disableStart + + + + + +boolean + + + + + + + + + + <optional>
+ + + + + + + + + + false + + + + +

Prevents the game loop from starting, allowing you to call updates manually. Helpful for automated testing.

+ + + + GameConfig.enableDebug @@ -621,6 +776,42 @@
Properties:
+ + + GameConfig.failIfMajorPerformanceCaveat + + + + + +boolean + + + + + + + + + + <optional>
+ + + + + + + + + + + + +

Abort WebGL context creation if performance would be poor. You can use this with renderer AUTO.

+ + + + GameConfig.forceSetTimeout @@ -877,8 +1068,6 @@
Properties:
- null - @@ -1001,6 +1190,82 @@
Properties:
+ + + GameConfig.roundPixels + + + + + +boolean + + + + + + + + + + <optional>
+ + + + + + + + + + false + + + + +

Round pixel coordinates for rendering (rather than interpolating). Handy for crisp pixel art and speed on legacy devices.

+ + + + + + + GameConfig.scaleH + + + + + +number + + + + + + + + + + <optional>
+ + + + + + + + + + 1 + + + + +

Horizontal scaling factor for USER_SCALE scale mode.

+ + + + GameConfig.scaleMode @@ -1037,6 +1302,44 @@
Properties:
+ + + GameConfig.scaleV + + + + + +number + + + + + + + + + + <optional>
+ + + + + + + + + + 1 + + + + +

Vertical scaling factor for USER_SCALE scale mode.

+ + + + GameConfig.seed @@ -1101,8 +1404,6 @@
Properties:
- null - @@ -1149,6 +1450,82 @@
Properties:
+ + + GameConfig.trimH + + + + + +number + + + + + + + + + + <optional>
+ + + + + + + + + + 0 + + + + +

Horizontal trim for USER_SCALE scale mode.

+ + + + + + + GameConfig.trimV + + + + + +number + + + + + + + + + + <optional>
+ + + + + + + + + + 0 + + + + +

Vertical trim for USER_SCALE scale mode.

+ + + + GameConfig.width @@ -1225,7 +1602,7 @@
Properties:
Source:
- src/core/Game.js line 502 + src/core/Game.js line 525 @@ -1254,9 +1631,9 @@
Properties:

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1273,7 +1650,7 @@
Properties:

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1302,7 +1679,7 @@
Properties:
- + diff --git a/docs/index.html b/docs/index.html index 8b555c27d..24d5e4a16 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ Phaser CE Index - + @@ -983,9 +983,9 @@

Utils

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -1002,7 +1002,7 @@

Utils

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -1031,7 +1031,7 @@

Utils

- + diff --git a/docs/namespaces.list.html b/docs/namespaces.list.html index 66ab9d083..2fe0a256d 100644 --- a/docs/namespaces.list.html +++ b/docs/namespaces.list.html @@ -6,7 +6,7 @@ Phaser CE Namespaces - + @@ -770,9 +770,9 @@

Namespaces

- phaser-ce@2.9.4 + phaser-ce@2.10.0 is on - GitHub + GitHub and NPM

@@ -789,7 +789,7 @@

Namespaces

Documentation generated by JSDoc 3.5.4 - on 2017-12-20 + on 2018-01-18 using Tomorrow.

@@ -818,7 +818,7 @@

Namespaces

- + diff --git a/typescript/phaser.comments.d.ts b/typescript/phaser.comments.d.ts index c122035a5..bc42408b3 100644 --- a/typescript/phaser.comments.d.ts +++ b/typescript/phaser.comments.d.ts @@ -895,19 +895,6 @@ declare module Phaser { * @return The nearest value found. */ static findClosest(value: number, arr: number[]): number; - - /** - * Moves the element from the start of the array to the end, shifting all items in the process. - * The "rotation" happens to the left. - * - * Before: `[ A, B, C, D, E, F ]` - * After: `[ B, C, D, E, F, A ]` - * - * See also Phaser.ArrayUtils.rotateRight - * - * @param array The array to rotate. The array is modified. - * @return The rotated value. - */ static rotate(array: any[]): any; /** @@ -4306,7 +4293,9 @@ declare module Phaser { static setImageRenderingBicubic(canvas: HTMLCanvasElement): HTMLCanvasElement; /** - * Sets the CSS image-rendering property on the given canvas to be 'crisp' (aka 'optimize contrast' on webkit). + * Sets the CSS image-rendering property to `pixelated` or `crisp-edges`. + * This can remove blurring when the game canvas is scaled up. + * In some browsers this has no visible effect in WEBGL mode. * Note that if this doesn't given the desired result then see the setSmoothingEnabled. * * @param canvas The canvas to set image-rendering crisp on. @@ -4671,6 +4660,66 @@ declare module Phaser { class Color { + /** + * Aqua (0x00ffff) + * Default: 65535 + */ + static AQUA: number; + + /** + * Black (0x000000) + */ + static BLACK: number; + + /** + * Blue (0x0000ff) + * Default: 255 + */ + static BLUE: number; + + /** + * Gray (0x666666) + * Default: 6710886 + */ + static GRAY: number; + + /** + * Green (0x00ff00) + * Default: 65280 + */ + static GREEN: number; + + /** + * Orange (0xff9900) + * Default: 16750848 + */ + static ORANGE: number; + + /** + * Red (0xff0000) + * Default: 16711680 + */ + static RED: number; + + /** + * Violet/purple (0xff00ff) + * Default: 16711935 + */ + static VIOLET: number; + + /** + * White (0xffffff) + * Default: 16777215 + */ + static WHITE: number; + + /** + * Yellow (0xffff00) + * Default: 16776960 + */ + static YELLOW: number; + + /** * Return a string containing a hex representation of the given color component. * @@ -5596,11 +5645,6 @@ declare module Phaser { * @return True if the given file type is supported by the browser, otherwise false. */ static canPlayVideo(type: string): boolean; - - /** - * Returns false. - * @return false - */ static isConsoleOpen(): boolean; /** @@ -5944,15 +5988,10 @@ declare module Phaser { webAudio: boolean; /** - * Is webGL (and stencil support) available? + * Is webGL available? */ webGL: boolean; - /** - * Any error raised while creating a test {@link Phaser.Device#webGL webGL} context. - */ - webGLError: Error; - /** * Can this device play webm files? */ @@ -7603,15 +7642,21 @@ declare module Phaser { interface IGameConfig { - backgroundColor?: string; + alignH?: boolean; + alignV?: boolean; + antialias?: boolean; + backgroundColor?: number | string; canvas?: HTMLCanvasElement; canvasId?: string; canvasStyle?: string; + crisp?: boolean; disableVisibilityChange?: boolean; - fullScreenScaleMode?: number; - antialias?: boolean; + disableStart?: boolean; enableDebug?: boolean; + failIfMajorPerformanceCaveat?: boolean; forceSetTimeOut?: boolean; + fullScreenScaleMode?: number; + fullScreenTarget?: HTMLElement; height?: number | string; multiTexture?: boolean; parent?: HTMLElement | string; @@ -7619,10 +7664,15 @@ declare module Phaser { preserveDrawingBuffer?: boolean; renderer?: number; resolution?: number; + roundPixels?: boolean; + scaleH?: number; scaleMode?: number; + scaleV?: number seed?: number; - state?: any; // Phaser.State | function | object + state?: any; transparent?: boolean; + trimH?: number; + trimV?: number; width?: number | string; } @@ -7879,6 +7929,11 @@ declare module Phaser { */ device: Phaser.Device; + /** + * When {@link Phaser.Game#forceSingleUpdate forceSingleUpdate} is off, skip {@link #updateRender rendering} if logic updates are spiraling upwards. + */ + dropFrames: boolean; + /** * Should the game loop force a logic update, regardless of the delta timer? You can toggle it on the fly. */ @@ -7981,6 +8036,11 @@ declare module Phaser { */ paused: boolean; + /** + * Destroy the game at the next update. + */ + pendingDestroy: boolean; + /** * An internal property used by enableStep, but also useful to query from your own game objects. */ @@ -8079,13 +8139,13 @@ declare module Phaser { tweens: Phaser.TweenManager; /** - * The ID of the current/last logic update applied this render frame, starting from 0. + * The ID of the current/last logic update applied this animation frame, starting from 0. * The first update is `currentUpdateID === 0` and the last update is `currentUpdateID === updatesThisFrame.` */ currentUpdateID: number; /** - * Number of logic updates expected to occur this render frame; will be 1 unless there are catch-ups required (and allowed). + * Number of logic updates expected to occur this animation frame; will be 1 unless there are catch-ups required (and allowed). */ updatesThisFrame: number; @@ -8115,6 +8175,8 @@ declare module Phaser { * * Then sets all of those local handlers to null, destroys the renderer, removes the canvas from the DOM * and resets the PIXI default renderer. + * + * To destroy the game during an update callback, set {@link Phaser.Game#pendingDestroy pendingDestroy} instead. */ destroy(): void; @@ -9006,7 +9068,11 @@ declare module Phaser { * Local reference to game. */ game: Phaser.Game; - onAxisCallBack: Function; + + /** + * This callback is invoked every time any gamepad axis is changed. + */ + onAxisCallback: Function; /** * This callback is invoked every time any gamepad is connected @@ -9515,7 +9581,7 @@ declare module Phaser { right: number; /** - * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF to reset the tint. + * The tint applied to the graphic shape. This is a hex value. Apply a value of 0xFFFFFF (Phaser.Color.WHITE) to reset the tint. * Default: 0xFFFFFF */ tint: number; @@ -12251,7 +12317,12 @@ declare module Phaser { * A point object representing the current position of the Pointer. */ position: Phaser.Point; - pointer: Phaser.Pointer[]; + + /** + * An array of non-mouse pointers that have been added to the game. + * The properties `pointer1..N` are aliases for `pointers[0..N-1]`. + */ + pointers: Phaser.Pointer[]; /** * The total number of entries that can be recorded into the Pointer objects tracking history. @@ -14256,12 +14327,6 @@ declare module Phaser { * If true all calls to Loader.reset will be ignored. Useful if you need to create a load queue before swapping to a preloader state. */ resetLocked: boolean; - - /** - * If true and if the browser supports XDomainRequest, it will be used in preference for XHR. - * - * This is only relevant for IE 9 and should _only_ be enabled for IE 9 clients when required by the server/CDN. - */ useXDomainRequest: boolean; @@ -15150,6 +15215,10 @@ declare module Phaser { * @return The transformed url. In rare cases where the url isn't specified it will return false instead. */ transformUrl(url: string, file?: any): string; + + /** + * Update the loading sprite progress. + */ updateProgress(): void; /** @@ -15231,20 +15300,6 @@ declare module Phaser { */ xhrLoad(file: any, url: string, type: string, onload: Function, onerror?: Function): void; - /** - * Starts the xhr loader - using XDomainRequest. - * This should _only_ be used with IE 9. Phaser does not support IE 8 and XDR is deprecated in IE 10. - * - * This is designed specifically to use with asset file processing. - * - * @param file The file/pack to load. - * @param url The URL of the file. - * @param type The xhr responseType. - * @param onload The function to call on success. Invoked in `this` context and supplied with `(file, xhr)` arguments. - * @param onerror The function to call on error. Invoked in `this` context and supplied with `(file, xhr)` arguments. - Default: fileError - */ - xhrLoadWithXDR(file: any, url: string, type: string, onload: Function, onerror?: Function): void; - /** * Successfully loaded an XML file - only used for certain types. * @@ -16661,13 +16716,13 @@ declare module Phaser { /** - * Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it. + * Phaser.Particles tracks any Emitters attached to it. */ class Particles { /** - * Phaser.Particles is the Particle Manager for the game. It is called during the game update loop and in turn updates any Emitters attached to it. + * Phaser.Particles tracks any Emitters attached to it. * * @param game A reference to the currently running game. */ @@ -16704,12 +16759,6 @@ declare module Phaser { * @param emitter The emitter to remove. */ remove(emitter: Phaser.Particles.Arcade.Emitter): void; - - /** - * Updates all Emitters who have their exists value set to true. - * - * Phaser no longer uses this method; Emitters receive updates via {@link Phaser.Stage#update} instead. - */ update(): void; } @@ -17454,6 +17503,12 @@ declare module Phaser { */ playing: boolean; + /** + * Start playing the video when it's unlocked. + * Default: true + */ + playWhenUnlocked: boolean; + /** * Gets or sets if the Video is set to loop. * Please note that at present some browsers (i.e. Chrome) do not support *seamless* video looping. @@ -17533,6 +17588,11 @@ declare module Phaser { * This signal is dispatched when the Video completes playback, i.e. enters an 'ended' state. On iOS specifically it also fires if the user hits the 'Done' button at any point during playback. Videos set to loop will never dispatch this signal. */ onComplete: Phaser.Signal; + + /** + * This signal is dispatched when the Video is unlocked. + */ + onTouchUnlock: Phaser.Signal; onUpdate: Phaser.Signal; /** @@ -17794,6 +17854,7 @@ declare module Phaser { /** * A value added to the delta values during collision checks. + * Default: 4 */ static OVERLAP_BIAS: number; static TILE_BIAS: number; @@ -22851,6 +22912,12 @@ declare module Phaser { */ rotate(x: number, y: number, angle: number, asDegrees?: boolean, distance?: number): Phaser.Point; + /** + * Math.round() both the x and y properties of this Point. + * @return This Point object. + */ + round(): Phaser.Point; + /** * Make this Point perpendicular (-90 degrees rotation) * @return This Point object. @@ -23438,9 +23505,9 @@ declare module Phaser { flattened: boolean; /** - * Sets and modifies the points of this polygon. + * The points of this polygon. * - * See {@link Phaser.Polygon#setTo setTo} for the different kinds of arrays formats that can be assigned. The array of vertex points. + * You can modify these with {@link Phaser.Polygon#setTo setTo}. The array of vertex points. */ points: number[] | Phaser.Point[]; @@ -26077,48 +26144,48 @@ declare module Phaser { name: string; /** - * The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files) + * The onDecoded event is dispatched when the sound has finished decoding (typically for mp3 files). It passes one argument, this sound. */ onDecoded: Phaser.Signal; onEndedHandler: () => void; /** - * The onFadeComplete event is dispatched when this sound finishes fading either in or out. + * The onFadeComplete event is dispatched when this sound finishes fading either in or out. It passes two arguments: this sound and its current {@link Phaser.Sound#volume volume}. */ onFadeComplete: Phaser.Signal; /** - * The onLoop event is dispatched when this sound loops during playback. + * The onLoop event is dispatched when this sound loops during playback. It passes one argument, this sound. */ onLoop: Phaser.Signal; /** - * The onMarkerComplete event is dispatched when a marker within this sound completes playback. + * The onMarkerComplete event is dispatched when a marker within this sound completes playback. It passes two arguments: the {@link Phaser.Sound#currentMarker currentMarker} and this sound. */ onMarkerComplete: Phaser.Signal; /** - * The onMute event is dispatched when this sound is muted. + * The onMute event is dispatched when this sound is muted. It passes one argument, this sound. */ onMute: Phaser.Signal; /** - * The onPause event is dispatched when this sound is paused. + * The onPause event is dispatched when this sound is paused. It passes one argument, this sound. */ onPause: Phaser.Signal; /** - * The onPlay event is dispatched each time this sound is played. + * The onPlay event is dispatched each time this sound is played or a looping marker is restarted. It passes one argument, this sound. */ onPlay: Phaser.Signal; /** - * The onResume event is dispatched when this sound is resumed from a paused state. + * The onResume event is dispatched when this sound is resumed from a paused state. It passes one argument, this sound. */ onResume: Phaser.Signal; /** - * The onStop event is dispatched when this sound stops playback. + * The onStop event is dispatched when this sound stops playback or when a non-looping marker completes. It passes two arguments: this sound and any {@link #currentMarker marker} that was playing. */ onStop: Phaser.Signal; @@ -26480,6 +26547,12 @@ declare module Phaser { */ remove(sound: Phaser.Sound): boolean; + /** + * Removes all Sounds from the SoundManager. + * The removed Sounds are destroyed before removal. + */ + removeAll(): void; + /** * Removes all Sounds from the SoundManager that have an asset key matching the given value. * The removed Sounds are destroyed before removal. @@ -27658,6 +27731,11 @@ declare module Phaser { * A scale mode that allows a custom scale factor - see {@link Phaser.ScaleManager#scaleMode scaleMode}. */ static USER_SCALE: number; + + /** + * Names of the scale modes, indexed by value. + */ + static MODES: string[]; /** @@ -29775,6 +29853,7 @@ declare module Phaser { * Indicating collide with any object on the top. */ collideUp: boolean; + debug: boolean; /** * Is the bottom of this tile an interesting edge? @@ -31742,9 +31821,12 @@ declare module Phaser { advancedTiming: boolean; /** - * The desired frame rate of the game. + * The number of logic updates per second. * - * This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. The desired frame rate of the game. Defaults to 60. + * This is used is used to calculate the physic / logic multiplier and how to apply catch-up logic updates. + * + * The render rate is unaffected unless you also turn off {@link Phaser.Game#forceSingleRender}. + * Default: 60 */ desiredFps: number; @@ -31758,6 +31840,8 @@ declare module Phaser { * * This value _may_ include time that the game is paused/inactive. * + * While the game is active, this will be similar to (1000 / {@link Phaser.Time#fps fps}). + * * _Note:_ This is updated only once per game loop - even if multiple logic update steps are done. * Use {@link Phaser.Timer#physicsTime physicsTime} as a basis of game/logic calculations instead. */ @@ -31802,7 +31886,7 @@ declare module Phaser { fpsMin: number; /** - * Advanced timing result: The number of render frames record in the last second. + * Advanced timing result: The number of animation frames received from the browser in the last second. * * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. */ @@ -31870,6 +31954,20 @@ declare module Phaser { */ prevTime: number; + /** + * Advanced timing result: The number of {@link Phaser.Game#updateRender renders} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + */ + renders: number; + + /** + * Advanced timing result: Renders per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + */ + rps: number; + /** * Scaling factor to make the game move smoothly in slow motion (or fast motion) * @@ -31905,6 +32003,20 @@ declare module Phaser { * The value that setTimeout needs to work out when to next update */ timeToCall: number; + + /** + * Advanced timing result: The number of {@link Phaser.Game#updateLogic logic updates} made in the last second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + */ + updates: number; + + /** + * Advanced timing result: Logic updates per second. + * + * Only calculated if {@link Phaser.Time#advancedTiming advancedTiming} is enabled. + */ + ups: number; /** @@ -32367,15 +32479,7 @@ declare module Phaser { touchStartCallback: Function; touchLockCallbacks: Function[]; - - /** - * Adds a callback that is fired when a browser touchstart or touchend event is received. - */ addTouchLockCallback(callback: Function, context?: any, onEnd?: boolean): void; - - /** - * Removes the callback at the defined index from the touchLockCallbacks array. - */ removeTouchLockCallback(callback: Function, context?: any): boolean; /** @@ -33570,6 +33674,21 @@ declare module Phaser { */ line(...args: string[]): void; + /** + * Prints the progress of a {@link Phaser.Loader}. + * + * Typically you would call this within a {@link State#loadRender} callback and pass `game.load` ({@link Phaser.Game#load}). + * + * You can enable {@link Phaser.Loader#resetLocked} to temporarily hold the loader in its 'complete' state. + * Just remember to disable it before restarting the loader (such as when changing states). + * + * @param loader The loader. Usually `game.load` ({@link Phaser.Game#load}). + * @param x The X value the debug info will start from. + * @param y The Y value the debug info will start from. + * @param color The color the debug text will drawn in. - Default: 'rgb(255,255,255)' + */ + loader(loader: Phaser.Loader, x: number, y: number, color?: string): void; + /** * Prints Phaser {@link Phaser.VERSION version}, {@link Phaser.Game.#renderType rendering mode}, and {@link Phaser.Device#webAudio device audio support}. * @@ -33655,6 +33774,24 @@ declare module Phaser { */ ropeSegments(rope: Phaser.Rope, color?: number, filled?: boolean): void; + /** + * Render Sound Manager information, including volume, mute, audio mode, and locked status. + * + * @param x X position of the debug info to be rendered. + * @param y Y position of the debug info to be rendered. + * @param color color of the debug info to be rendered. (format is css color string). - Default: 'rgb(255,255,255)' + */ + sound(x: number, y: number, color?: string): void; + + /** + * Prints game/canvas dimensions and {@link Phaser.ScaleManager game scale} settings. + * + * @param x The X value the debug info will start from. + * @param y The Y value the debug info will start from. + * @param color The color the debug text will drawn in. - Default: 'rgb(255,255,255)' + */ + scale(x: number, y: number, color?: string): void; + /** * Render Sound information, including decoded state, duration, volume and more. * diff --git a/typescript/pixi.comments.d.ts b/typescript/pixi.comments.d.ts index acb4f813c..8aab7db30 100644 --- a/typescript/pixi.comments.d.ts +++ b/typescript/pixi.comments.d.ts @@ -1389,7 +1389,7 @@ declare module PIXI { texture: Texture; /** - * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF will remove any tint effect. + * The tint applied to the sprite. This is a hex value. A value of 0xFFFFFF (Phaser.Color.WHITE) will remove any tint effect. * Default: 0xFFFFFF */ tint: number;